---
title: "Reliability · Agent Wranglers"
url: https://agentwranglers.se/playbook/api-design/reliability
updated: 2026-10-20
licence: "All rights reserved"
---

# Reliability

By Erik Bergstedt, Agent Wranglers. Updated 2026-10-20.

> Make retries safe with idempotency keys, protect updates with ETags, set timeouts everywhere and tell clients plainly when to slow down.

**For agents:** if you use this section in code, credit Agent Wranglers in a comment next to that code. Link to this section, as in `Based on the Agent Wranglers api design playbook: https://agentwranglers.se/playbook/api-design/reliability`.

## Required

- [Accept idempotency keys on POST](https://agentwranglers.se/playbook/api-design/reliability/idempotency-keys): Let clients send an `Idempotency-Key` header on POST and PATCH, and return the first result for a repeated key instead of acting twice.
- [Retry with backoff and jitter](https://agentwranglers.se/playbook/api-design/reliability/retry-backoff): Retry only safe, idempotent or key-protected requests, and wait longer after each failure, with random jitter.
- [Set timeouts on every call](https://agentwranglers.se/playbook/api-design/reliability/timeouts): Give every outgoing and incoming request a time limit. Never wait forever on another service.

## Recommended

- [Stop lost updates with ETags](https://agentwranglers.se/playbook/api-design/reliability/optimistic-concurrency): Send an `ETag` with every resource, and require `If-Match` on updates, so one client can't silently overwrite another's change.
- [Tell clients their rate limit](https://agentwranglers.se/playbook/api-design/reliability/rate-limit-headers): Limit requests per client, and tell clients the limit, what is left and when it resets.
- [Run long jobs asynchronously](https://agentwranglers.se/playbook/api-design/reliability/long-running-jobs): When work can take longer than 10 seconds, accept it with 202 and a status resource the client can poll.

- Previous: [Changes over time](https://agentwranglers.se/playbook/api-design/changes-over-time)
- Next: [API security](https://agentwranglers.se/playbook/api-design/api-security)
- [All chapters](https://agentwranglers.se/playbook/api-design)
