How it works
- Register a URL in your organization’s developer settings.
- Events fire as your cases progress through the arbitration process.
- We send a POST request to your URL with a JSON payload describing what happened.
x-service: webhooks.platform.arb.inc.
Envelope format
Every webhook event is wrapped in the same envelope structure:Unique identifier for this event. Deterministic — retries of the same event produce the same ID, so you can use it for deduplication.
ISO 8601 timestamp of when the event occurred.
The event type. One of
docket_filing, phase_changed, or case_closed.Event-specific payload. Structure depends on the
event type.Example Envelope
Event types
| Event | Fired when |
|---|---|
docket_filing | A document is added to the case docket |
phase_changed | A case transitions to a new phase |
case_closed | A case is closed |
Retry behavior
Webhooks are delivered through a managed task queue with automatic retries. If your endpoint returns a non-2xx status code or times out (60-second limit), delivery will be retried. Theid field is deterministic — the same event always produces the same ID, even across retries. Use it to safely deduplicate incoming webhooks on your end.
Best practices
Respond quickly
Respond quickly
Return a 2xx status code as fast as possible. Do heavy processing asynchronously after acknowledging receipt.
Deduplicate by ID
Deduplicate by ID
Store the
id of each processed webhook. If you receive the same ID again, skip processing — it is a retry.Verify the source
Verify the source
Webhooks include the header
x-service: webhooks.platform.arb.inc. While not a cryptographic signature, you can use it as a basic check along with keeping your webhook URL secret.Handle events out of order
Handle events out of order
Webhooks may arrive out of order. Use the
timestamp field and your own case state to handle this gracefully.