Skip to main content

Webhook deliveries and replay

COPE delivers webhooks at least once. Your integration should treat every delivery as retryable and idempotent.

Replay behavior

  • Deduplicate by the event id before applying side effects: a retry or a replay repeats it.
  • Replay commands should be sent with an idempotency key when a replay API route is available.
  • Bulk replay is represented as a replay job rather than a synchronous loop.
  • Bulk replay returns no_matching_deliveries when the selected window has no failed deliveries to replay.

Test events

Use test events to verify endpoint reachability, signature verification, and idempotent processing before subscribing to production event traffic. A test event arrives in the same envelope as a production delivery.