# Reference topics

> The API's own reference text, served live: error codes, the redline markup, the document listing, and every edit type.

`GET /v1/reference/{topic}` returns one reference topic as text, the same text the MCP
server's `reference` tool returns. It comes from the deployed API itself, so it is always
current, which makes it the reference to hand an agent that is building or running your
integration.

| | |
| --- | --- |
| Base URL | `https://api.versionstory.com` |
| Auth | `Authorization: Bearer vs_...`. See [Authentication](/developers/authentication) |

```bash
curl -sS https://api.versionstory.com/v1/reference/errors \
  -H "Authorization: Bearer vs_live_..."
```

```json
{ "topic": "errors", "text": "..." }
```

| `topic` | What it covers |
| --- | --- |
| `errors` | What each error code means, and what to do about it |
| `redline` | The change markup in a redline's Markdown (`format=md`) |
| `listing` | Every field [`GET /v1/files/{file_id}/content`](/developers/rest/edit#get-v1filesfileidcontent) returns, and how a text selector matches |
| `edits` | Every edit type [`POST /v1/edit`](/developers/rest/edit) takes, with an example of each |
| `local_copy` | Working with the user's own copy of a document: recording it, editing it, and replacing it |

The call creates nothing and costs nothing against usage, so it is also a cheap way to check
that a key works: `200` means it does. An unknown topic is `400 INVALID_REQUEST`, and the
message lists the topics.

## Related

- [Errors](/developers/reference/errors): the same codes, with HTTP statuses
- [Redline format](/developers/reference/redline-format): the Markdown markup in detail
