Create or look up brand registration for 10DLC virtual numbers
Registration (1.0)
Service for creating and listing US 10DLC brand and campaign registrations and TFN Verifications.
The US brand and campaign registration API is an asynchronous process. Most brands and campaign registrations will be completed in a few minutes, but in some scenarios, the process can take several days. The initial release will not include a webhook service, therefore you will need to poll the result of the brand and campaign registrations. We suggest doing this every hour until the registration status is "Approved" or "Rejected".
| 10DLC Registration steps | ||||
|---|---|---|---|---|
| Client submits brand registration | → | brandRegistrations | → | Sinch |
| Client gets back brandRegistrationId | ← | {brandRegistrationId} | ← | Sinch |
| Client polls using brandRegistrationId | → | brandRegistrations/{brandRegistrationId} | → | Sinch |
| Client gets back TCR Brand ID | ← | {brandId} | ← | Sinch |
| Client checks use-case | → | campaignRegistration:qualify | → | Sinch |
| Client submits campaign registration | → | campaignRegistration:submit | → | Sinch |
| Client gets back campaignRegistrationId | ← | {campaignRegistrationId} | ← | Sinch |
| Client polls using campaignRegistrationId | → | campaignRegistrations/{campaignRegistrationId} | → | Sinch |
| Client gets back TCR campaign ID | ← | campaignId | ← | Sinch |
Request
Create a 10DLC brand registration at TCR (The Campaign Registry). There are 2 types of registrations:
- Simplified Registration - only verifies your brand.
- Full Registration - performs a vetting and grants a vetted verified brand.
Sinch uses projects to group resources such as contacts and apps together to manage and connect a unique set of keys and secret IDs for all your Sinch API products. To identify a project, it is given a unique alphanumeric identifier that ties it to your account. Your project ID can be found in the Customer Dashboard.
The request body to of the brand to be created
- SIMPLIFIED: Simplified Registration costs 10USD and will only verify your brand. - FULL: Full Registration will cost 50USD but perform an vetting and grant a vetted verified brand.
| Enum Value | Description |
|---|---|
| SIMPLIFIED | Simplified Registration costs 10USD and will only verify your brand. |
| FULL | Full Registration will cost 50USD but perform a vetting and grant a vetted verified brand. |
| BRAND_REGISTRATION_TYPE_UNSPECIFIED | Type not specified. |
- HTTP 10DLC API Server (Default(US))https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations:submit
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations:submit' \
-H 'Content-Type: application/json' \
-d '{
"displayName": "string",
"brandRegistrationType": "SIMPLIFIED",
"companyDetails": {
"companyName": "string",
"companyEmail": "string",
"businessContactEmail": "string",
"brandName": "string",
"country": "string",
"streetAddress": "string",
"city": "string",
"postalCode": "string",
"state": "string",
"webAddress": "string"
},
"financialDetails": {
"brandEntityType": "PUBLIC",
"brandVerticalType": "PROFESSIONAL",
"taxIdCountry": "string",
"taxIdCorporate": "string",
"stockSymbol": "string",
"exchange": "string"
},
"contactDetails": {
"firstName": "string",
"lastName": "string",
"phoneNumber": "string",
"email": "string"
},
"mock": true
}'{ "brandRegistrationId": "string" }
Sinch uses projects to group resources such as contacts and apps together to manage and connect a unique set of keys and secret IDs for all your Sinch API products. To identify a project, it is given a unique alphanumeric identifier that ties it to your account. Your project ID can be found in the Customer Dashboard.
- HTTP 10DLC API Server (Default(US))https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
'https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations'{ "brandRegistrations": [ { … } ], "nextPageToken": "string", "totalSize": 0 }
Sinch uses projects to group resources such as contacts and apps together to manage and connect a unique set of keys and secret IDs for all your Sinch API products. To identify a project, it is given a unique alphanumeric identifier that ties it to your account. Your project ID can be found in the Customer Dashboard.
- HTTP 10DLC API Server (Default(US))https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
'https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}'A successful response.
- DRAFT: Registration has not yet been submitted. Only feasible when creating a brand registration in dashboard.sinch.com - IN_PROGRESS: Registration had been submitted for review - REJECTED: Registration has been rejected. Please contact your account manager for further information - APPROVED: Brand registration has been completed - UPGRADE: The Brand is being upgraded to FULL registration
| Enum Value | Description |
|---|---|
| DRAFT | Registration has not yet been submitted. |
| IN_PROGRESS | Registration had been submitted for review. |
| REJECTED | Registration has been rejected. |
| APPROVED | Brand registration has been completed. |
| UPGRADE | Brand is being upgraded to FULL registration. |
- SIMPLIFIED: Simplified Registration costs 10USD and will only verify your brand. - FULL: Full Registration will cost 50USD but perform an vetting and grant a vetted verified brand.
| Enum Value | Description |
|---|---|
| SIMPLIFIED | Simplified Registration costs 10USD and will only verify your brand. |
| FULL | Full Registration will cost 50USD but perform a vetting and grant a vetted verified brand. |
| BRAND_REGISTRATION_TYPE_UNSPECIFIED | Type not specified. |
{ "brandRegistrationId": "string", "brandId": "string", "identityStatus": "string", "displayName": "string", "brandRegistrationStatus": "DRAFT", "brandRegistrationType": "SIMPLIFIED", "companyDetails": { "companyName": "string", "companyEmail": "string", "businessContactEmail": "string", "brandName": "string", "country": "string", "streetAddress": "string", "city": "string", "postalCode": "string", "state": "string", "webAddress": "string" }, "financialDetails": { "brandEntityType": "PUBLIC", "brandVerticalType": "PROFESSIONAL", "taxIdCountry": "string", "taxIdCorporate": "string", "stockSymbol": "string", "exchange": "string" }, "contactDetails": { "firstName": "string", "lastName": "string", "phoneNumber": "string", "email": "string" }, "mock": true }
- HTTP 10DLC API Server (Default(US))https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
-u <username>:<password> \
'https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}' \
-H 'Content-Type: application/json' \
-d '{
"companyDetails": {
"companyName": "string",
"companyEmail": "string",
"businessContactEmail": "string",
"brandName": "string",
"country": "string",
"streetAddress": "string",
"city": "string",
"postalCode": "string",
"state": "string",
"webAddress": "string"
},
"financialDetails": {
"brandEntityType": "PUBLIC",
"brandVerticalType": "PROFESSIONAL",
"taxIdCountry": "string",
"taxIdCorporate": "string",
"stockSymbol": "string",
"exchange": "string"
},
"contactDetails": {
"firstName": "string",
"lastName": "string",
"phoneNumber": "string",
"email": "string"
}
}'A successful response.
- DRAFT: Registration has not yet been submitted. Only feasible when creating a brand registration in dashboard.sinch.com - IN_PROGRESS: Registration had been submitted for review - REJECTED: Registration has been rejected. Please contact your account manager for further information - APPROVED: Brand registration has been completed - UPGRADE: The Brand is being upgraded to FULL registration
| Enum Value | Description |
|---|---|
| DRAFT | Registration has not yet been submitted. |
| IN_PROGRESS | Registration had been submitted for review. |
| REJECTED | Registration has been rejected. |
| APPROVED | Brand registration has been completed. |
| UPGRADE | Brand is being upgraded to FULL registration. |
- SIMPLIFIED: Simplified Registration costs 10USD and will only verify your brand. - FULL: Full Registration will cost 50USD but perform an vetting and grant a vetted verified brand.
| Enum Value | Description |
|---|---|
| SIMPLIFIED | Simplified Registration costs 10USD and will only verify your brand. |
| FULL | Full Registration will cost 50USD but perform a vetting and grant a vetted verified brand. |
| BRAND_REGISTRATION_TYPE_UNSPECIFIED | Type not specified. |
{ "brandRegistrationId": "string", "brandId": "string", "identityStatus": "string", "displayName": "string", "brandRegistrationStatus": "DRAFT", "brandRegistrationType": "SIMPLIFIED", "companyDetails": { "companyName": "string", "companyEmail": "string", "businessContactEmail": "string", "brandName": "string", "country": "string", "streetAddress": "string", "city": "string", "postalCode": "string", "state": "string", "webAddress": "string" }, "financialDetails": { "brandEntityType": "PUBLIC", "brandVerticalType": "PROFESSIONAL", "taxIdCountry": "string", "taxIdCorporate": "string", "stockSymbol": "string", "exchange": "string" }, "contactDetails": { "firstName": "string", "lastName": "string", "phoneNumber": "string", "email": "string" }, "mock": true }
Request
Returns feedback information for brand registrations that were rejected. Following are the applicable category IDs:
- TAX_ID - Data mismatch related to tax id and its associated properties.
- STOCK_SYMBOL - Non public entity registered as a public for profit entity or the stock information mismatch.
- GOVERNMENT_ENTITY - Non government entity registered as a government entity. Must be a U.S. government entity.
- NONPROFIT - No IRS 501c tax-exempt status found.
- OTHERS - Details of the data misrepresentation if any.
Sinch uses projects to group resources such as contacts and apps together to manage and connect a unique set of keys and secret IDs for all your Sinch API products. To identify a project, it is given a unique alphanumeric identifier that ties it to your account. Your project ID can be found in the Customer Dashboard.
- HTTP 10DLC API Server (Default(US))https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}/feedback
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
'https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}/feedback'{ "brandId": "string", "category": [ { … } ] }
Sinch uses projects to group resources such as contacts and apps together to manage and connect a unique set of keys and secret IDs for all your Sinch API products. To identify a project, it is given a unique alphanumeric identifier that ties it to your account. Your project ID can be found in the Customer Dashboard.
- HTTP 10DLC API Server (Default(US))https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations:fetchByTcrBrandId
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
'https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations:fetchByTcrBrandId?brandId=string'A successful response.
- DRAFT: Registration has not yet been submitted. Only feasible when creating a brand registration in dashboard.sinch.com - IN_PROGRESS: Registration had been submitted for review - REJECTED: Registration has been rejected. Please contact your account manager for further information - APPROVED: Brand registration has been completed - UPGRADE: The Brand is being upgraded to FULL registration
| Enum Value | Description |
|---|---|
| DRAFT | Registration has not yet been submitted. |
| IN_PROGRESS | Registration had been submitted for review. |
| REJECTED | Registration has been rejected. |
| APPROVED | Brand registration has been completed. |
| UPGRADE | Brand is being upgraded to FULL registration. |
- SIMPLIFIED: Simplified Registration costs 10USD and will only verify your brand. - FULL: Full Registration will cost 50USD but perform an vetting and grant a vetted verified brand.
| Enum Value | Description |
|---|---|
| SIMPLIFIED | Simplified Registration costs 10USD and will only verify your brand. |
| FULL | Full Registration will cost 50USD but perform a vetting and grant a vetted verified brand. |
| BRAND_REGISTRATION_TYPE_UNSPECIFIED | Type not specified. |
{ "brandRegistrationId": "string", "brandId": "string", "identityStatus": "string", "displayName": "string", "brandRegistrationStatus": "DRAFT", "brandRegistrationType": "SIMPLIFIED", "companyDetails": { "companyName": "string", "companyEmail": "string", "businessContactEmail": "string", "brandName": "string", "country": "string", "streetAddress": "string", "city": "string", "postalCode": "string", "state": "string", "webAddress": "string" }, "financialDetails": { "brandEntityType": "PUBLIC", "brandVerticalType": "PROFESSIONAL", "taxIdCountry": "string", "taxIdCorporate": "string", "stockSymbol": "string", "exchange": "string" }, "contactDetails": { "firstName": "string", "lastName": "string", "phoneNumber": "string", "email": "string" }, "mock": true }
Sinch uses projects to group resources such as contacts and apps together to manage and connect a unique set of keys and secret IDs for all your Sinch API products. To identify a project, it is given a unique alphanumeric identifier that ties it to your account. Your project ID can be found in the Customer Dashboard.
- HTTP 10DLC API Server (Default(US))https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}/upgrade
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}/upgrade'A successful response.
- DRAFT: Registration has not yet been submitted. Only feasible when creating a brand registration in dashboard.sinch.com - IN_PROGRESS: Registration had been submitted for review - REJECTED: Registration has been rejected. Please contact your account manager for further information - APPROVED: Brand registration has been completed - UPGRADE: The Brand is being upgraded to FULL registration
| Enum Value | Description |
|---|---|
| DRAFT | Registration has not yet been submitted. |
| IN_PROGRESS | Registration had been submitted for review. |
| REJECTED | Registration has been rejected. |
| APPROVED | Brand registration has been completed. |
| UPGRADE | Brand is being upgraded to FULL registration. |
- SIMPLIFIED: Simplified Registration costs 10USD and will only verify your brand. - FULL: Full Registration will cost 50USD but perform an vetting and grant a vetted verified brand.
| Enum Value | Description |
|---|---|
| SIMPLIFIED | Simplified Registration costs 10USD and will only verify your brand. |
| FULL | Full Registration will cost 50USD but perform a vetting and grant a vetted verified brand. |
| BRAND_REGISTRATION_TYPE_UNSPECIFIED | Type not specified. |
{ "brandRegistrationId": "string", "brandId": "string", "identityStatus": "string", "displayName": "string", "brandRegistrationStatus": "DRAFT", "brandRegistrationType": "SIMPLIFIED", "companyDetails": { "companyName": "string", "companyEmail": "string", "businessContactEmail": "string", "brandName": "string", "country": "string", "streetAddress": "string", "city": "string", "postalCode": "string", "state": "string", "webAddress": "string" }, "financialDetails": { "brandEntityType": "PUBLIC", "brandVerticalType": "PROFESSIONAL", "taxIdCountry": "string", "taxIdCorporate": "string", "stockSymbol": "string", "exchange": "string" }, "contactDetails": { "firstName": "string", "lastName": "string", "phoneNumber": "string", "email": "string" }, "mock": true }
Request
Returns the vetting information of a brand registration. Include optional query parameters to filter results by vetting partner ID, vetting class, or status.
Sinch uses projects to group resources such as contacts and apps together to manage and connect a unique set of keys and secret IDs for all your Sinch API products. To identify a project, it is given a unique alphanumeric identifier that ties it to your account. Your project ID can be found in the Customer Dashboard.
- HTTP 10DLC API Server (Default(US))https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}/vettingInfo
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
'https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}/vettingInfo?vettingStatus=PENDING'{ "vettingInfo": [ { … } ] }
Sinch uses projects to group resources such as contacts and apps together to manage and connect a unique set of keys and secret IDs for all your Sinch API products. To identify a project, it is given a unique alphanumeric identifier that ties it to your account. Your project ID can be found in the Customer Dashboard.
- HTTP 10DLC API Server (Default(US))https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{bundleId}/resend2faEmail
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://us10dlc.numbers.api.sinch.com/v1/projects/{projectId}/brandRegistrations/{bundleId}/resend2faEmail'10DLC is a system in the United States that allows businesses to send Application-to-Person (A2P) messaging via 10-digit-long-codes (10DLC). It uses a dedicated 10-digit telephone number allocated within the North American Numbering Plan (NANP).
In order to register for a 10DLC campaign, you need to have a 10DLC enabled brand. Create a 10DLC enabled brand before you start, see Brand Registrations for more info.
Before you launch your 10DLC message program, Sinch must review your campaign. We make sure your message program aligns with carrier and industry requirements. Principally we look for alignment with the CTIA 2023 Messaging Principals & Best Practices. If your campaign does not meet these requirements, we will reject it. If we do reject it, you will need to make changes to the campaign and resubmit it for Sinch to review again.
It's important to understand 10DLC compliance requirements as well as other best practices. You should also know the most common reasons why Sinch may reject your campaign . We want to help you get your campaigns approved the first time. Then you can get your message program up and running right away!