Documentation Index
Fetch the complete documentation index at: https://docs.arcuserp.com/llms.txt
Use this file to discover all available pages before exploring further.
What is idempotency?
An idempotent operation can be repeated multiple times without changing the result beyond the first execution. On the Arcus API, idempotency protects you from creating duplicate orders, payments, or other records when a request fails partway through (network timeout, server restart, etc.).How to use it
Include theIdempotency-Key header on any POST, PATCH, or DELETE request. The value must be unique per operation — a UUID v4 is the recommended format.
Replay behavior
| Scenario | Response |
|---|---|
| First request with a new key | Normal execution; response stored |
| Retry with the same key (within 24 hours) | Original response returned immediately, no re-execution |
| Retry with the same key (after 24 hours) | Key expired; request treated as new |
| Different request body with an existing key | 409 Conflict with code: idempotency_key_mismatch |
24-hour replay window
Arcus stores idempotency keys and their responses for 24 hours. After that window, the key is expired and a new request with the same key is treated as a fresh operation. If your retry strategy spans more than 24 hours, generate a new key.Key format
The key can be any string up to 255 characters. Best practices:SDK usage
All SDKs handle idempotency keys automatically for safe retries:When to use idempotency keys
Use them on every POST, PATCH, or DELETE that mutates data. The most critical cases:- Creating orders, invoices, or payments
- Processing refunds
- Purchasing shipping labels
- Posting journal entries
- Any financial or inventory-affecting operation

