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 CloudEvents source + id tuple before applying side effects.
  • Keep COPE idempotency_key when present so producer-level retries collapse to one business action.
  • 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. Test event payloads follow the same CloudEvents envelope as production deliveries.