Cancel and replay requests
Cancellation and replay are actions on request resources. Neither action deletes or mutates completed attempt history.
Cancel a request
Section titled “Cancel a request”POST https://api.stormedo.com/requests/{request_id}/cancelcurl --request POST \ 'https://api.stormedo.com/requests/req_33uZSQsVaf8aZjDuzkuAq/cancel' \ --header "Authorization: Bearer $STORMEDO_TOKEN"An accepted durable cancellation returns 202 Accepted:
{ "success": true, "data": { "id": "req_33uZSQsVaf8aZjDuzkuAq", "status": "cancellation_requested" }, "error": null, "meta": null, "request_id": "95c07a5c-3d44-4b89-84a6-c5a71313bff2"}If the request is already cancelled, the endpoint returns 200 OK with status: "cancelled".
Cancellation stops a scheduled wait or later retry after the durable workflow observes the signal. An HTTP attempt already in flight may still finish. Requests that already succeeded or failed return 409 Conflict.
Replay a request
Section titled “Replay a request”POST https://api.stormedo.com/requests/{request_id}/replayReplay accepts an optional Idempotency-Key header containing 1 to 255 bytes.
curl --request POST \ 'https://api.stormedo.com/requests/req_33uZSQsVaf8aZjDuzkuAq/replay' \ --header "Authorization: Bearer $STORMEDO_TOKEN"Stormedo returns 202 Accepted with a new request:
{ "success": true, "data": { "id": "req_45vATRtWbg9bAkEv0lvBr", "project_id": "prj_2Z5mQe7cB9kP4sV8xH1nD", "replayed_from_request_id": "req_33uZSQsVaf8aZjDuzkuAq", "status": "queued", "scheduled_at": null, "created_at": "2026-08-28T11:15:30Z" }, "error": null, "meta": null, "request_id": "67d18b7c-5f3e-4a58-b748-40b555c8d9a1"}Replay copies the destination, method, headers, body, content type, retry configuration, timeout, queue, and metadata. It does not copy the original delivery time or recurring schedule ownership. The new request begins immediately with a fresh attempt budget.
Only completed or cancelled requests can be replayed. Active requests return 409 Conflict.
Errors
Section titled “Errors”| Status | When it occurs |
|---|---|
401 |
The project API key is missing or invalid. |
404 |
The request does not exist in the API key project. |
409 |
Cancellation targets a completed request, replay targets an active request, or an idempotency key conflicts. |
422 |
A replayed stored definition no longer satisfies current delivery validation. |
429 |
Replay would exceed the workspace monthly request allowance. |
502 or 503 |
Stormedo could not durably accept the action. |