Network requests fail. Workers crash. Clients lose their connection mid-call. To make retrying writes safe, Arcmira accepts anDocumentation Index
Fetch the complete documentation index at: https://docs.arcmira.com/llms.txt
Use this file to discover all available pages before exploring further.
Idempotency-Key header on every POST and PATCH request to watchlists and trackers.
How it works
- Send a
POSTorPATCHwithIdempotency-Key: <unique-string>. - Arcmira processes the request and stores the response body, status, and a hash of the request body keyed by your key for 24 hours.
- Any retry with the same
Idempotency-Keyreturns the cached response withIdempotency-Replayed: trueset in the response headers.
Choosing keys
- Use a fresh, unique key per logical operation. A UUID v4 per call is the safest default.
- Make the key meaningful to your system — e.g.
tracker:create:user_abc:job_42. That makes debugging fromX-Request-Idtraces easy. - Reusing a key with a different request body is treated as a conflict.
Example
First attempt
Retry
Conflicts
Replaying a key with a different body returns409 idempotency_conflict:
Caveats
- Cached responses survive for 24 hours and may not survive infrastructure-side cache evictions. If your retry window is longer, mint a new key and accept that the underlying record might already exist (and handle the resulting
409/400accordingly). GETandDELETErequests don’t accept idempotency keys — they’re already idempotent at the HTTP semantics layer.- The
Idempotency-Replayed: trueheader is the only way to tell whether a successful response came from a fresh execution or a cached one.