# Coding agents

> A drop-in agent file, llms.txt, and a markdown twin of every docs page.

Most integrations now get written with a coding agent in the loop. These four
URLs exist so that agent can read the API without you pasting docs into a chat
window.

## The agent file

[`https://links.et/agents.md`](/agents.md) is a single file covering the base
URL, auth, both endpoints, the response envelope, every error code with its
retry rule, the limits, and the handful of things that are easy to get wrong.

Drop it into your repo under whatever filename your tool reads:

```bash
curl -sL https://links.et/agents.md -o AGENTS.md
# or append it to a file you already keep
curl -sL https://links.et/agents.md >> CLAUDE.md
```

`https://links.et/AGENTS.md` serves the same file, for when that spelling is
what you reach for.

Or skip the download and hand your agent the URL. Anything that can fetch a
page can read it.

## llms.txt

[`/llms.txt`](/llms.txt) is the index: what links.et is, then one line per docs
page with a link to its markdown. It follows the
[llmstxt.org](https://llmstxt.org) convention, so tools that look for that file
will find it.

[`/llms-full.txt`](/llms-full.txt) is every page concatenated into one file.
Use it when you would rather spend one fetch than ten.

## Markdown twin of any page

Add `.md` to a docs URL and you get the raw markdown instead of the rendered
page:

| Page | Markdown |
|---|---|
| `/docs` | [`/docs.md`](/docs.md) |
| `/docs/verify` | [`/docs/verify.md`](/docs/verify.md) |
| `/docs/providers/cbe` | [`/docs/providers/cbe.md`](/docs/providers/cbe.md) |

The markdown is the source of the page with the frontmatter turned into a
heading and the inline HTML flattened, so a table of bank logos reads as a
table of bank names.

## What not to point an agent at

The demo endpoints on the landing page (`/api/demo-verify` and
`/api/demo-verify-image`) take no API key and are metered per IP. They are
there so a person can try the service. Anything built against them stops
working, so keep them out of the code your agent writes. Point it at
[`POST /api/verify`](/docs/verify) with a real key.
