Skip to main content
The VMArea Public API supports Stripe-style idempotent retries on every write endpoint, so a network blip or client crash never leaves you wondering whether a POST actually went through.

How it works

Send an Idempotency-Key header on any POST, PUT, PATCH, or DELETE request to /api/public/v1/*. Replays of the same key by the same API token return the original response — same status, same body — without re-executing the endpoint.

Picking a key

Generate a fresh value per logical operation — typically a UUID4 — and reuse it only when retrying that exact request. Use different keys for different operations; use the same key for retries of the same operation.

Example

Caveats

The cache key is (API token user, Idempotency-Key). A different token from the same account is treated as a different caller.
  • Request bodies are not checksummed — sending a different body with a reused key still returns the original response. Keep one key per operation.
  • Binary downloads (PDF invoices, etc.) are out of scope: replays of those endpoints will re-execute.
  • Idempotency is best-effort. If the cache is briefly unavailable, requests are let through rather than failed; in that rare window a retry may produce a duplicate side effect. Pair this header with normal defensive patterns for true at-most-once semantics.