Sign inGet started

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

NameDescription
--body-fileRead the JSON request body from this file; "-" reads stdin
--examplePrint a complete example request body, then exit
--dry-runPrint the resolved request without sending it, then exit
--idempotency-keyDeduplication key; a retry with the same key won't act twice

Options

NameDescription
--nameA short name for the campaign. (required; or in --body-file)
--use-case-descriptionWhat the campaign is used for. Carriers reject descriptions that are too vague to review. (required; or in --body-file)
--opt-in-descriptionHow 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-responseThe 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-responseThe 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-responseThe 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-linkWhether 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-phoneWhether 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-gatedWhether 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-lendingWhether 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-schemaPrint the fields this command returns, then exit
NameDescription
bird sms 10dlc campaigns submissions getGet a 10DLC campaign submission
bird sms 10dlc campaigns submissions listList 10DLC campaign submissions