# For AIs and agents

This documentation is made to be read and tried by an AI, with no account and no risk.

## Where to read

- [llms.txt](/en/developers/llms.txt): the index, with a link to each page as Markdown.
- [llms-full.txt](/en/developers/llms-full.txt): the whole documentation in one file.
- Every page also exists as Markdown: replace the address's final slash with `.md` (e.g. `/en/developers/campaigns.md`).
- [OpenAPI](https://api.donetalk.com/v1/openapi.json?lang=en): every call, field, scope, error and example. `x-webhooks` holds the events; `x-errors`, the errors; `x-test-mode`, the test mode.

## Try it for real, with no risk

The `demo` company accepts the public test key `dt_test_demo_zRZ6twAhj4u9dZT0hEBrNFzr`. It only simulates: it checks requests by the real rules and answers in the real shape, with example data, storing and sending nothing.

```bash
export DONETALK_KEY=dt_test_demo_zRZ6twAhj4u9dZT0hEBrNFzr
curl https://api.donetalk.com/v1/c/demo/me -H "Authorization: Bearer $DONETALK_KEY"
```

To see an error, ask for it with `DoneTalk-Simulate: <code>` ([Test mode](/en/developers/test-mode/)).

## A prompt ready to paste into an AI

> Read https://donetalk.com/en/developers/llms-full.txt and, using the demo company with the public test key, create a campaign for two contacts with a coupon each, review it and send it. Then show how my system would know a contact replied.

## Rules for agents

- Use a **Test** key while building; production only afterwards.
- Send `Idempotency-Key` on every creation and send.
- Respect `Retry-After` on a `429`.
- Never message real numbers without the contact's consent: marketing needs an opt-in.
