# Read a docs page

Source: https://workroad.app/docs/api/get-doc

`GET https://workroad.app/api/v1/docs/page`

Returns a WorkRoad docs page as Markdown: a guide to part of the app, the REST API or MCP guide, or an operation's reference with its parameters, fields, example response and errors. Find the page with `searchDocs`, or pass a docs URL you already have. Any key may call it.

- MCP tool: `getDoc` on `https://workroad.app/api/mcp`
- Required scopes: None beyond a valid key.
- Test mode: `GET https://workroad.app/api/test/v1/docs/page` checks the request and returns the example response without changing anything.

## Query parameters

- `slug`: string, up to 300 characters, default `""`. The page: its path under `/docs`, such as `studying` or `api/mcp`, or its whole URL, such as `https://workroad.app/docs/api/mcp.md`. Leave it out for the docs' first page.
- `locale`: one of `"en"`, `"de"`, `"es"`, `"fr"`, `"it"`. The docs' language: `en`, `de`, `es`, `fr`, `it`. Defaults to `en`. A page with no translation, such as an API reference page, comes back in English.

## Response

`200` OK

- `data`: object, required
  - `title`: string, required
  - `description`: string or null, required. The page's summary, when it has one.
  - `slug`: string, required
  - `locale`: one of `"en"`, `"de"`, `"es"`, `"fr"`, `"it"`, required. The language asked for.
  - `url`: string, required. The page on the docs site.
  - `markdownUrl`: string, required. The same page as Markdown, readable without a key.
  - `markdown`: string, required. The whole page as Markdown, starting with its title. Links point at the docs site.

### Example

```json
{
  "data": {
    "title": "MCP server",
    "description": "Add WorkRoad to ChatGPT or Claude by pasting one address, or connect Claude Code, Codex or Cursor with an API key.",
    "slug": "api/mcp",
    "locale": "en",
    "url": "https://workroad.app/docs/api/mcp",
    "markdownUrl": "https://workroad.app/docs/api/mcp.md",
    "markdown": "# MCP server\n\n> Add WorkRoad to ChatGPT or Claude by pasting one address, or connect Claude Code, Codex or Cursor with an API key.\n\nWorkRoad runs an MCP server at `https://workroad.app/api/mcp`.\n"
  }
}
```

## Errors

Every error has the body `{ "error": { "code", "message", "details" } }`.

- `400`: Invalid request body or query
- `401`: Missing, invalid, disabled or expired API key
- `403`: The API key lacks the required scope
- `404`: `not_found`: no docs page has that slug. Find it with `searchDocs`.
- `405`: Method not allowed. Use a method from the Allow header.
- `429`: Rate limit exceeded. Wait for Retry-After before retrying. The rate-limit headers are absent when the key's own limiter rejected the request before the per-endpoint bucket check ran.
- `500`: Internal server error
