Sign inGet Started

List Apple Messages for Business suppressions

GET
/v1/amb/suppressions
const result = await bird.amb.suppressions.list({
  business_account_id: "abz_01krdgeqcxet5s7t44vh8rt9mg",
  limit: 2,
});
console.log(result);
Réponse200
{
  "data": [
    {
      "id": "asp_01krdgeqcxet5s7t44vh8rt9mg",
      "business_account_id": "abz_01krdgeqcxet5s7t44vh8rt9mg",
      "address": "+15551234567",
      "address_type": "opaque_user_id",
      "reason": "manual",
      "origin": "user",
      "applies_to": "all",
      "source_message_id": "amb_01krdgeqcxet5s7t44vh8rt9mg",
      "source_event_id": "aev_01krdgeqcxet5s7t44vh8rt9mg",
      "source_end_message_id": "amb_01krdgeqcxet5s7t44vh8rt9mg",
      "ended_reason": "user"
    }
  ],
  "next_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE0OjAzOjEwWlwiIiwiaSI6IjAxOTJmM2IxLTRjN2UtN2EyYi05ZDYxLThmM2E1YzJlN2I0MCJ9",
  "prev_cursor": null,
  "refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE2OjQyOjAxWlwiIiwiaSI6IjAxOTJmM2IxLTllMDQtN2NkMy1iODE3LTJhNmY0ZDFjOGUwOSJ9"
}

Returns a paginated list of the workspace's active Apple Messages for Business suppressions: customers who have opted out of one brand, or of the whole workspace. Episodes that have ended are left out; fetch one by ID to read it. Filter by business_account_id to see one brand's suppressions, including the workspace-wide ones that block it too.

Paramètres de requête

business_account_idstring

Keep only suppressions for this brand, including the workspace-wide ones that block it too. Omit to see suppressions for every brand in the workspace.

addressstring

Prefix filter on the suppressed phone number or opaque identifier (case-insensitive). A complete value returns only that address; a partial value returns every match.

address_typestring

Keep only suppressions of this kind.

Possible values: phone_number, opaque_user_id

reasonstring

Keep only suppressions with this reason.

Possible values (may grow over time): manual, opted_out

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.

Contenu de la réponse

data
array of object
obligatoire

Active suppression episodes for the workspace, most recently effective first. Episodes that have ended are left out; fetch one by ID to read it.

Afficher les attributs enfants
data.id
string
obligatoire
data.business_account_id
nullable string
obligatoire
data.address
string
obligatoire

Canonical E.164 phone number, or the exact opaque identifier Apple supplied.

data.address_type
string
obligatoire

What kind of value address holds.

  • phone_number means address is the customer's phone number. Apple's CloseSession event carries a phone number rather than an opaque identifier, so a suppression opened by a close on a conversation identified by phone number takes this kind.
  • opaque_user_id means address is the opaque identifier Apple assigns to the customer's conversation with the business, stable across a close and a later re-initiation.

Possible values: phone_number, opaque_user_id

data.reason
string
obligatoire

Why the handle is suppressed. manual means it was added directly through this API or the dashboard. opted_out covers every case where Apple or the customer signaled they should not be contacted: a close, a permanent delivery failure, a declined invitation, or a stop keyword. This list grows over time, so treat an unknown value as informational rather than rejecting the record.

Possible values (may grow over time): manual, opted_out

data.origin
string
obligatoire

Who created the episode. user and api_key identify manual blocks. close_session and gone are protected automatic conversation facts. Phone invitation opt-outs are recorded as preferences.

Possible values (may grow over time): user, api_key, close_session, gone

data.applies_to
string
obligatoire

Paths blocked by this episode. Treat unknown values as blocking.

Possible values (may grow over time): all, invitations

data.source_message_id
string

Message whose permanent delivery failure opened the episode, when applicable.

data.source_event_id
string

Conversation event that opened the episode, when applicable.

data.source_end_message_id
string

Inbound message that ended an eligible automatic episode, when applicable.

data.effective_at
string
obligatoire

When the blocking state took effect.

data.created_at
string
obligatoire

When Bird recorded this episode.

data.ended_at
nullable string
obligatoire

When Bird recorded the end, or null while active.

data.ended_reason
nullable string
obligatoire

What ended the episode, or null while active. Customers can end only manual episodes.

Possible values (may grow over time): user, api_key, reinitiated

data.ended_effective_at
nullable string
obligatoire

When the end took effect, or null while active.

next_cursor
nullable string
obligatoire

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

prev_cursor
nullable string
obligatoire

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

refresh_cursor
nullable string
obligatoire

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.

Poursuivez avec la documentation, les guides et les exemples sur ce sujet.