Sign inGet Started

List SMS messaging profiles

GET
/v1/sms/messaging-profiles
bird sms messaging-profiles list
Resposta200
{
  "data": [
    {
      "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"
      ]
    }
  ],
  "next_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE0OjAzOjEwWlwiIiwiaSI6IjAxOTJmM2IxLTRjN2UtN2EyYi05ZDYxLThmM2E1YzJlN2I0MCJ9",
  "prev_cursor": null,
  "refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE2OjQyOjAxWlwiIiwiaSI6IjAxOTJmM2IxLTllMDQtN2NkMy1iODE3LTJhNmY0ZDFjOGUwOSJ9"
}

Returns your workspace's messaging profiles, newest first. A profile holds the senders, reply numbers, and sending defaults for one program.

Parâmetros de consulta

sortstring

Field to sort by.

Possible values: created_at

orderstring

Sort direction. Defaults to desc, which sorts from newest to oldest or largest to smallest, depending on the selected sort field.

Possible values: asc, desc

limitinteger

Maximum number of items to return per page.

starting_afterstring

Cursor from the next_cursor field of a previous list response. Returns items immediately after the cursor position in the current sort order.

ending_beforestring

Cursor from the prev_cursor or refresh_cursor field of a previous list response. Returns items immediately before the cursor position in the current sort order. prev_cursor returns the preceding page. refresh_cursor anchors at the first row of that response, which on a newest-first sort is how to fetch the items that have appeared since.

include_totalboolean

When true, the response includes a total field with the total number of items matching the request's filters across all pages.

Payload de resposta

data
array of object
obrigatório

Your workspace's messaging profiles, newest first.

Mostrar atributos secundários
data.id
string
obrigatório

Identifier of this profile.

data.name
string
obrigatório

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

data.senders
array of object
obrigatório

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

Mostrar atributos secundários
data.inbound
object
obrigatório

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

Mostrar atributos secundários
data.default_category
nullable string
obrigatório

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.

data.validity_period
nullable integer
obrigatório

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

data.cost_center
nullable string
obrigatório

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

data.options
object
obrigatório

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

Mostrar atributos secundários
data.options.smart_encoding
boolean
obrigatório

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

data.options.ignore_suppression
boolean
obrigatório

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.

data.options.callback_url
nullable string
obrigatório

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.

data.callback_events
nullable array
obrigatório

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.

data.created_at
string
obrigatório

When the profile was created.

data.updated_at
string
obrigatório

When the profile was last changed.

next_cursor
nullable string
obrigatório

Cursor for the next page. Pass back as starting_after to advance forward. null when no next page exists.

prev_cursor
nullable string
obrigatório

Cursor for the previous page. Pass back as ending_before to step backward. null when no previous page exists.

refresh_cursor
nullable string
obrigatório

Refresh anchor, the first row of this response. Pass back as ending_before to fetch what precedes it in the current sort order. On a newest-first sort those are the items that have appeared since; on any other sort they are the items that sort earlier, so refreshing such a list means re-fetching it instead. Non-null whenever data is non-empty; null only on an empty page. Distinct from prev_cursor.

total
nullable integer

Total number of items matching the request's filters across all pages. Present only when include_total=true was passed, and omitted otherwise.