# For AI agents

> The documentation and the specification in formats readable by coding assistants and agents.

All the documentation is designed to be read by humans **and** by agents (coding assistants, automation tools).

| Resource | Address | Content |
|---|---|---|
| Index | [`/llms.txt`](/llms.txt) | The list of pages, with a Markdown link and a description for each |
| Full documentation | [`/llms-full.txt`](/llms-full.txt) | All pages in a single Markdown file |
| A page as Markdown | `/docs/<page>.md` | Append `.md` to a page's address, or use the "View as Markdown" link |
| OpenAPI 3 specification | [`/openapi.json`](/openapi.json) | All routes, parameters, bodies and required scopes (`x-required-scopes`) |

## Tips for an agent

- **Start from the OpenAPI specification** to generate a client or tools: it states, for each operation, the authentication mode and the required scope.
- **Use a sandbox key** (`pk_test_…`) for any automated testing: nothing is billed there and no real recipient is contacted.
- **Give the agent as few scopes as possible**: a read-only key (`messages:read`, `usage:read`) is enough to observe.
- Always send an **`Idempotency-Key`** with its sends: an agent that retries must never duplicate a message.
- **Never let an agent send in production without human approval**: a message sent to a customer cannot be taken back.
