WinFactor Docs

Events

Your webhook delivery log — inspect and redeliver

Self-serve debugging for your integration: every webhook delivery is queryable, and failed/delivered events can be re-sent.

GET /events

Query params: type (e.g. pricing.calculated), status (pending|processing|delivered|failed), limit, cursor. Items:

curl -H "Authorization: Bearer $WF_API_KEY" \
  "https://app.winfactor.app/api/v1/events?status=failed&type=quote.sent"
{
  "id": "k99…", "type": "quote.sent", "entityType": "quote", "entityId": "k61…",
  "status": "delivered", "attempts": 1, "maxAttempts": 3, "lastError": null,
  "scheduledFor": 1781100500000, "deliveredAt": 1781100501200,
  "createdAt": 1781100500000
}
FieldNotes
typeEvent name as delivered to your webhook (quote.sent, pricing.calculated, lead.created, …)
entityType / entityIdThe subject record (quote, submission, lead, …) — join back via the matching resource endpoint
attempts / maxAttemptsDelivery attempts used vs. budget; failed means the budget is exhausted
lastErrorLast delivery failure (HTTP status or transport error), null if none
scheduledForWhen the next/last attempt was due (Unix ms)
deliveredAtFirst successful delivery, null until then

GET /events/{id}

Adds the event payload. Secret-bearing fields (the pricing callback block with its capability token) are redacted — payloads from this read surface can never yield write credentials.

POST /events/{id}/redeliver

Re-enqueues a delivered or failed event through the normal delivery pipeline with a fresh retry budget — your recovery tool after an endpoint outage. Pricing events mint a new capability token at dispatch, so redelivered callbacks work.

Returns 200 { "redelivered": true }, or 409 already_in_flight if the event is currently pending/processing.

On this page