API overview
The Stormedo HTTP API accepts outbound delivery work, returns a durable request ID, and exposes the resulting lifecycle and attempt history.
Base URL
Section titled “Base URL”https://api.stormedo.comAll public endpoints use HTTPS. JSON responses use the Stormedo response envelope, except when a request is rejected before route handling. Successful deletion returns 204 No Content without a body.
Authentication
Section titled “Authentication”Send a project API key as a bearer token:
Authorization: Bearer $STORMEDO_TOKENKeep the key in server-side configuration. The project API key authenticates with Stormedo and is never forwarded to the destination. To send an Authorization header through the quick-send endpoint, use X-Forward-Authorization.
Choose a request endpoint
Section titled “Choose a request endpoint”| Use case | Endpoint | Reference |
|---|---|---|
| Forward a raw body with a small set of delivery controls | POST /send |
Send a request |
| Submit a structured JSON request with metadata or advanced retry settings | POST /requests |
Create an advanced request |
| Submit up to 100 structured requests together | POST /requests/batch |
Create a request batch |
| Inspect request state and completed attempts | GET /requests and GET /requests/{request_id} |
Read requests and attempts |
| Stop active work or repeat completed work | Request cancel and replay endpoints |
Cancel and replay requests |
| Create and manage recurring delivery schedules | /schedules endpoints |
Recurring schedules API |
For application code, the JavaScript SDK and Python SDK provide typed interfaces over these endpoints.
Basic request flow
Section titled “Basic request flow”- Submit work with
/send,/requests, or/requests/batch. - Store the
data.idvalue from the202 Acceptedresponse. - Inspect the request in the dashboard or through
GET /requests/{request_id}. - Use completed attempts to understand destination responses and retry decisions.
202 Accepted confirms that Stormedo accepted the request for delivery. It does not mean the destination has completed the request.
Responses and errors
Section titled “Responses and errors”Successful and failed JSON responses use a common envelope. Resource IDs, lifecycle fields, pagination, redaction behavior, and stable error codes are documented in API objects and errors.
The top-level request_id identifies the API call. Include it when contacting Stormedo support. A resource ID such as req_... or sch_... appears inside data.
Shared behavior
Section titled “Shared behavior”- Request and schedule resources are scoped to the project selected by the bearer API key.
- Each delivery body may contain up to 256 KiB. Endpoint-specific submission limits are documented on each endpoint page.
- Accepted work can take a short time to appear in read responses while its query projection catches up.
- Delivery is at least once. A receiver must safely handle the same request more than once.