Redeliver an event and replace its previous outcome
const url = 'https://api.octaneai.com/v1/webhooks/example/deliveries/example/redeliver';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.octaneai.com/v1/webhooks/example/deliveries/example/redeliver \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Responses
Section titled “Responses”The delivery, queued again with its attempt history kept.
object
object
object
Example
{ "attempts": 1, "created_at": "2026-09-07T09:11:58Z", "endpoint_id": "whe_3f2504e04f8911d39a0c0305e82c3301", "event_id": "evt_6ba7b8109dad11d180b400c04fd430c8", "id": "whd_7c9e6679742540de944be07fc1f90ae7", "last_response": "ok", "last_status_code": 200, "next_attempt_at": "2026-09-07T09:12:00Z", "payload": { "api_version": "v1", "created": "2026-09-07T09:11:58Z", "data": { "object": { "answered_count": 1, "answers": { "image_choice-48su5": { "kind": "image", "label": "Skin type?", "option_ids": [ "dry" ], "page_key": "skin", "value": "dry", "values": [ "Dry" ] } }, "channel": "email", "completed_at": "2026-09-07T09:11:30Z", "country": "US", "device": { "browser": "Mobile Safari", "browser_version": "17.5", "class": "mobile", "family": "iPhone", "model": "iPhone", "os": "iOS", "os_version": "17.5", "vendor": "Apple" }, "ended_at": "2026-09-07T09:11:30Z", "formulas": [ { "component_key": "formula-tidtk", "label": "Hydration score", "page_key": "result", "value": 72 } ], "id": "sess_9b2d4a5e6f7a4b8c9d0e1f2a3b4c5d6e", "last_page": "result", "page_url": "https://shop.example.com/pages/quiz", "points": [ { "dimension_id": "dry", "name": "Dry", "total": 14 } ], "products_shown": [], "property_mappings": [], "quiz_id": "quiz_7c9e6679742540de944be07fc1f90ae7", "quiz_name": "Find your routine", "started_at": "2026-09-07T09:08:00Z", "utm_source": "newsletter", "version_id": "ver_15ce0be06b904d0180b1155da02a6c6f", "version_number": 2, "visitor_id": "vis_0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d" } }, "id": "evt_6ba7b8109dad11d180b400c04fd430c8", "type": "quiz.finished" }, "status": "pending", "topic": "quiz.finished"}The key is missing, malformed, revoked or expired.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code
A stable URI naming the error, on this API’s public host
Example
{ "detail": "The API key is missing, malformed, revoked or expired", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": 401, "title": "invalid_api_key", "type": "https://api.octaneai.com/errors/invalid_api_key"}Headers
Section titled “Headers”Example
BearerThe store’s plan has no API access, or the key lacks the scope.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code
A stable URI naming the error, on this API’s public host
Examples
{ "detail": "The API key does not carry the scope this route needs", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "required": [ "quizzes:read" ], "status": 403, "title": "insufficient_scope", "type": "https://api.octaneai.com/errors/insufficient_scope"}{ "detail": "The merchant API is available on the Plus and Enterprise plans", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": 403, "title": "plan_required", "type": "https://api.octaneai.com/errors/plan_required"}Not found
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code
A stable URI naming the error, on this API’s public host
Example
{ "detail": "Not found", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": 404, "title": "not_found", "type": "https://api.octaneai.com/errors/not_found"}The endpoint limit was reached or the requested change conflicts with the endpoint’s state.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code
A stable URI naming the error, on this API’s public host
Example
{ "detail": "The endpoint cannot be changed in its current state", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": 409, "title": "webhook_conflict", "type": "https://api.octaneai.com/errors/webhook_conflict"}A request parameter is invalid.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code
A stable URI naming the error, on this API’s public host
Example
{ "detail": "A request parameter is invalid.", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": 422, "title": "validation_error", "type": "https://api.octaneai.com/errors/validation_error"}The key’s or the store’s bucket is full; Retry-After says when to try again.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code
A stable URI naming the error, on this API’s public host
Example
{ "detail": "Too many requests", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "retry_after": 1, "status": 429, "title": "rate_limited", "type": "https://api.octaneai.com/errors/rate_limited"}Request limits cannot be checked right now; retry shortly.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code
A stable URI naming the error, on this API’s public host
Example
{ "detail": "Request limits cannot be checked right now; retry shortly", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": 503, "title": "limiter_unavailable", "type": "https://api.octaneai.com/errors/limiter_unavailable"}The request timed out.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code
A stable URI naming the error, on this API’s public host
Example
{ "detail": "The request timed out.", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": 504, "title": "timeout", "type": "https://api.octaneai.com/errors/timeout"}