Documentation sections

Webhooks

GET

/webhook_endpoints

List endpoints

Scopes

  • webhooks:manage

Parameters

  • cursorquerystring
  • limitqueryinteger

Responses

  • 200OK
    WebhookEndpointPageFields (2)
    • dataarray of WebhookEndpointRequired
    • next_cursorstring | nullRequiredPass as cursor for the next page; null on the last page.
  • 401Missing, revoked, or expired API key.
  • 403The key lacks the scope.
  • 429Rate limited: 60 requests per minute per key.
POST

/webhook_endpoints

Create an endpoint

Scopes

  • webhooks:manage

Parameters

  • Idempotency-KeyheaderstringRequiredStored 24 h per company and key. Same key with a different body returns 422.

Request body

WebhookEndpointInput Fields (3)
  • urlstring (uri)RequiredHTTPS only; private and link-local addresses are refused (security.md).
  • eventsarray of stringRequired
  • activeboolean

Responses

  • 201Created; the signing secret is shown once
    WebhookEndpointCreatedFields (9)
    • idstringRequired
    • urlstring (uri)Required
    • eventsarray of stringRequired
    • activebooleanRequired
    • failing_sincestring | null
    • disabled_atstring | null
    • disabled_reasonstring | null
    • created_atstring (date-time)Required
    • signing_secretstringRequiredShown once. A replayed Idempotency-Key returns 409 instead of the secret.
  • 400Validation failed.
  • 409Version conflict, external_id taken, or a secret that cannot be replayed.
  • 422Semantically invalid, or an Idempotency-Key reused with a different body.
  • 401Missing, revoked, or expired API key.
  • 403The key lacks the scope.
  • 429Rate limited: 60 requests per minute per key.
GET

/webhook_endpoints/{id}

Get an endpoint

Scopes

  • webhooks:manage

Parameters

  • idpathstringRequired

Responses

  • 200OK
    WebhookEndpointFields (8)
    • idstringRequired
    • urlstring (uri)Required
    • eventsarray of stringRequired
    • activebooleanRequired
    • failing_sincestring | null
    • disabled_atstring | null
    • disabled_reasonstring | null
    • created_atstring (date-time)Required
  • 404Not found. Records of other companies are also reported as not found.
  • 401Missing, revoked, or expired API key.
  • 403The key lacks the scope.
  • 429Rate limited: 60 requests per minute per key.
PATCH

/webhook_endpoints/{id}

Update events or turn on and off

Scopes

  • webhooks:manage

Parameters

  • idpathstringRequired
  • Idempotency-Keyheaderstring

Request body

WebhookEndpointInput Fields (3)
  • urlstring (uri)RequiredHTTPS only; private and link-local addresses are refused (security.md).
  • eventsarray of stringRequired
  • activeboolean

Responses

  • 200OK
    WebhookEndpointFields (8)
    • idstringRequired
    • urlstring (uri)Required
    • eventsarray of stringRequired
    • activebooleanRequired
    • failing_sincestring | null
    • disabled_atstring | null
    • disabled_reasonstring | null
    • created_atstring (date-time)Required
  • 404Not found. Records of other companies are also reported as not found.
  • 401Missing, revoked, or expired API key.
  • 403The key lacks the scope.
  • 429Rate limited: 60 requests per minute per key.
DELETE

/webhook_endpoints/{id}

Delete an endpoint

Scopes

  • webhooks:manage

Parameters

  • idpathstringRequired
  • Idempotency-Keyheaderstring

Responses

  • 204Deleted
  • 404Not found. Records of other companies are also reported as not found.
  • 401Missing, revoked, or expired API key.
  • 403The key lacks the scope.
  • 429Rate limited: 60 requests per minute per key.
POST

/webhook_endpoints/{id}/test

Send a ping event (not retried)

Scopes

  • webhooks:manage

Parameters

  • idpathstringRequired

Responses

  • 202Sent
  • 404Not found. Records of other companies are also reported as not found.
  • 401Missing, revoked, or expired API key.
  • 403The key lacks the scope.
  • 429Rate limited: 60 requests per minute per key.
GET

/webhook_endpoints/{id}/deliveries

Delivery log

Scopes

  • webhooks:manage

Parameters

  • idpathstringRequired
  • cursorquerystring
  • limitqueryinteger

Responses

  • 200OK
    WebhookDeliveryPageFields (2)
    • dataarray of WebhookDeliveryRequired
    • next_cursorstring | nullRequiredPass as cursor for the next page; null on the last page.
  • 404Not found. Records of other companies are also reported as not found.
  • 401Missing, revoked, or expired API key.
  • 403The key lacks the scope.
  • 429Rate limited: 60 requests per minute per key.
POST

/webhook_deliveries/{id}/replay

Replay a delivery (same row, attempts reset)

Scopes

  • webhooks:manage

Parameters

  • idpathstringRequired
  • Idempotency-Keyheaderstring

Responses

  • 200OK
    WebhookDeliveryFields (9)
    • idstringRequired
    • event_idstringRequired
    • event_typestringRequired
    • statuspending | delivered | failed | deadRequired
    • attemptsintegerRequired
    • next_attempt_atstring | null
    • last_response_codeinteger | null
    • replay_countinteger
    • created_atstring (date-time)Required
  • 404Not found. Records of other companies are also reported as not found.
  • 401Missing, revoked, or expired API key.
  • 403The key lacks the scope.
  • 429Rate limited: 60 requests per minute per key.