Sign inGet Started

Update an SMS messaging profile

PATCH
/v1/sms/messaging-profiles/{profile_id}
bird sms messaging-profiles update <profile-id> \
  --default-category transactional \
  --name device-activation
Respuesta200
{
  "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"
  ]
}

Changes a messaging profile. Properties you omit keep their value, including those inside inbound and options, and null clears a property that accepts it.

senders and inbound.numbers replace the whole list, so send every entry you want to keep. The change applies to later sends that name the profile; messages already sent keep what they used. Sends and inbound attribution can use the previous settings for up to 60 seconds.

Parámetros

profile_idstring

ID of the messaging profile, as returned when you created or listed profiles.

Cuerpo de la solicitud

name
string

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

senders
array of object

Replaces the profile's senders. Each country appears at most once, and at most one entry omits country_code. Send an empty array to remove them all.

Mostrar parámetros secundarios
inbound
object

Changes how the profile receives replies. Omitted properties keep their value.

Mostrar parámetros secundarios
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. Send null to clear it.

validity_period
nullable integer

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

cost_center
nullable string

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

options
object

Changes the sending options for messages that do not set their own. Omitted properties keep their value.

Mostrar parámetros secundarios
callback_events
nullable array

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. Send null to deliver every event.

Carga de respuesta

id
string
obligatorio

Identifier of this profile.

name
string
obligatorio

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

senders
array of object
obligatorio

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

Mostrar atributos secundarios
inbound
object
obligatorio

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

Mostrar atributos secundarios
default_category
nullable string
obligatorio

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
obligatorio

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
obligatorio

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
obligatorio

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

Mostrar atributos secundarios
options.smart_encoding
boolean
obligatorio

Whether text is converted to the GSM-7 character set where possible, to fit more characters in a segment.

options.ignore_suppression
boolean
obligatorio

Whether messages are sent even if the recipient is suppressed for the sender, including after replying STOP. Messages that do not set ignore_suppression use this value. Only authentication and transactional messages can skip suppressions. It cannot be true while default_category is marketing or service. Bird must enable it for your workspace; until then, messages that use it are refused.

options.callback_url
nullable string
obligatorio

The HTTPS URL that receives this profile's message events instead of your webhook endpoints. Null when none is set. Messages that do not set callback_url use it, and so do replies on the profile's numbers that have no inbound.callback_url. Each event is a signed POST, signed with your workspace callback signing secret, which rotateWebhookCallbackSigningSecret creates and returns once. While a URL applies, a message's events skip your plain webhook endpoints. MCP Events subscriptions and connector endpoints still receive them.

callback_events
nullable array
obligatorio

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
obligatorio

When the profile was created.

updated_at
string
obligatorio

When the profile was last changed.