Skip to content

List webhook endpoints

The webhook_endpoints.list operation: GET /api/v1/webhook_endpoints in the REST API and the webhook_endpoints_list tool in the MCP server.

GET/api/v1/webhook_endpoints

Lists the brand's webhook endpoints in the request's mode, newest first. Filter with enabled (true or false) to find endpoints that were disabled, by you or after failing for 3 days.

Paginate with limit (1–100, default 10) and starting_after (the next_cursor of the previous page).

At a glance

  • REST: GET /api/v1/webhook_endpoints
  • MCP tool: webhook_endpoints_list
  • Operation ID: webhook_endpoints.list
  • Scope: Brand
  • Permission: webhooks:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Pagination: limit (at most 100) and starting_after
  • Authentication: API key with the webhooks:read scope
  • Since: M4

Request

Query parameters

FieldTypeRequiredDescription
enabledstringNoOnly enabled (true) or disabled (false) endpoints.
limitinteger (1 to 100)No
starting_afterwe_… IDNo

Response

200 OK with a JSON object, a page of the list (newest first):

FieldTypeDescription
object"list"
dataarray of object
data[].idwe_… ID
data[].object"webhook_endpoint"
data[].brandIdbrd_… ID
data[].livemodeboolean
data[].urlstring
data[].descriptionstring or null
data[].eventsarray of string
data[].enabledboolean
data[].disabledReasonone of manual, failing or null
data[].disabledAtdate-time or null
data[].failingSincedate-time or null
data[].secretRotatedAtdate-time or null
data[].previousSecretExpiresAtdate-time or null
data[].metadataobject
data[].createdAtdate-time
data[].updatedAtdate-time
has_moreboolean
next_cursorwe_… ID or null

Examples

The brand's endpoints

HTTP
GET /api/v1/webhook_endpoints
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "list",
  "data": [
    {
      "id": "we_01m4tx5nj8emwbyf7y9vcf47z0",
      "object": "webhook_endpoint",
      "brandId": "brd_01m4tx5nj8emwbyf7y9vcf47x4",
      "livemode": false,
      "url": "https://example.com/webhooks/ownrecord",
      "description": "Order fulfilment",
      "events": ["customer.created", "checkout.session.completed"],
      "enabled": true,
      "disabledReason": null,
      "disabledAt": null,
      "failingSince": null,
      "secretRotatedAt": null,
      "previousSecretExpiresAt": null,
      "metadata": {},
      "createdAt": "2026-10-13T12:00:00.000Z",
      "updatedAt": "2026-10-13T12:00:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Endpoints that were disabled

HTTP
GET /api/v1/webhook_endpoints?enabled=false
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "list",
  "data": [
    {
      "id": "we_01m4tx5nj8emwbyf7y9vcf47z1",
      "object": "webhook_endpoint",
      "brandId": "brd_01m4tx5nj8emwbyf7y9vcf47x4",
      "livemode": false,
      "url": "https://example.com/webhooks/ownrecord",
      "description": "Order fulfilment",
      "events": ["customer.created", "checkout.session.completed"],
      "enabled": false,
      "disabledReason": "failing",
      "disabledAt": "2026-10-14T09:30:00.000Z",
      "failingSince": "2026-10-11T09:30:00.000Z",
      "secretRotatedAt": null,
      "previousSecretExpiresAt": null,
      "metadata": {},
      "createdAt": "2026-10-13T12:00:00.000Z",
      "updatedAt": "2026-10-14T09:30:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Errors

CodeHTTP statusWhenWhat to do
validation_failed400A filter or pagination value is malformed.Fix the fields listed in details.issues and send the request again.
permission_denied403You can't see this brand's webhooks.Ask an organization owner or admin for a role or scope that allows this action.

It can also return these common errors: api_version_unsupported, authentication_required, api_key_invalid, scope_required, resource_not_found, dry_run_not_supported, rate_limited, internal_error.