# Machine-readable docs

OpenAPI, markdown variants and llms.txt, for tooling and for language models.

## What is available

| Path | Format | Contents |
| --- | --- | --- |
| /openapi.json | OpenAPI 3.1 | Every mapped route, with its required scope |
| /llms.txt | Markdown index | One line per page, with links |
| /llms-full.txt | Markdown | The entire documentation set in one file |
| /developers/<page>.md | Markdown | Any documentation page as its source |
| /api/docs/search | JSON | Ranked documentation sections for a query |

Every page in this documentation set has a `.md` variant at the same path plus `.md`, and a copy button that puts the markdown on your clipboard.

## The OpenAPI document

It is generated from the same route table the proxy enforces, so an endpoint that appears in it is an endpoint you can call, and the `x-required-scope` on each operation is the scope that will actually be checked.

```bash
curl -s https://xero-proxy.fullstackplus.com.au/openapi.json | jq '.paths | keys | length'
```
