Reference
Webhooks
Signed event notifications pushed to a URL you provide. Use these instead of polling for status changes.
You give us a delivery URL and a shared secret. We POST a JSON body and a signature with each event. Deliveries are at-least-once — dedupe on event_id.
Verifying a delivery
Compute HMAC_SHA256(secret, "{t}.{raw_body}") and compare against the v1= part of the signature header (constant-time comparison). Reject any delivery where the timestamp t is more than 5 minutes from your server’s clock, or where the signature doesn’t match — that catches both tampering and replay.
Retries
Non-2xx responses (or timeouts) are retried with exponential backoff for a few attempts. Return 2xx as soon as you’ve durably accepted the event — do the rest of the work afterwards.
Event types
job.created— a job was created in your scope. Includes the new job’s ID.job.status_changed— a job moved between statuses. The body includes both the new and previous status so you can update your local copy without a follow-up read.