Error Handling
Praeto Dispatcher uses JSON error responses. Standard shape:details may be a string, object, array, or omitted depending on the failure.
Common HTTP statuses
Authentication errors
Missing bearer token:Idempotency conflict
Returned when the sameIdempotency-Key is reused with a different payload.
- Do not retry with a different payload under the same key.
- Fetch or inspect the original event.
- Use a new idempotency key only if this is genuinely a different event.
Rate limit errors
Example:- Read
details.retry_after_seconds. - Wait at least that long.
- Retry with the same
Idempotency-Keyif retryingPOST /v1/events.
Quota limit errors
Possible quota failures:- monthly event limit exceeded
- monthly attempt limit exceeded
- max endpoint count exceeded
- max fan-out endpoints exceeded
- payload too large
- inspect
/v1/usage/current - inspect
/v1/usage/limits - upgrade plan or reduce usage
URL validation errors
Praeto Dispatcher blocks unsafe webhook URLs. Examples:Delivery failure vs API failure
Important distinction:POST /v1/eventsreturning success means Praeto accepted and queued the event.- It does not guarantee every downstream webhook endpoint returned success.
Retry-safe client behavior
When publishing events:- Always send an
Idempotency-Key. - If the request times out or returns
5xx, retry with the same key and same body. - If the response is
409, stop and inspect the original event. - If the response is
429, wait forretry_after_secondsand retry with the same key.