Documentation
Sign inGet started

bird sms send

Usage

Esempio di codice
bird sms send [flags]

Description

Send an SMS message to one recipient.
Sending is outbound and irreversible: it reports "accepted", not "delivered" — read the message back with "bird sms get" to confirm delivery. Send free text with --text (and --category), or a stored template with --template (browse them with "bird sms templates list").
Build the request from flags, a JSON SMSMessageSendRequest 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

Esempio di codice
# print the body shape (no credentials needed)
bird sms send --example

# the body it prints:
Esempio di codice
{
  "category": "authentication",
  "from": "+15557654321",
  "metadata": {
    "user_id": "usr_12345"
  },
  "tags": [
    {
      "name": "campaign",
      "value": "signup"
    }
  ],
  "text": "Your verification code is 123456.",
  "to": "+15551234567"
}
Esempio di codice
# send by template with variable values
bird sms send --to +15551234567 --template bird_otp_verification --parameters '{"code":"123456"}'

# preview the resolved request without sending
bird sms send --body-file body.json --dry-run

Options

Routing

NameDescription
--toRecipient phone number in E.164 format (e.g. +15551234567)
--fromSender: an E.164 number, an alphanumeric sender ID, or a short code. Omit to let Bird choose

Content

NameDescription
--textFree-text message body (mutually exclusive with --template)
--categoryContent classification: transactional, marketing, authentication, or service (required with --text)
--templateSend by a stored template: its id (smt_…) or name (mutually exclusive with --text)
--languageTemplate language as a BCP-47 tag (e.g. fr); template sends only
--parametersTemplate variable values as a JSON object; template sends only

Labels & metadata

NameDescription
--tag <key=value>Tag as name=value; repeatable
--metadataArbitrary JSON metadata object

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
--response-schemaPrint the fields this command returns, then exit
NameDescription
bird sms getGet an SMS message
bird sms listList SMS messages