Sign inGet Started

Create an SMS messaging profile

POST
/v1/sms/messaging-profiles
bird sms messaging-profiles create --body-file - <<'JSON'
{
  "name": "device-activation",
  "senders": [
    {
      "country_code": "US",
      "sender_id": "snd_01krdgeqcxet5s7t44vh8rt9mg"
    }
  ],
  "inbound": {
    "numbers": [
      {
        "number": "+14155550100"
      }
    ]
  },
  "default_category": "authentication"
}
JSON
प्रतिक्रिया201
{
  "id": "mpr_01krdgeqcxet5s7t44vh8rt9mg",
  "name": "device-activation",
  "senders": [
    {
      "country_code": "US",
      "sender_id": "snd_01krdgeqcxet5s7t44vh8rt9mg"
    }
  ],
  "inbound": {
    "numbers": [
      {
        "country_code": "US",
        "number": "34001"
      }
    ],
    "callback_url": "https://receipts.example.com/bird/sms/inbound",
    "outbound_matching": {
      "enabled": false,
      "time_window": "1d"
    }
  },
  "default_category": "authentication",
  "validity_period": 3600,
  "cost_center": "CC001234",
  "options": {
    "smart_encoding": false,
    "ignore_suppression": false,
    "callback_url": "https://receipts.example.com/bird/sms/activation"
  },
  "callback_events": [
    "sms.delivered",
    "sms.failed"
  ]
}

Creates a messaging profile for one program in your workspace.

A profile chooses the sender for each destination country, lists the numbers that receive replies, and sets defaults such as the category and smart encoding. Every sender and number must belong to your workspace, and a number can belong to one profile at a time. A send that names the profile in messaging_profile_id takes its sender, default category, and smart encoding from it when the send leaves them out. The values on a profile are defaults: an explicit from, category, or options.smart_encoding on the send wins.

Request Payload

name
string
आवश्यक

A label for the profile. Names are not unique, so two profiles can share one.

senders
array of object

The sender for each destination country, and optionally a default sender. Each country appears at most once, and at most one entry omits country_code.

चाइल्ड पैरामीटर दिखाएँ
inbound
object

How the profile receives replies. Omit it for a profile that only sends.

चाइल्ड पैरामीटर दिखाएँ
default_category
string

The category a free-text send that names this profile uses when it sets none: transactional, marketing, authentication, or service. A template send takes the template's category.

Possible values: transactional, marketing, authentication, service

validity_period
integer

How many seconds a message stays valid before it expires undelivered. A send that omits validity_period uses it.

cost_center
string

A label for assigning the cost of this profile's messages. A send that omits cost_center uses it.

options
object

Sending options for messages that do not set their own. Booleans default to false.

चाइल्ड पैरामीटर दिखाएँ
callback_events
array of string

The events of this profile's outbound messages that go to a callback URL. The list is fixed when a message is accepted, and applies only while the message has a callback URL: an event outside it then reaches neither the URL nor a plain webhook endpoint. Without a callback URL the list has no effect, and every event goes to your webhook endpoints. A value other than sms.accepted, sms.sent, sms.delivered, sms.undelivered, sms.failed, sms.rejected or sms.expired returns 422. sms.received is never filtered. Omit it to deliver every event.

Response Payload

id
string
आवश्यक

Identifier of this profile.

name
string
आवश्यक

A label for the profile. Names are not unique, so two profiles can share one.

senders
array of object
आवश्यक

The sender for each destination country, and the default sender when an entry has no country_code.

चाइल्ड एट्रिब्यूट दिखाएँ
inbound
object
आवश्यक

How the profile receives replies. A profile without numbers only sends.

चाइल्ड एट्रिब्यूट दिखाएँ
inbound.numbers
array of object
आवश्यक

The numbers that receive replies for this profile.

चाइल्ड एट्रिब्यूट दिखाएँ
inbound.numbers.country_code
string

The country of a short code, as an uppercase ISO 3166-1 alpha-2 code. Required for a short code. Omit it for a number in E.164 format, which receives replies from subscribers in any country.

inbound.numbers.number
string
आवश्यक

A short code as digits, or a number in E.164 format. It must be a number your workspace holds that can receive SMS, and it can belong to one profile at a time.

inbound.callback_url
nullable string
आवश्यक

The HTTPS URL that receives sms.received events for replies on this profile's numbers, signed with your workspace callback signing secret. Null when none is set, in which case replies use options.callback_url, then your webhook subscriptions. While a URL applies, a reply skips your plain webhook endpoints.

inbound.outbound_matching
object
आवश्यक

Settings for pairing each reply with the message it answers, reported as the reply's in_reply_to_message. Bird pairs only messages sent from one of this profile's reply numbers while matching is on. Turning it off stops pairing, and turning it back on resumes it for messages still inside their window.

चाइल्ड एट्रिब्यूट दिखाएँ
default_category
nullable string
आवश्यक

The category a free-text send that names this profile uses when it sets none: transactional, marketing, authentication, or service. A template send takes the template's category. Null when none is set.

validity_period
nullable integer
आवश्यक

How many seconds a message stays valid before it expires undelivered. Null when none is set. A send that omits validity_period uses it.

cost_center
nullable string
आवश्यक

A label for assigning the cost of this profile's messages. Null when none is set. A send that omits cost_center uses it.

options
object
आवश्यक

Sending options that messages from this profile use when a message does not set its own.

चाइल्ड एट्रिब्यूट दिखाएँ
callback_events
nullable array
आवश्यक

The events of this profile's outbound messages that go to a callback URL: sms.accepted, sms.sent, sms.delivered, sms.undelivered, sms.failed, sms.rejected, and sms.expired. The list is fixed when a message is accepted, and applies only while the message has a callback URL: an event outside it then reaches neither the URL nor a plain webhook endpoint. Without a callback URL the list has no effect, and every event goes to your webhook endpoints. sms.received is never filtered. Null means every outbound event goes to the URL.

created_at
string
आवश्यक

When the profile was created.

updated_at
string
आवश्यक

When the profile was last changed.

इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।