Not available yet. Webhooks are being built and are not part of the API today: there is no way to subscribe yet, and no events are sent. This page describes the planned design so you can prepare; details may change before release.
Every delivery will be signed with your endpoint’s signing secret using HMAC-SHA256. Verify the signature before you trust anything in the body.
t is the time the delivery was signed, in Unix seconds.
v1 is the hex-encoded HMAC-SHA256 of the signed payload, keyed with your signing secret.
The signed payload is the timestamp, a dot, and the raw request body, byte for byte:
Verify it
- Read the raw body before parsing it. Re-serialising parsed JSON changes the bytes and breaks the signature.
- Split the header into
t and v1.
- Compute HMAC-SHA256 over
t + "." + raw body with your signing secret, and hex-encode it.
- Compare it with
v1 using a constant-time comparison.
- Reject the delivery if
t is too far from your clock (for example more than 5 minutes), so an old delivery cannot be replayed.
Answer 401 or 400 to a delivery that fails verification, and do not act on it.
Rotating the signing secret
You will be able to ask for a new signing secret for an endpoint. Like an API key, it is shown once. Switch your verifier to the new secret as soon as you receive it.