Sign inGet started

List webhook endpoints

GET
/v1/webhooks
for await (const endpoint of bird.webhooks.list()) {
  console.log(endpoint.id, endpoint.url, endpoint.status);
}
Antwort200
{
  "data": [
    {
      "id": "whk_01krdgeqcxet5s7t44vh8rt9mg",
      "url": "https://example.com/webhook",
      "description": "Production webhook endpoint",
      "events": [
        "email.delivered",
        "email.bounced"
      ],
      "status": "active",
      "created_at": "2026-05-20T09:14:52Z",
      "updated_at": "2026-05-25T16:42:01Z"
    }
  ],
  "next_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE0OjAzOjEwWlwiIiwiaSI6IjAxOTJmM2IxLTRjN2UtN2EyYi05ZDYxLThmM2E1YzJlN2I0MCJ9",
  "prev_cursor": null,
  "refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE2OjQyOjAxWlwiIiwiaSI6IjAxOTJmM2IxLTllMDQtN2NkMy1iODE3LTJhNmY0ZDFjOGUwOSJ9"
}
Returns the workspace's webhook endpoints as a cursor-paginated list, newest first by default. Endpoint objects never include the signing secret; to inspect a single endpoint, use Get a webhook endpoint.
Abfrageparameter
sort
string
Possible values: created_at, url
order
string
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
limit
integer
Maximum number of items to return per page.
starting_after
string
Cursor from the next_cursor field of a previous list response. Returns items immediately after the cursor position in the current sort order.
ending_before
string
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_total
boolean
When true, the response includes a total field with the total number of items matching the request's filters across all pages.
Antwort-Payload
data
array of object
erforderlich
Untergeordnete Attribute anzeigen
data.id
string
erforderlich
Unique identifier for the endpoint (whk_ prefix). Accepted as webhook_id by every /v1/webhooks/{webhook_id} operation.
data.url
string
erforderlich
HTTPS URL where the API delivers events for this endpoint.
data.description
string
Human-readable label for the endpoint.
data.events
array of string
erforderlich
Event types this endpoint is subscribed to; only matching events are delivered. Change the set with Update a webhook endpoint.
data.status
string
erforderlich
Delivery state of the endpoint.
  • active: The initial state; events are being delivered normally.
  • degraded: Recent deliveries are failing. We keep delivering and retrying, and the endpoint returns to active automatically once deliveries succeed again.
  • paused: All delivery is stopped, either because an update set status to paused or automatically after sustained delivery failures. A paused endpoint never resumes on its own: re-enable it with Update a webhook endpoint, then recover the missed events with Replay missed events.
Possible values: active, degraded, paused
data.created_at
string
erforderlich
data.updated_at
string
erforderlich
next_cursor
nullable string
erforderlich
Cursor for the next page. Pass back as starting_after to advance forward. null when no next page exists.
prev_cursor
nullable string
erforderlich
Cursor for the previous page. Pass back as ending_before to step backward. null when no previous page exists.
refresh_cursor
nullable string
erforderlich
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; otherwise null.