One HTTP call, stored, retried, and finished with history.

Method, URL, headers, body, timeout, and attempt budget go in. A job with attempts and a terminal status comes out.

Job stored
test
POSThttps://api.example.com/reports/generate
Queued
job
job_8f29a
policy
5 attempts · exp. backoff
timeout
10,000 ms
idempotency
sync-invoice-881
Attempts · append-only
The call is persisted before any worker runs it. Nothing has been sent yet.
What it does

Real product states, not a promise.

Method, URL, headers, body, timeout, and attempt budget go in. A job with attempts and a terminal status comes out.

  • Persisted before execution
  • Retries with exponential backoff, up to 20 attempts
  • Every attempt keeps status and duration
  • Cancel before it finishes
Input

Method, URL, headers, body, timeout, and max_attempts

Output

A job with attempts and a terminal status

Where it fits

Where it fits

01

Calling flaky third-party APIs

02

Long-running report generation

03

Calling an agent's HTTP endpoint

API example

One durable request.

POST /v1/jobs. Use an idempotency key on create calls. The full request and response contract is in Flowyn Docs.

AcceptedClaimedAttemptedTerminal state
POSThttps://api.flowyn.dev/v1/jobs202
curl -X POST https://api.flowyn.dev/v1/jobs \
  -H "Authorization: Bearer flw_test_••••" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: sync-invoice-881" \
  -d '{
    "url": "https://api.example.com/reports/generate",
    "method": "POST",
    "timeout_ms": 10000,
    "max_attempts": 5
  }'

Frequently asked questions

Where is the exact request contract for Durable HTTP Jobs?
In Flowyn Docs and the OpenAPI document at https://api.flowyn.dev/openapi/v1.yaml. This page shows the request; the docs page lists every field, status value, error, and limit.
Is the operation durable?
Yes. The operation is stored before any work happens and remains a resource with state, attempts, and error context, not an ephemeral request log.
Do failures stay inspectable?
Yes. Every attempt is recorded. Repeated failures with the same fingerprint are also grouped into an Issue.

Build with Durable HTTP Jobs.

Create a workspace, make your first call in the test environment, and inspect every attempt.