Sign inGet Started

List the notifications sent to your agents

GET
/v1/whatsapp/agents/notifications
const notifications = await bird.whatsapp.agents.notifications.list({
  from: "+13124495648",
  status: "skipped",
});
for (const notification of notifications.data ?? []) {
  console.log(notification.name, notification.skipped_reason);
}
Resposta200
{
  "data": [
    {
      "id": "waan_01krdgeqcxet5s7t44vh8rt9m7",
      "from": "+13124495648",
      "to": "+14155551234",
      "name": "order_shipped",
      "description": "Order 88213 left the warehouse and arrives on Thursday.",
      "payload": "{\"order_id\":\"88213\",\"carrier\":\"ACME Courier\",\"eta\":\"2026-10-02\"}",
      "status": "skipped",
      "skipped_reason": "The contact's conversation is currently held by the business.",
      "created_at": "2026-10-01T08:00:00Z"
    },
    {
      "id": "waan_01krdgeqcxet5s7t44vh8rt9m6",
      "from": "+13124495648",
      "to": "+14155559876",
      "name": "payment_received",
      "description": "Payment of $42.00 for order 88190 was received.",
      "payload": "{\"order_id\":\"88190\",\"amount\":\"42.00\",\"currency\":\"USD\"}",
      "status": "success",
      "created_at": "2026-10-01T07:30:00Z"
    }
  ],
  "next_cursor": null,
  "prev_cursor": null,
  "refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTEwLTAxVDA4OjAwOjAwWlwiIiwiaSI6IndhYW5fMDFrcmRnZXFjeGV0NXM3dDQ0dmg4cnQ5bTcifQ"
}

Returns the notifications you have sent your agents, newest first, each with what came of it. Filter by from for the agent on one business number, by status to find the ones the agent skipped or WhatsApp refused, or by to to follow one contact. A notification still in flight to WhatsApp is not listed yet.

Page through the full set with the response cursors.

Parâmetros de consulta

statusstring

Return only notifications in this state.

Possible values: accepted, success, skipped, failed

fromstring

Return only notifications sent to the agent on this business number, in E.164 format. A phone number is normalized before matching, so spacing does not matter.

tostring

Return only notifications about this contact, a phone number in E.164 format or a business-scoped user ID. A phone number is normalized before matching, so spacing does not matter.

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.

Payload de resposta

data
array of object
obrigatório

A page of the notifications sent to the agent.

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

Unique identifier for the notification.

data.from
string
obrigatório

The business number whose agent the notification was sent to, in E.164 format.

data.to
string
obrigatório

The contact the notification was about, as you addressed it: a phone number in E.164 format, or a business-scoped user ID.

data.name
string
obrigatório

Your own name for what happened, as you sent it.

data.description
string
obrigatório

What happened, as you sent it.

data.payload
string
obrigatório

The data you attached, as you sent it.

data.status
string
obrigatório

Where the notification stands. accepted from the moment Bird takes it, then one of the three final states once WhatsApp has answered.

Possible values: accepted, success, skipped, failed

data.skipped_reason
string

WhatsApp's own account of why the agent chose to say nothing, passed through. Present only when status is skipped. Show it to the person who sent the notification; never match on its text.

data.error
object

Why the notification failed. Present only when status is failed.

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

When Bird accepted the notification.

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.