Read requests and attempts
Read endpoints use the project selected by the bearer API key. A request belonging to another project is returned as 404 Not Found.
List requests
Section titled “List requests”GET https://api.stormedo.com/requestsQuery parameters
Section titled “Query parameters”| Parameter | Description |
|---|---|
status |
scheduled, queued, delivering, succeeded, failed, or cancelled. |
search |
Exact req_ ID or case-insensitive destination URL fragment, up to 2048 bytes. |
method |
GET, POST, PUT, PATCH, or DELETE. |
source |
api, recurring, or replay. |
from |
Inclusive RFC 3339 creation-time boundary. |
to |
Exclusive RFC 3339 creation-time boundary. Must be later than from. |
cursor |
Opaque cursor returned by the previous page. |
limit |
Items per page from 1 through 100. Defaults to 50. |
Requests are ordered newest first.
curl \ 'https://api.stormedo.com/requests?status=failed&method=POST&limit=25' \ --header "Authorization: Bearer $STORMEDO_TOKEN"Response
Section titled “Response”{ "success": true, "data": { "items": [ { "id": "req_33uZSQsVaf8aZjDuzkuAq", "replayed_from_request_id": null, "schedule_id": null, "url": "https://your-app.example/webhooks/orders", "method": "POST", "queue": "default", "status": "failed", "scheduled_at": null, "created_at": "2026-08-28T10:15:30Z", "started_at": "2026-08-28T10:15:31Z", "completed_at": "2026-08-28T10:16:20Z" } ], "next_cursor": "AZv4h7Q2AACW2hJvR8WmC1p0YK9sP3nLqT5eX8aB2cQ", "history_retention_days": 30, "history_cutoff_at": "2026-07-29T10:20:00Z", "has_hidden_history": false }, "error": null, "meta": null, "request_id": "95c07a5c-3d44-4b89-84a6-c5a71313bff2"}Pass next_cursor unchanged to retrieve the next page. A null cursor means there is no next page.
Terminal history older than the workspace retention period is not returned. Active requests remain visible even when they were created before the cutoff.
Retrieve a request
Section titled “Retrieve a request”GET https://api.stormedo.com/requests/{request_id}curl \ 'https://api.stormedo.com/requests/req_33uZSQsVaf8aZjDuzkuAq' \ --header "Authorization: Bearer $STORMEDO_TOKEN"The response includes the request definition, lifecycle timestamps, metadata, header names with redacted values, and completed attempts:
{ "success": true, "data": { "id": "req_33uZSQsVaf8aZjDuzkuAq", "replayed_from_request_id": null, "schedule_id": null, "url": "https://your-app.example/webhooks/orders", "method": "POST", "max_attempts": 4, "timeout_seconds": 45, "queue": "default", "metadata": { "order_id": "ord_123" }, "content_type": "application/json", "headers": { "authorization": "[REDACTED]" }, "status": "succeeded", "scheduled_at": null, "created_at": "2026-08-28T10:15:30Z", "updated_at": "2026-08-28T10:15:32Z", "started_at": "2026-08-28T10:15:31Z", "completed_at": "2026-08-28T10:15:32Z", "cancelled_at": null, "attempts": [ { "attempt_number": 1, "status": "succeeded", "response_status_code": 204, "error_message": null, "duration_ms": 412, "started_at": "2026-08-28T10:15:31Z", "completed_at": "2026-08-28T10:15:32Z", "retry": null } ] }, "error": null, "meta": null, "request_id": "95c07a5c-3d44-4b89-84a6-c5a71313bff2"}Stored request bodies and destination header values are never returned.
List completed attempts
Section titled “List completed attempts”GET https://api.stormedo.com/requests/{request_id}/attemptsThis endpoint returns the same completed attempt objects without the surrounding request definition. It returns an empty array until the first attempt completes.
When another attempt is scheduled, retry contains the decision:
{ "reason": "http_429", "retry_after_raw": "120", "retry_after_truncated": false, "retry_after_escaped": false, "retry_after_status": "valid", "retry_after_delay_ms": 120000, "backoff_delay_ms": 30000, "selected_delay_ms": 120000, "delay_source": "retry_after", "next_attempt_at": "2026-08-28T10:17:32Z"}Consistency and errors
Section titled “Consistency and errors”A newly accepted request can take a short time to appear in list and detail responses. The original 202 Accepted response remains confirmation that Stormedo accepted it durably.
401indicates a missing or invalid API key.404indicates a missing, malformed, cross-project, or expired-retention request ID.422indicates invalid filters, timestamps, cursor, method, or limit.