Replay a webhook delivery
Re-enqueues one delivery, Stripe-style: creates a FRESH PENDING WebhookDelivery row for the SAME event and endpoint (attempt count 0, next attempt now) that the worker picks up on its normal cycle — the original row is never mutated, so the log keeps the full history. Allowed only when the target delivery is in a terminal state (FAILED, SUCCEEDED or DISABLED — replaying a succeeded delivery is a deliberate resend). Answers 409 delivery_already_pending when ANY delivery for this event+endpoint pair is already PENDING or DELIVERING (no double-enqueue) — which also makes an accidental double-click naturally safe, so this route does not use the Idempotency-Key ledger. The replayed delivery carries the SAME webhook-id signature header as the original (the event id), so consumer-side dedup keeps working. Replaying does NOT re-enable a disabled endpoint — the worker only delivers to enabled endpoints; re-enable via the update route first.
bearerAuthAuthorizationBearer <token>A gid_ API key (Profile → API Keys) or an OAuth 2.1 access token.
endpoint_id*stringdelivery_id*stringThe freshly enqueued replay delivery.
application/json- response
One delivery-log row — REDACTED: never includes response bodies or the signing secret.
id*stringStable id of the delivery row.
event_id*stringThe owning WebhookEvent's id — also the webhook-id signature header on the wire.
event_type*stringThe domain event type.
state*WebhookDeliveryStateLifecycle state of one (event, endpoint) delivery.
"PENDING""DELIVERING""SUCCEEDED""FAILED""DISABLED"attempt_count*integerNumber of delivery attempts made so far.
-9007199254740991 <= value <= 9007199254740991last_status*|HTTP status of the most recent attempt, or null before any attempt has run.
next_attempt_at*|When the next retry is scheduled, or null when not PENDING.
created_at*stringISO-8601 UTC.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$date-timecurl -X POST 'https://app.nowgetitdone.com/v1/webhook-endpoints/string/deliveries/string/replay'{ "id": "string", "event_id": "string", "event_type": "string", "state": "PENDING", "attempt_count": 1, "last_status": 200, "next_attempt_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z"}List a webhook endpoint delivery log GET
Cursor-paginated, REDACTED delivery log for one endpoint — org-scoped via the endpoint (404 for a cross-org or unknown endpoint id). Never includes response…
Replay all recently failed deliveries POST
Bulk sibling of the single replay: creates FRESH PENDING deliveries for this endpoint's FAILED/DISABLED deliveries created at or after since, skipping every…