webhooks

A job failed.

postWebhookjob.failed

Headers

Postscript-Webhook-Signaturestring required
Example:t=1753290721,v1=8a2f45c0dd6e01b39c1f0a7e5d4b3a2918f7c6d5e4a3b2c1d0e9f8a7b6c5d4e3

t=<unix seconds>,v1=<hex>, where v1 is the HMAC-SHA256 of t, a period, and the raw request body, keyed with the full subscription secret including its whsec_ prefix. For up to 24 hours (the default) after a secret rotation the header carries one v1 per active secret; accept the delivery if any matches. Reject a t more than 5 minutes from your clock, and ignore keys you do not recognize.

Payload

account_idstring required
api_versionstring date required
event_typestring required
idstring required

The same on every retry.

livemodeboolean required
object'webhook_event' required
occurred_atstring date-time required
subjectstring nullable required

The entity that this delivery is about.

Example payload

{
  "data": {
    "completed_at": "2026-07-23T17:32:01.123456Z",
    "created_at": "2026-07-23T17:32:01.123456Z",
    "updated_at": "2026-07-23T17:32:01.123456Z"
  },
  "event_type": "webhook.throttled",
  "occurred_at": "2026-07-23T17:32:01.123456Z"
}

Response

Return any 2xx within 10 seconds to acknowledge the delivery. Network errors, timeouts, and 408, 409, 425, 429 and 5xx responses are retried for up to 72 hours; any other response fails the delivery without a retry.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.