Browse documentation
Browse API reference
Webhook ingestion v1 stable

Ingest a webhook delivery

Authenticate an inbound delivery, deduplicate it by a stable delivery key, and enqueue the selected active workflow. A 202 response means accepted, not completed.

POST /api/v1/webhooks/{token}

Access and behavior

Required scope
webhooks
Authentication
Selected service-account bearer token; optional API-key or HMAC sender verification
Idempotency
seven-day delivery deduplication
Operation ID
ingestWebhookDelivery

Request headers

Header Presence Description
Authorization Required Short-lived service-account bearer token.
Idempotency-Key Optional Stable sender delivery identifier. Repeated deliveries are acknowledged as duplicate during the seven-day retention window.
Content-Type Required Request document media type.

Parameters

token

path · Required

string

Opaque token from the active webhook trigger URL.

Request body

application/json

Schema: object · Required

request.json
{
  "event": "order.created",
  "order_id": "ord_123"
}

Success response

202 The delivery was accepted or recognized as a duplicate.
Media type
application/json
Schema
WebhookAccepted

Errors and retries

Keep x-request-id from failed responses. Retry only rows marked retryable, and obey Retry-After when present.

Status Code Recovery Meaning
401 missing_credentials Do not retry unchanged The bearer token is missing, invalid, or expired.
401 unauthorized Do not retry unchanged The selected service account, organization, or connector authentication is invalid.
403 insufficient_scope Do not retry unchanged The selected service account lacks the webhooks scope.
404 not_found Do not retry unchanged The active trigger was not found.
413 payload_too_large Do not retry unchanged The body exceeds the configured limit (1 MiB by default).
429 rate_limited Retry after guidance The delivery exceeded its rate window; wait for Retry-After.
422 processing_failed Do not retry unchanged The delivery failed stable workflow or payload validation.
422 unsupported_trigger_authentication Do not retry unchanged The trigger uses a connector authentication mode that conflicts with bearer authentication.
503 temporarily_unavailable Retry after guidance A transient processing dependency failed; retry after Retry-After.