# 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 RESUBMIT_IN_PROGRESS, mno metadata not updated, poll again. 2. If lastActionStatus is RESUBMIT_SUCCESSFUL, get updated MNO metadata. 3. If lastActionStatus is RESUBMIT_FAILED, call the Campaign Feedback API to know the reason for failure.