Skip to main content
Legitmark sends real-time event notifications to your HTTPS endpoints through webhooks. When a service request state changes, images are rejected during quality control, or a request is invalidated, your endpoint receives a 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:
RequirementDetail
HTTPSDestination URL must use HTTPS
200 responseReturn a 200 status within 30 seconds to acknowledge receipt
IdempotencyHandle 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.

Common Payload Fields

Every webhook event includes these base fields:
FieldTypeDescription
event_typestringThe event identifier (state_change, media_rejected, invalidate_sr)
sr_uuidstringService request UUID
reference_idstring | nullYour internal item ID (the external_id you set when creating the SR)
timestampstringISO 8601 timestamp of when the event occurred

Retries

Failed deliveries (non-2xx response or timeout) are automatically retried with exponential backoff:
AttemptDelay
1Immediate
2~5 seconds
3~5 minutes
4~30 minutes
5~2 hours
After all retries are exhausted, the message is marked as failed. You can view delivery status and retry manually from the Developer Settings.

Testing

If you don’t have an endpoint ready yet, you can use Svix Play to generate a temporary webhook URL for testing. Paste the generated URL as your webhook destination in the Developer Settings, send a test event, and inspect the payload in real time.

Next Steps