Skip to main content

Delivery log & replay

No support ticket needed to answer "did you send it?" — your delivery history is queryable, and any event is re-sendable, via the API itself.

Inspect deliveries

GET /api/v1/partner/webhooks/deliveries?limit=50
GET /api/v1/partner/webhooks/deliveries?status=exhausted&since=2026-07-20T00:00:00Z
{
"deliveries": [{
"eventId": "evt_…", "type": "payment.collected",
"sourceLoanNumber": "LN-…", "sequence": 3,
"status": "delivered", // pending | in_flight | delivered | exhausted
"attempts": 1, "deliveredAt": "…",
"lastStatusCode": 200, "lastError": null
}]
}

exhausted = the full retry ladder failed (~31 hours); the event stays replayable for 30 days.

Replay

POST /api/v1/partner/webhooks/deliveries/{eventId}/replay

Queues an immediate re-delivery — works on delivered events too (lost it after processing? replay it). Your receiver's eventId dedupe makes replays harmless by design.

Test your endpoint

POST /api/v1/partner/webhooks/test

Fires a signed ping and returns the result synchronously — { delivered, statusCode, latencyMs, error }. Run it on every deploy of your receiver.