bird sms 10dlc campaigns submissions create
Usage
Code example
bird sms 10dlc campaigns submissions create <campaign-id> [flags]Description
Create a new 10DLC campaign submission
Resubmit a rejected 10DLC campaign with corrected details for registry review. The new details replace what the previous attempt submitted, and the campaign returns to the pending state. A brand registered as a publicly-traded company must hold active Auth+ vetting.
Build the request from flags, a JSON TCRCampaignSubmissionCreate 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 submissions create --example
# the body it prints:Code example
{
"help_keywords": ["HELP"],
"help_response": "Acme order updates. Reply STOP to unsubscribe. Support: acme.com/help",
"message_samples": [
"Your order #1234 has shipped and will arrive Thursday.",
"Your order #1234 is out for delivery and arrives today."
],
"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.",
"opt_out_confirmation_response": "You are unsubscribed from Acme order updates and will get no further texts.",
"opt_out_keywords": ["STOP"],
"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. (required; or in --body-file) |
| --use-case-description | What the campaign is used for. Carriers reject descriptions that are too vague to review. (required; or in --body-file) |
| --opt-in-description | How recipients opt in to the campaign and what messages they receive. Describe where consent is collected, since carriers review this before approving the campaign. (required; or in --body-file) |
| --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. |
| --message-samples <value>… | Example messages sent by the campaign. (required; or in --body-file) |
| --opt-in-keywords <value>… | 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 <value>… | 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 <value>… | 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. |
| --embedded-link | Whether campaign messages contain a link. Declared to the registry as you set it and weighed by carriers when they review. The API does not check it against message_samples, so a sample carrying a URL while this is false reaches the reviewer as a contradiction rather than a 422. |
| --embedded-phone | Whether campaign messages contain a phone number. Declared to the registry as you set it and weighed by carriers when they review. The API does not check it against message_samples. |
| --age-gated | Whether campaign messages carry content restricted to recipients aged 18 or over. Declared to the registry, and carriers review an age-gated campaign against their own content rules. |
| --direct-lending | Whether the campaign involves direct lending or a loan arrangement. Declared to the registry, and carriers hold a lending campaign to stricter review. |
| --attachment-ids <value>… | Supporting documents to submit with this registration. Upload each file with POST /v1/compliance/attachments first, then list the returned IDs here. Registering a campaign with an attachment makes it permanent, so the same file can be reused across campaigns and on later attempts. |
| --response-schema | Print the fields this command returns, then exit |
Related
| Name | Description |
|---|---|
| bird sms 10dlc campaigns submissions get | Get a 10DLC campaign submission |
| bird sms 10dlc campaigns submissions list | List 10DLC campaign submissions |
Related resources
Continue with the documentation, guides and examples for this topic. Resources are in English.
Watch the guideSending your first SMSUnderstand the conceptWhat does SMS mean?Explore the capabilitySMSFollow the learning pathBuild your first integration
Try the practice and get an implementation brief