Introduction
Stormedo is a managed outbound HTTP delivery service. Your application submits an HTTP request definition, Stormedo accepts it durably, and delivery continues independently from the process that created it.
Use Stormedo when an HTTP call must happen now, later, or repeatedly and your application needs a durable outcome instead of a best-effort network call.
What Stormedo owns
Section titled “What Stormedo owns”After Stormedo accepts a request, it owns:
- Durable request acceptance
- Immediate or delayed delivery
- Temporary failure classification
- Retry timing and
Retry-Afterhandling - Per-attempt timeouts
- Cancellation and replay
- Request state and attempt history
- A delivery signature for every outbound attempt
Your application does not need to operate a message broker, scheduler, worker fleet, or custom retry loop for this work.
What Stormedo does not do
Section titled “What Stormedo does not do”Your destination remains responsible for validating each request, running the business logic, making duplicate deliveries safe, and returning an appropriate HTTP response.
The delivery contract
Section titled “The delivery contract”Stormedo provides at-least-once delivery. A destination can process a request successfully before Stormedo records the result, so a later retry can deliver the same stable request ID again.
Start by learning the basic send and delivery flow. Handling repeated deliveries safely is covered later under Advanced.
Two ways to create the same request
Section titled “Two ways to create the same request”Quick send
Section titled “Quick send”Use POST /send when you have a raw body and a small number of controls such as retry, delay, deliver_at, or timeout.
Advanced request
Section titled “Advanced request”Use POST /requests when you need structured destination headers, metadata, and an explicit retry policy.
Both endpoints create the same request resource and use the same status, cancellation, replay, and attempt-history APIs.
Next step
Section titled “Next step”Send your first request with cURL, then inspect the returned request ID.