Replay all recently failed deliveries
POST
/v1/webhook-endpoints/{endpoint_id}/replay-failedBulk sibling of the single replay: creates FRESH PENDING deliveries for this endpoint's FAILED/DISABLED deliveries created at or after `since`, skipping every event that already has a PENDING/DELIVERING delivery queued for this endpoint (no double-enqueue) — hard-capped at 1000 replays per call (call again with the same `since` for the rest; already-replayed events are skipped by the pending check). Repeating the call is naturally near-idempotent for the same reason, so this route does not use the Idempotency-Key ledger. Does NOT re-enable a disabled endpoint — the “re-enable & replay” console flow is: update `enabled: true` (which resets the failure counter), then call this.
Required scopes
webhooks:write
Availability
Pro & Team plans
Quota cost
1 API call
Idempotency
Not applicable
Request
Path parameters
| Field | Type | Description |
|---|---|---|
endpoint_idrequired | string |
Request body
| Field | Type | Description |
|---|---|---|
sincerequired | string (date-time) | Only FAILED/DISABLED deliveries created at or after this ISO-8601 instant are replayed.e.g. 2026-07-24T00:00:00Z |
▸ ▾ Raw request schema
{
"type": "object",
"properties": {
"since": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\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))$",
"description": "Only FAILED/DISABLED deliveries created at or after this ISO-8601 instant are replayed.",
"example": "2026-07-24T00:00:00Z"
}
},
"required": [
"since"
],
"description": "Time window for the bulk replay."
}Response 202
How many deliveries were re-enqueued.
Fields
| Field | Type | Description |
|---|---|---|
replayed_countrequired | integer | How many FRESH PENDING deliveries this call created (capped at 1000 per call). |
▸ ▾ Raw response schema
{
"type": "object",
"properties": {
"replayed_count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many FRESH PENDING deliveries this call created (capped at 1000 per call)."
}
},
"required": [
"replayed_count"
],
"additionalProperties": false,
"description": "Result of a bulk replay of failed deliveries."
}Example request
curl
curl -X POST https://app.nowgetitdone.com/v1/webhook-endpoints/whep_a1b2c3/replay-failed \
-H "Authorization: Bearer gid_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"since": "2026-07-24T00:00:00Z"
}'Possible errors
- 400
validation_failedRequest validation failed - 401
missing_credentialsMissing credentials - 401
invalid_api_keyInvalid API key - 401
invalid_tokenInvalid access token - 403
insufficient_scopeInsufficient scope - 403
feature_not_enabledFeature not enabled on this plan - 404
resource_not_foundResource not found - 429
rate_limitedRate limit exceeded - 429
quota_exhaustedPlan quota exhausted - 500
internal_errorInternal server error