Skip to main content
Webhook infrastructure is only useful if you can debug it. The Integration API exposes three tools: delivery history (30-day retention), manual replay, and synthetic test fire.

Delivery history

Response is a paginated list:
Query params:
  • statusPENDING, DELIVERED, FAILED.
  • since — ISO timestamp, filters to deliveries created after.
  • page, size, sort.
Deliveries are retained for 30 days. Older deliveries are purged and no longer replayable.

Manual replay

Returns 202 Accepted. The original event payload is re-delivered to your endpoint with a fresh X-Novatrade-Signature (timestamp updated). Use cases:
  • Your endpoint was down; you fixed it and want to process missed events.
  • You deployed a bug fix and want to re-process yesterday’s events idempotently (your handler dedups on event id).
  • You want to debug a single failure in a new environment.
Your handler should be idempotent on event id — replays share the original id, so reprocessing is detected as a duplicate and is a no-op.

Synthetic test fire

Fire a test event with an arbitrary payload to exercise your handler without waiting for real state changes:
  • Signed identically to real events.
  • The data payload is forwarded verbatim — your handler should treat it as a real event.
  • Typically used with UUIDs you recognize as synthetic (all-zero, reserved test UUIDs) so your handler branches into a no-op path for downstream side effects.

Debugging checklist

  • Check the endpoint is ACTIVE (not paused) via GET /v1/webhooks/{id}.
  • Confirm the event type is in your subscribed events list.
  • Confirm partnerIds filter (if set) includes the partner the event pertains to.
  • Fire a synthetic test event via /test — it appears in history regardless of subscription filters.
  • Use the raw request body, not a parsed/re-serialized one.
  • Use the endpoint’s secret from the original create response, not a different endpoint’s secret.
  • Check the timestamp is within 5 minutes of now — if you replay an old captured event via your test harness, it may be outside the window.
  • Check email to your organization admin.
  • Use GET /v1/webhooks/{id}status field should read PAUSED.
  • Look at delivery history for the failure pattern.
  • Fix the downstream issue, then PATCH /v1/webhooks/{id} with status: ACTIVE.
  • Replay important missed events from history.
  • Expected — at-least-once delivery. Dedupe on event id.
  • If you see the same event delivered ~72h apart, it’s a successful initial delivery followed by a manual replay you (or your team) ran.

Local development with Prism

For handler development without touching the real API, use Prism to serve stub webhook events:
Prism is best for request-shape verification; for end-to-end testing use the /test endpoint on a real registered webhook.

Next

Setup

Register an endpoint.

Event catalog

All payload schemas.