For AI agents: the machine-readable endpoints and the rules an agent must follow # For AI agents > llms.txt, the Markdown twin of every page, the machine-readable endpoints, and the rules an agent must follow. Every page on this site is also plain Markdown. Give an agent the index below and an API key. The agent can then complete any task on this site without a human. ## Start here [Section titled “Start here”](#start-here) Fetch [`/llms.txt`](/llms.txt). It names every machine-readable file this site serves. Terminal ```bash curl https://docs.ligr.live/llms.txt ``` Then fetch the set you need. [`/llms-full.txt`](/llms-full.txt) is every written page in one file. [`/llms-small.txt`](/llms-small.txt) is the same set with the notes and the tips removed. To make Rive graphics from prompts with the Rive CLI, see [Build graphics with an AI agent](/rive-graphics/#build-graphics-with-an-ai-agent). ## Machine-readable endpoints [Section titled “Machine-readable endpoints”](#machine-readable-endpoints) | URL | What it is | | -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [`/llms.txt`](/llms.txt) | The index of the files below | | [`/llms-full.txt`](/llms-full.txt) | Every written page, concatenated, in sidebar order | | [`/llms-small.txt`](/llms-small.txt) | The same set, with the notes and the tips removed | | [`/_llms-txt/get-started.txt`](/_llms-txt/get-started.txt) | The Get started pages only | | [`/_llms-txt/webhooks.txt`](/_llms-txt/webhooks.txt) | The Webhooks pages only | | [`/_llms-txt/graphics-sdk.txt`](/_llms-txt/graphics-sdk.txt) | The Graphics SDK pages only. Beta | | [`/_llms-txt/rive-graphics.txt`](/_llms-txt/rive-graphics.txt) | The native Rive import and lifecycle pages only. Beta | | [`/_llms-txt/control-room.txt`](/_llms-txt/control-room.txt) | The Overlays & control room pages only | | [`/_llms-txt/guides.txt`](/_llms-txt/guides.txt) | The Guides only | | [`/_llms-txt/for-ai-agents.txt`](/_llms-txt/for-ai-agents.txt) | This page only | | [`/openapi.json`](/openapi.json) | The OpenAPI 3 specification. The same operations as `api.ligr.live/rest/swagger.json`, regrouped and renamed for this site. The v1 and v2 twins carry version-suffixed operation ids and summaries, for example `GetMatchV1` | | `/.md` | The Markdown source of that page, front matter included | | [`/changelog/rss.xml`](/changelog/rss.xml) | The changelog as an RSS feed | For example, [`/get-started/errors.md`](/get-started/errors.md) is the Markdown twin of the [Errors](/get-started/errors/) page. Every content page and every REST operation page has a Markdown twin. For example, [`/rest/operations/getmatchsummary.md`](/rest/operations/getmatchsummary.md) is the twin of the match summary endpoint page. Listing pages such as the changelog do not have a twin. Each page with a twin carries a **Copy page as Markdown** button. ## Rules for agents [Section titled “Rules for agents”](#rules-for-agents) 1. **Send every request to the REST base URL of your environment.** Production is `https://api.ligr.live/rest`. If the user gave you a non-production environment, use its API origin. Never send a key from one environment to another environment. 2. **Send an API key, never a JWT.** REST routes do not accept dashboard or overlay JWTs. Use `Authorization: Bearer `. 3. **Read before you write.** Fetch the match, the theme or the overlay first. An id from another organization returns 404. 4. **Respect `409 LOCKED`.** A person has the graphic open. Wait, then retry. Do not delete it and create it again. 5. **Stop on `x-ligr-rate-limit-observe`.** Treat that header as a 429, even though the request succeeded. 6. **Never publish a theme version with `activate: true` during a live match.** Do it only when a person asks for exactly that.