Skip to content

Send your first request

This quickstart sends a JSON message to Stormedo’s test destination. You will create one durable request, follow its delivery state, and inspect the completed attempt.

You need a Stormedo account, a project, and a project API key. You do not need to create a destination endpoint for this quickstart.

Keep the API key in server-side configuration. The examples use STORMEDO_TOKEN:

Terminal window
export STORMEDO_TOKEN='sm_key_...'

Send a message to Stormedo’s test destination:

Terminal window
curl --request POST \
'https://api.stormedo.com/send?url=https://api.stormedo.com/ping&retry=3' \
--header "Authorization: Bearer $STORMEDO_TOKEN" \
--header 'Content-Type: application/json' \
--data '{"message":"Hello from Stormedo"}'

Stormedo stores the request before starting delivery. The test destination accepts the JSON body and returns 200 OK, so the request should succeed on its first attempt. If a temporary failure occurs, retry=3 allows up to three retries.

Stormedo responds with 202 Accepted:

{
"success": true,
"data": {
"id": "req_33uZSQsVaf8aZjDuzkuAq",
"project_id": "prj_2Z5mQe7cB9kP4sV8xH1nD",
"replayed_from_request_id": null,
"status": "queued",
"scheduled_at": null,
"created_at": "2026-08-24T10:15:30Z"
},
"error": null,
"meta": null,
"request_id": "95c07a5c-3d44-4b89-84a6-c5a71313bff2"
}

data.id identifies the durable request and every delivery attempt that belongs to it. Keep this req_... value when logging or storing the operation in your application.

The top-level request_id identifies only this API call and is useful when contacting Stormedo support.

Open Requests in the Stormedo dashboard and search for the data.id value.

The test request should reach succeeded after one attempt. You may briefly see queued or delivering before it completes:

queued → delivering → succeeded

A newly accepted request can take a short time to appear in request history.

Open the request in the dashboard to see its destination, timing, and completed attempt. A successful test delivery shows an HTTP 200 response with no retry scheduled.

The attempt confirms that Stormedo delivered the request. The earlier 202 Accepted response confirmed only that Stormedo accepted responsibility for it.

Replace https://api.stormedo.com/ping in the url parameter with your public destination URL. Stormedo will deliver the same body and Content-Type to that endpoint.

For application code, continue with the JavaScript SDK or Python SDK. For direct HTTP integration, see Send a request. To understand other outcomes, read Request lifecycle and Retries.