Skip to main content
WEBHOOK

Headers

X-CatchBack-Signature
string
required

t=<unix seconds>,v1=<hex>. v1 is the HMAC-SHA256 of <t>.<raw request body>, keyed with your whole secret, whsec_ included. Compute it over the raw bytes before any JSON parsing, compare in constant time, and refuse a t more than 5 minutes from your clock.

X-CatchBack-Event
string
required

The event's type.

X-CatchBack-Event-Id
string
required

The event's id, which stays the same on every retry.

X-CatchBack-Attempt
integer
required

Which try this is, from 1 to 8.

Required range: 1 <= x <= 8

Body

application/json
id
string
required

The event's id, evt_ and 32 hex characters. It never changes, including across retries, so dedupe on it.

type
string
required

More event types will be added without notice, so ignore a type you don't recognize.

Allowed value: "order.completed"
created_at
string<date-time>
required

When the thing happened, not when we sent the event.

data
object
required

Response

200

Answer any 2xx within 5 seconds, and do slow work after you've answered. Anything else counts as a failure, including a redirect. We retry after 1 minute, 5 minutes, 30 minutes, 2, 6, 12 and 24 hours, then stop at 8 attempts. Delivery is at-least-once and unordered, so dedupe on id.