Skip to main content
Send JSON for every write, use UUIDs exactly as returned by Droyd, and keep client-generated client_key values stable when a route supports idempotency. Successful responses include ok: true; unsuccessful responses include an HTTP status plus a stable error code and a human-readable message.
Treat 400 as a request that needs correction, 401 or 403 as an authentication or account-access problem, 404 as an inaccessible or missing resource, and 409 as a state or idempotency conflict. Retry 500 and 503 only when the operation’s idempotency rules make doing so safe.