POST request with the event payload.
Delivery includes automatic retries with exponential backoff.
Need to set up a webhook destination? Follow the steps in Getting Started.
Requirements
Your webhook endpoint must meet these requirements:| Requirement | Detail |
|---|---|
| HTTPS | Destination URL must use HTTPS |
| 200 response | Return a 200 status within 30 seconds to acknowledge receipt |
| Idempotency | Handle duplicate deliveries — see Handling Webhooks for deduplication strategies per event type |
Event Types
All destinations automatically receive every event type. There is no per-event filtering.state_change
Service request state changed — QC, authentication progress, or final result.
media_rejected
Uploaded images rejected during quality control.
invalidate_sr
Service request cancelled or cannot be processed.
Common Payload Fields
Every webhook event includes these base fields:| Field | Type | Description |
|---|---|---|
event_type | string | The event identifier (state_change, media_rejected, invalidate_sr) |
sr_uuid | string | Service request UUID |
reference_id | string | null | Your internal item ID (the external_id you set when creating the SR) |
timestamp | string | ISO 8601 timestamp of when the event occurred |
Retries
Failed deliveries (non-2xx response or timeout) are automatically retried with exponential backoff:| Attempt | Delay |
|---|---|
| 1 | Immediate |
| 2 | ~5 seconds |
| 3 | ~5 minutes |
| 4 | ~30 minutes |
| 5 | ~2 hours |