Skip to content

Put one exhausted delivery back on the retry ladder

POST
/v1/webhook-deliveries/{delivery_id}/redrive
curl --request POST \
--url https://api.vocapable.com/v1/webhook-deliveries/example/redrive \
--header 'Authorization: Bearer <token>'

Self-service recovery after an outage outlasted the 24-hour retry window.

Only an exhausted delivery moves: pending/failed are already on the ladder, and a delivered one was received - re-sending it would deliver the same event twice on a human’s timescale. The requeued delivery gets exactly one more POST (the enqueue window is never reopened); a receiver that is still down returns it to exhausted, one press at a time.

delivery_id
required
Delivery Id
string

Successful Response

Media typeapplication/json
WebhookDelivery

One ledger row: a single (endpoint, event) pair, retried in place.

object
id
required
Id
string
endpoint_id
required
Endpoint Id
string
event_id
required
Event Id
string
attempt
required
Attempt
integer
status
required
Status
string
response_code
required
Any of:
integer
next_retry_at
required
Any of:
string format: date-time
delivered_at
required
Any of:
string format: date-time
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
string format: date-time
Examplegenerated
{
"id": "example",
"endpoint_id": "example",
"event_id": "example",
"attempt": 1,
"status": "example",
"response_code": 1,
"next_retry_at": "2026-04-15T12:00:00Z",
"delivered_at": "2026-04-15T12:00:00Z",
"created_at": "2026-04-15T12:00:00Z",
"updated_at": "2026-04-15T12:00:00Z"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}