bird sms 10dlc campaigns create
Usage
Code example
bird sms 10dlc campaigns create [flags]Description
Create a 10DLC campaign
Register a 10DLC campaign under an approved brand. A brand registered as a publicly-traded company must hold active Auth+ vetting first. This also submits it for vetting, so the campaign starts pending. Assign the workspace's long codes to it with bird sms 10dlc campaigns numbers assign while it is still pending; they can only start sending once the campaign is approved and the carriers confirm each number. If the registry rejects the campaign, correct the details and resubmit with bird sms 10dlc campaigns submissions create.
Build the request from flags, a JSON TCRCampaignCreate body via --body-file ("-" reads
stdin), or both — a flag overrides the matching body field. Run --example to
print a ready-to-edit body, or --dry-run to print the resolved request without
sending it.
Examples
Code example
# print the body shape (no credentials needed)
bird sms 10dlc campaigns create --example
# the body it prints:Code example
{
"brand_id": "brd_01krdgeqcxet5s7t44vh8rt9mg",
"message_samples": ["Your order #1234 has shipped and will arrive Thursday."],
"name": "Order updates",
"opt_in_description": "Customers opt in by checking a box at checkout on acme.com. They then receive order and shipping status texts.",
"subscriber_help": true,
"subscriber_opt_in": true,
"subscriber_opt_out": true,
"use_case_category": "marketing",
"use_case_description": "Sends order confirmation and shipping status updates to customers who opted in at checkout."
}Options
Request
| Name | Description |
|---|---|
| --body-file | Read the JSON request body from this file; "-" reads stdin |
| --example | Print a complete example request body, then exit |
| --dry-run | Print the resolved request without sending it, then exit |
| --idempotency-key | Deduplication key; a retry with the same key won't act twice |
Options
| Name | Description |
|---|---|
| --name | A short name for the campaign. |
| --use-case-description | What the campaign is used for. Carriers reject descriptions that are too vague to review. |
| --opt-in-description | How recipients opt in to the campaign and what messages they will receive. Describe where consent is collected, since carriers review this before approving the campaign. |
| --message-samples <v1,v2,…> | Example messages the campaign will send. Between 1 and 5 entries. |
| --opt-in-keywords <v1,v2,…> | Keywords a recipient can text to opt in. |
| --opt-in-confirmation-response | The confirmation reply sent when a recipient opts in. Must be at least 20 characters when set. |
| --opt-out-keywords <v1,v2,…> | Keywords a recipient can text to opt out. Must include STOP, which carriers treat as the minimum. Required when the campaign supports opt-out. |
| --opt-out-confirmation-response | The confirmation reply sent when a recipient opts out. Required when the campaign supports opt-out, and must be at least 20 characters when set. |
| --help-keywords <v1,v2,…> | Keywords a recipient can text to request help. Must include HELP, which carriers treat as the minimum. Required when the campaign supports the help command. |
| --help-response | The reply sent when a recipient texts a help keyword. Required when the campaign supports the help command, and must be at least 20 characters when set. |
| --attachment-ids <v1,v2,…> | Supporting documents to submit with this registration, uploaded beforehand via the 10DLC attachments endpoint. |
| --embedded-link | Whether campaign messages contain a link. |
| --embedded-phone | Whether campaign messages contain a phone number. |
| --age-gated | Whether the campaign contains age-gated content. |
| --direct-lending | Whether the campaign involves direct lending or a loan arrangement. |
| --brand-id | The 10DLC brand this campaign runs under. |
| --use-case-category | The messaging use case the campaign runs. mixed and low_volume are umbrella use cases that require a set of sub-use-cases drawn from this same list. Possible values: two_factor_authentication, account_notification, agents_franchises, charity, customer_care, delivery_notification, fraud_alert, higher_education, k12_education, low_volume, m2m, marketing, mixed, political, polling_voting, proxy, public_service_announcement, security_alert, sweepstake. |
| --sub-use-cases <v1,v2,…> | Sub-use-cases. Required when use_case_category is mixed or low_volume, which must list between two and five, and must be empty for every other use case. Possible values: two_factor_authentication, account_notification, agents_franchises, charity, customer_care, delivery_notification, fraud_alert, higher_education, k12_education, low_volume, m2m, marketing, mixed, political, polling_voting, proxy, public_service_announcement, security_alert, sweepstake. |
| --subscriber-opt-in | Whether recipients can opt in to the campaign. Submitted to the registry as you declare it, so it must be true for every use case except m2m, which has no human recipient. Carriers reject a campaign that does not support opt-in. |
| --subscriber-opt-out | Whether recipients can opt out of the campaign. Submitted to the registry as you declare it, and requires opt_out_keywords and opt_out_confirmation_response when true. It must be true for every use case except m2m, since carriers reject a campaign that does not support the standard opt-out keywords. |
| --subscriber-help | Whether recipients can request help from the campaign. Submitted to the registry as you declare it, and requires help_keywords and help_response when true. It must be true for every use case except m2m, since carriers reject a campaign that does not support the standard help command. |
| --response-schema | Print the fields this command returns, then exit |
Related
| Name | Description |
|---|---|
| bird sms 10dlc campaigns delete | Delete a 10DLC campaign |
| bird sms 10dlc campaigns get | Get a 10DLC campaign |
| bird sms 10dlc campaigns list | List 10DLC campaigns |