---
title: "Register a 10DLC Campaign"
method: POST
path: "/v3/10dlc/brands/{brand_id}/campaigns"
tags: ["10DLC"]
---

# Register a 10DLC Campaign

`POST /v3/10dlc/brands/{brand_id}/campaigns`

Registers a 10DLC Campaign under the 10DLC Brand identified by `brand_id`. The Brand must have a verified identity status.

## Path parameters

- `brand_id` string, required

## Request body

- TenDLCCampaignCreateRequest
  - `affiliate_marketing` boolean, required — Indicates whether the Campaign is used for affiliate marketing.
  - `age_gated` boolean, required — Indicates whether the Campaign messages contain age-gated content.
  - `auto_renewal` boolean, required — Indicates whether the Campaign is automatically renewed at the end of each billing period.
  - `direct_lending` boolean, required — Indicates whether the Campaign messages contain direct lending content.
  - `embedded_links` boolean, required — Indicates whether the Campaign messages contain embedded links.
  - `embedded_phones` boolean, nullable, required — Indicates whether the Campaign messages contain embedded phone numbers.
  - `embedded_link_sample` string, nullable, required — Sample of an embedded link used in Campaign messages.
  - `description` string, required — Description of the Campaign and its messaging purpose.
  - `optin_workflow` string, required — Description of the workflow through which subscribers opt in to the Campaign.
  - `help` boolean, required — Indicates whether the Campaign provides a help system that subscribers can trigger with a keyword such as HELP or INFO.
  - `help_keywords` string, required — Comma-separated list of help keywords. Keywords are case-insensitive.
  - `help_message` string, required — Acknowledgement sent when a subscriber texts a help keyword.
  - `optin` boolean, required — Indicates whether the Campaign requires subscribers to opt in before receiving messages.
  - `optin_keywords` string, required — Comma-separated list of opt-in keywords. Keywords are case-insensitive.
  - `optin_message` string, required — Acknowledgement sent when a subscriber texts an opt-in keyword.
  - `optout` boolean, required — Indicates whether the Campaign provides an opt-out system that subscribers can trigger with a keyword such as STOP or QUIT.
  - `optout_keywords` string, required — Comma-separated list of opt-out keywords. Keywords are case-insensitive.
  - `optout_message` string, required — Acknowledgement sent when a subscriber texts an opt-out keyword.
  - `name` string, required — Display name of the Campaign.
  - `sample1` string, required — Sample message demonstrating the content sent through the Campaign.
  - `sample2` string, nullable, required — Sample message demonstrating the content sent through the Campaign.
  - `sample3` string, nullable, required — Sample message demonstrating the content sent through the Campaign.
  - `sample4` string, nullable, required — Sample message demonstrating the content sent through the Campaign.
  - `sample5` string, nullable, required — Sample message demonstrating the content sent through the Campaign.
  - `mock` boolean, required — Indicates whether the Campaign is a mock campaign used for testing. Mock campaigns cannot send production traffic.
  - `usecase` string, required — Registered use case for the Campaign, such as `2FA` or `MARKETING`.
  - `privacy_policy` string — URL of the Campaign privacy policy.
  - `terms_conditions` string, required — URL of the Campaign terms and conditions.

## Response `201`

Returns the registered 10DLC Campaign.

- object — Represents a 10DLC campaign registered under a Brand. A Campaign defines the messaging use case, opt-in and opt-out flows, and the phone numbers permitted to send its traffic.
  - `affiliate_marketing` boolean, required — Indicates whether the Campaign is used for affiliate marketing.
  - `age_gated` boolean, required — Indicates whether the Campaign messages contain age-gated content.
  - `auto_renewal` boolean, required — Indicates whether the Campaign should be automatically renewed.
  - `last_bill_date` string, nullable, required — Date and time the Campaign was last billed in ISO 8601 format. `null` if the Campaign has never been billed.
  - `next_bill_date` string, nullable, required — Date and time the Campaign will be billed next in ISO 8601 format. `null` if the next billing date is not scheduled.
  - `direct_lending` boolean, required — Indicates whether the Campaign messages contain direct lending content.
  - `embedded_links` boolean, required — Indicates whether the Campaign messages contain embedded links.
  - `embedded_phones` boolean, required — Indicates whether the Campaign messages contain embedded phone numbers.
  - `embedded_link_sample` string, nullable, required — Sample of an embedded link used in Campaign messages.
  - `brand_id` string, required — Unique identifier of the Brand that owns the Campaign.
  - `campaign_id` string, required — Unique identifier of the Campaign assigned by the registry.
  - `description` string, nullable, required — Description of the Campaign and its messaging purpose.
  - `optin_workflow` string, nullable, required — Description of the workflow through which subscribers opt in to the Campaign.
  - `feedback` string, nullable, required — Feedback from the registry explaining the current `status`.
  - `help` boolean, required — Indicates whether the campaign includes a help system (for example, keyword: HELP, INFO).
  - `help_keywords` string, required — Comma-separated list of help keywords. Keywords are case-insensitive.
  - `help_message` string, nullable, required — Help message sent upon receiving a help keyword.
  - `optin` boolean, required — Indicates whether the Campaign requires subscriber opt-in.
  - `optin_keywords` string, required — Comma-separated list of opt-in keywords. Keywords are case-insensitive.
  - `optin_message` string, nullable, required — Opt-in message sent upon receiving an opt-in keyword.
  - `optout` boolean, required — Indicates whether the campaign includes an opt-out system (for example, keyword: STOP, QUIT).
  - `optout_keywords` string, required — Comma-separated list of opt-out keywords. Keywords are case-insensitive.
  - `optout_message` string, nullable, required — Opt-out message sent upon receiving an opt-out keyword.
  - `name` string, required — Display name of the Campaign.
  - `created_at` string, required — Timestamp when the Campaign was created, in ISO 8601 format.
  - `sample1` string, nullable, required — Sample message demonstrating the content sent through the Campaign.
  - `sample2` string, nullable, required — Sample message demonstrating the content sent through the Campaign.
  - `sample3` string, nullable, required — Sample message demonstrating the content sent through the Campaign.
  - `sample4` string, nullable, required — Sample message demonstrating the content sent through the Campaign.
  - `sample5` string, nullable, required — Sample message demonstrating the content sent through the Campaign.
  - `updated_at` string, required — Timestamp when the Campaign was last updated, in ISO 8601 format.
  - `mock` boolean, required — Indicates whether the Campaign is a mock campaign used for testing. Mock campaigns cannot send production traffic.
  - `usecase` string, required — Registered use case for the Campaign, such as `2FA` or `MARKETING`.
  - `monthly_fee` string, required — Recurring monthly fee charged for the Campaign, as a decimal string.
  - `privacy_policy` string, nullable, required — Privacy policy URL.
  - `terms_conditions` string, nullable, required — Terms and conditions URL.
  - `status` string, required — Current registration status of the Campaign, such as `APPROVED` or `PENDING`.
  - `phone_numbers` string[], required — Phone numbers assigned to the Campaign, in E.164 format.

## Other responses

- `400` — Request failed. Missing or invalid parameter <param_name>
- `403` — Returns when the 10DLC feature is disabled for the account.
- `404` — Returns when no 10DLC Brand matches `brand_id`.

---

[API](https://skmtc.net/wavix/apis/wavix-apis.md) · [All operations](https://skmtc.net/wavix/apis/wavix-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wavix/wavix-apis/revisions/b22f170488b6/schema)
