# Registration 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 registrationbrandRegistrationsSinch
Client gets back brandRegistrationId{brandRegistrationId}Sinch
Client polls using brandRegistrationIdbrandRegistrations/{brandRegistrationId}Sinch
Client gets back TCR Brand ID{brandId}Sinch
Client checks use-casecampaignRegistration:qualifySinch
Client submits campaign registrationcampaignRegistration:submitSinch
Client gets back campaignRegistrationId{campaignRegistrationId}Sinch
Client polls using campaignRegistrationIdcampaignRegistrations/{campaignRegistrationId}Sinch
Client gets back TCR campaign IDcampaignIdSinch

Version: 1.0 License: MIT ## Servers HTTP 10DLC API Server (Default(US)) ``` https://us10dlc.numbers.api.sinch.com ``` ## Security ### BasicAuth Our basic security works with any project. Simply use the client_id and client_secret that were displayed when you created your access key through the dashboard in the [Access keys section](https://dashboard.sinch.com/settings/access-keys). Type: http Scheme: basic ### OAuth2 This is the recommended way to access our APIs in production. Type: oauth2 ## Download OpenAPI description [Registration](https://developers.sinch.com/_spec/docs/10dlc-registration/api-reference/10dlc-registration.yaml) ## 10DLC Brand Registration Create or look up brand registration for 10DLC virtual numbers ### Create Brand Registrations - [POST /v1/projects/{projectId}/brandRegistrations:submit](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-brand-registration/brandregistrationservice_createbrandregistrationrequest.md): Create a 10DLC brand registration at TCR (The Campaign Registry). There are 2 types of registrations: 1. - only verifies your brand. 2. - performs a vetting and grants a vetted verified brand. ### List Brand Registrations - [GET /v1/projects/{projectId}/brandRegistrations](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-brand-registration/brandregistrationservice_listbrandregistrationrequest.md): Lists all brand registrations per project. ### Brand Registration Status - [GET /v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-brand-registration/brandregistrationservice_getbrandregistrationrequest.md): Get brand registration details using brand registration ID when creating a brand. ### Brand Registration Update - [PATCH /v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-brand-registration/brandregistrationservice_update10dlcbrand.md): Update Brand Registration details ### Brand Registration Feedback - [GET /v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}/feedback](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-brand-registration/brandregistrationservice_getbrandregistrationfeedback.md): Returns feedback information for brand registrations that were rejected. Following are the applicable category IDs: * - Data mismatch related to tax id and its associated properties. * - Non public entity registered as a public for profit entity or the stock information mismatch. * - Non government entity registered as a government entity. Must be a U.S. government entity. * - No IRS 501c tax-exempt status found. * - Details of the data misrepresentation if any. ### Get Brand Details - [GET /v1/projects/{projectId}/brandRegistrations:fetchByTcrBrandId](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-brand-registration/brandregistrationservice_fetchbrandregistrationrequest.md): Get the US 10DLC brand details using the TCR brand ID. ### Brand Registration Upgrade - [POST /v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}/upgrade](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-brand-registration/brandregistrationservice_upgrade10dlcbrandtofullregistration.md): Upgrades brand from to . ### Brand Registration Vetting Information - [GET /v1/projects/{projectId}/brandRegistrations/{brandRegistrationId}/vettingInfo](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-brand-registration/brandregistrationservice_vettinginfo.md): Returns the vetting information of a brand registration. Include optional query parameters to filter results by vetting partner ID, vetting class, or status. ### Resend 2FA Email - [POST /v1/projects/{projectId}/brandRegistrations/{bundleId}/resend2faEmail](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-brand-registration/resend2faemail.md): Resends the two-factor authentication email. ## 10DLC Campaign Registration 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](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/tag/Brand-Registration/) 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](https://community.sinch.com/t5/SMS/CTIA-Messaging-Principles-and-Best-Practices/ta-p/7087/highlight/true). 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](https://community.sinch.com/t5/10DLC/10DLC-Compliance-Requirements-and-Guidance/ta-p/10706) as well as other best practices. You should also know the [most common reasons why Sinch may reject your campaign](https://community.sinch.com/t5/10DLC/Why-was-my-campaign-rejected/ta-p/15408) . We want to help you get your campaigns approved the first time. Then you can get your message program up and running right away! ### Create new Campaign in TCR - [POST /v1/projects/{projectId}/campaignRegistrations:submit](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-campaign-registration/campaignregistrationexternalservice_createtcrcampaign.md): Create a 10DLC campaign at TCR (The Campaign Registry). Campaign fees and carrier requirements are determined by the brand and use-case being used. To check the campaign requirements, use the campaign:qualify API. ### Upload attachments for 10DLC campaign registration - [POST /v1/projects/{projectId}/uploadCampaignFiles:submit](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-campaign-registration/campaignregistrationexternalservice_uploadcampaignfiles.md): Uploads supporting documentation for 10DLC campaign registrations. ### Get Campaign Details - [GET /v1/projects/{projectId}/campaignRegistrations/{campaignRegistrationId}](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-campaign-registration/campaignregistrationexternalservice_getcampaign.md): Returns the details of the specified campaign by its registration ID. ### Get Campaign Details using the TCR Campaign ID - [GET /v1/projects/{projectId}/campaignRegistrations:fetchByTcrCampaignId](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-campaign-registration/campaignregistrationexternalservice_getcampaignbytcrcampaignid.md): Returns the specified campaign by its TCR Campaign ID. ### Qualify Brand by Use Case - [GET /v1/projects/{projectId}/campaignRegistrations:qualify](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-campaign-registration/campaignregistrationexternalservice_qualifybrandbyusecase.md): Before submitting a campaign, this API will provide some important feedback about how the resulting campaign will be treated. You can verify that the campaign will be supported by all operators, the AT&T message class and TPM, the T-Mobile brand daily bucket that will be applied and more. It is suggested to validate that the operator restrictions will meet your needs prior to submitting the campaign request. Brand revettings do not automatically adjust operator restrictions, and in some cases a new campaign may have to be resubmitted to receive the adjusted MNO values. ### Delete Campaign by campaignId - [DELETE /v1/projects/{projectId}/campaignRegistration/{campaignRegistrationId}](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-campaign-registration/campaignregistrationexternalservice_deletecampaign.md): Deactivate a campaign by removing the campaign from TCR and OSR. A campaign cannot be restored once it is deactivated. New campaign status is EXPIRED. ### List Campaign Registrations - [GET /v1/projects/{projectId}/campaignRegistrations](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-campaign-registration/campaignregistrationservice_listcampaignregistrationrequest.md): Lists all campaign registrations per project. ### Campaign Registration Feedback - [GET /v1/projects/{projectId}/campaignRegistrations/{campaignRegistrationId}/feedback](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-campaign-registration/campaignregistrationservice_getcampaignregistrationfeedback.md): Returns feedback information for campaign registrations that were rejected. Campaign registrations could be rejected due to TCR error or any other internal error. ### Campaign Registration Resubmit - [PUT /v1/projects/{projectId}/campaignRegistrations/{campaignRegistrationId}/resubmit](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/10dlc-campaign-registration/campaignregistrationservice_resubmitcampaignregistration.md): "Resubmit a campaign to: 1. Backfill missing MNO campaign operation records for one or more networks. 2. Retroactively update the campaign to reflect newly assigned message class. Please note that running this endpoint could potentially downgrade campaign business terms. After hitting this endpoint, call the Get Campaign Registration API to to check lastActionStatus: 1. If lastActionStatus is , poll again. 2. If lastActionStatus is , get updated MNO metadata. 3. If lastActionStatus is , call the Campaign Feedback API to know the reason for failure. ## TFN Verification Create or look up Verifications for Toll-Free Numbers ### Create TFN Verifications - [POST /v1/projects/{projectId}/tfnVerification](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/tfn-verification/tfnverificationexternalservice_createtfnverificationrequest.md): Create a TFN verification. ### List TFN Verifications - [GET /v1/projects/{projectId}/tfnVerification](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/tfn-verification/tfnverificationexternalservice_listtfnverificationsrequest.md): Lists all TFN verifications per project. ### Get TFN Verifications - [GET /v1/projects/{projectId}/tfnVerification/{tfnVerificationId}](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/tfn-verification/tfnverificationexternalservice_gettfnverificationrequest.md): Get information about an existing TFN Verification. ### Get TFN Verification use cases - [GET /v1/projects/{projectId}/tfnVerification/useCases](https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration/tfn-verification/tfnverificationexternalservice_gettfnverificationusecasesrequest.md): Get a list of valid use cases for creating TFN Verifications