10DLC Brands
Register and manage 10DLC brands through TNID: API keys, draft and submit flows, statuses, listing and sharing brands with partner companies.
10DLC is the US carrier registration system for application-to-person messaging on local numbers. A brand is the registered business that sends messages; campaigns (next page) describe what it sends. TNID submits brands and campaigns to The Campaign Registry (TCR) for you and tracks their status.
1. Register a 10DLC API key
Brands and campaigns are submitted under a 10DLC (TCR) API key. Register the key with TNID once; it must be a key provisioned for this purpose only, not shared with another integration.
mutation ($name: String!, $apiKey: String!, $apiKeySecret: String!) {
addTenDlcApiKey(name: $name, apiKey: $apiKey, apiKeySecret: $apiKeySecret) {
apiKeyId
companyId
name
}
}Related: tenDlcApiKeys lists your keys, updateTenDlcApiKey renames one, deleteTenDlcApiKey removes one.
Sharing a key with a partner. A company that owns a key can let another company register brands and campaigns under it with authorizeTenDlcApiKey(apiKeyId, authorizedCompanyId), see the authorizations with tenDlcApiKeyAuthorizations, and withdraw with revokeTenDlcApiKeyAuthorization. The authorized company then sees those brands and campaigns with ownershipType other than DIRECT.
2. Brand lifecycle
DRAFT
Saved in TNID, not sent to TCR. Edit freely.
PENDING_REVIEW
Submitted to TCR, awaiting verification.
ACTIVE
Verified. Campaigns can be submitted against it.
REJECTED
TCR rejected the brand. Fix the data and resubmit with updateAndSubmitTenDlcBrand.
EXPIRED
Registration lapsed.
Two ways in:
Draft first (recommended when data arrives in pieces):
registerTenDlcBrandAsDraft(input)creates aDRAFT;updateTenDlcBrandAsDraft(id, input)edits it;updateAndSubmitTenDlcBrand(id, input)submits it.One shot:
registerAndSubmitTenDlcBrand(input)creates and submits in a single call.
The response status is PENDING_REVIEW; brandId is the TCR identifier (for example BAXKPHB). Poll tenDlcBrand(id) or list with tenDlcBrands until status is ACTIVE, then submit campaigns. workflowStatus (for example VERIFIED) reflects TCR's own verification workflow.
Allowed values for entityType, brandRelationship, vertical and the status enums are listed under Enums in the API Reference.
3. Find and inspect brands
10DLC lists use page-number pagination (page, pageSize, totalRecords) rather than the cursor style used elsewhere; see Pagination. tenDlcBrand(id) returns one brand with its full address and contact fields. deleteTenDlcBrand(id) removes a brand from TNID.
What to read next
10DLC Campaigns: describe the messaging use case and attach numbers.
Webhooks: get notified instead of polling.
API Reference: all 23 10DLC operations.
Last updated