# Stormedo

> Managed outbound HTTP delivery with durable acceptance, retries, delayed requests, and recurring schedules.

A 202 confirms acceptance, not destination completion. Server errors can leave acceptance unknown. Use publisher idempotency and duplicate-safe receivers. Stormedo delivers HTTP requests; it does not run customer code.

## Start here

- [Stormedo documentation](https://stormedo.com/docs.md): Learn how to send, schedule, inspect, and verify durable outbound HTTP requests with Stormedo.
- [Send your first request](https://stormedo.com/docs/get-started/first-request.md): Send a test delivery through Stormedo, confirm durable acceptance, and inspect the completed attempt.
- [Introduction](https://stormedo.com/docs/get-started/introduction.md): Understand what Stormedo does, which reliability guarantees it provides, and when to use the quick or advanced request API.
- [Is Stormedo a fit?](https://stormedo.com/docs/get-started/is-stormedo-a-fit.md): Decide when managed outbound HTTP delivery is the right boundary and when another tool is a better fit.

## Tasks

- [Receive Stormedo deliveries](https://stormedo.com/docs/how-to/receive-deliveries.md): Receive and verify your first Stormedo delivery, then add duplicate handling before processing business events.
- [Troubleshoot HTTP delivery](https://stormedo.com/docs/how-to/troubleshoot-delivery.md): Diagnose unknown acceptance, missing history, failed attempts, signature mismatches, rate limits, and recurring schedule problems.
- [Delay an HTTP request](https://stormedo.com/docs/how-to/delay-requests.md): Send once after a duration or at an absolute time, inspect the scheduled delivery, and cancel it before it runs.
- [Schedule recurring HTTP requests](https://stormedo.com/docs/how-to/schedule-requests.md): Create an interval or cron schedule, inspect each delivery, pause future runs, and handle missed occurrences and usage limits.

## SDKs and runnable examples

- [JavaScript and TypeScript](https://stormedo.com/docs/sdks/javascript.md): Install the Stormedo SDK, send single or batch requests, inspect delivery history, and manage recurring schedules from Node.js.
- [Python](https://stormedo.com/docs/sdks/python.md): Install the Stormedo Python SDK, send single or batch requests, inspect delivery history, and manage schedules from synchronous or asynchronous applications.
- [Express webhook receiver](https://stormedo.com/examples/express-webhook-receiver.md): Run an Express endpoint that verifies Stormedo signatures, logs the received JSON event, and acknowledges delivery.
- [FastAPI webhook receiver](https://stormedo.com/examples/fastapi-webhook-receiver.md): Run a FastAPI endpoint that verifies Stormedo signatures, logs the received JSON event, and acknowledges delivery.

## Delivery behavior

- [Request lifecycle](https://stormedo.com/docs/concepts/request-lifecycle.md): Understand durable acceptance, request statuses, delivery attempts, final outcomes, cancellation, and replay in Stormedo.
- [HTTP retry policy](https://stormedo.com/docs/concepts/retries.md): Learn which Stormedo failures are retryable, how attempt limits work, and when Retry-After changes the next delivery time.
- [Idempotency](https://stormedo.com/docs/concepts/idempotency.md): Make publisher retries and duplicate destination deliveries safe with Stormedo idempotency keys and stable request IDs.
- [Verify signed HTTP deliveries](https://stormedo.com/docs/concepts/delivery-verification.md): Verify a Stormedo delivery's signature, project, URL, method, request ID, time window, and exact body before processing it.

## API and limits

- [Create a request batch](https://stormedo.com/docs/api-reference/batches.md): Durably accept up to 100 independent request definitions with batch-level and optional item-level idempotency.
- [API objects and errors](https://stormedo.com/docs/api-reference/objects-and-errors.md): Reference Stormedo response envelopes, request and schedule objects, pagination, identifiers, timestamps, error codes, and redaction behavior.
- [API overview](https://stormedo.com/docs/api-reference/overview.md): Authenticate with the Stormedo HTTP API, choose the right request endpoint, and understand its response and delivery model.
- [Cancel and replay requests](https://stormedo.com/docs/api-reference/request-actions.md): Cancel active durable delivery work or create a new request from a completed request through the HTTP API.
- [Read requests and attempts](https://stormedo.com/docs/api-reference/request-history.md): List requests with cursor pagination, retrieve request detail, and inspect completed delivery attempts through the HTTP API.
- [Create an advanced request](https://stormedo.com/docs/api-reference/requests.md): Create a durable request with structured destination headers, JSON body, metadata, timing, timeout, and retry configuration.
- [Recurring schedules API](https://stormedo.com/docs/api-reference/schedules.md): Create, inspect, update, pause, resume, and delete recurring HTTP delivery schedules.
- [Send a request](https://stormedo.com/docs/api-reference/send.md): Submit raw bytes to Stormedo with the quick send API and configure the destination method, timing, retries, timeout, and headers.
- [Delivery signing protocol](https://stormedo.com/docs/reference/delivery-signatures.md): Reference Stormedo's version 1 Ed25519 delivery token, claims, body digest, public-key discovery, verification limits, and shared test vectors.
- [Plans and limits](https://stormedo.com/docs/reference/plans-and-limits.md): Compare Stormedo Free and Pro allowances, pricing, history retention, and monthly request accounting.

## Machine-readable resources

- [Public OpenAPI](https://stormedo.com/openapi.json): Project API operations and schemas.
- [Starter bundle](https://stormedo.com/llms-small.txt): Complete onboarding, reliability, and receiver pages. Other tasks require the linked references above.
- [Full documentation](https://stormedo.com/llms-full.txt): All public documentation and receiver examples, with source URLs.
- [Integration instructions](https://stormedo.com/SKILL.md): Guidance for coding agents.
