Skip to main content

Delivery Contract

When clientWebhookUrl is present on a case, Offload sends:
The current implementation:
  • sends only one request per event
  • treats any 2xx as success
  • does not sign events
  • does not retry failures

Common Envelope

Event Types

case.completed

Sent when the case becomes COMPLETED.

case.failed

Sent when the case becomes FAILED.
Known resultStatus values include:
  • max_retries
  • failed_rejected
  • BOUNCED
  • COMPLAINED
  • REJECTED

case.input_needed

Sent when the worker pauses the case and needs your input.

Fields In data

Handling Advice

  • Deduplicate on event_id.
  • Persist the full payload.
  • Return a fast 2xx.
  • Use the attachments endpoint when you need a fresh file URL.
  • Poll important cases for reconciliation because failed webhooks are not retried.