# Документ, прикреплённый к согласованию

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Документ, прикреплённый к согласованию

`GET /api/v1/approvals/{id}/document`

**Авторизация:** dpop или oauth2: `approval:read`

**Параметры**

| Имя | Где | Обязательный | Тип | Описание |
| --- | --- | --- | --- | --- |
| `id` | path | да | string (uuid) | Идентификатор согласования |
| `generation` | query | нет | integer, nullable |  |
| `documentId` | query | нет | string (uuid) |  |

**Ответы**

- `200` — Отрендеренный документ согласования (`application/json`, ApprovalDocumentViewResponse)
  - `blocks`: массив ApprovalRenderedBlock, обязательное
    - `indentLevel`: number, обязательное
    - `label`: string, обязательное
    - `number`: string, обязательное
    - `text`: string, обязательное
    - `type`: string, обязательное
  - `source`: "current" | "snapshot", обязательное
  - `title`: string, обязательное
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)
- `404` — Ресурс не найден (`application/problem+json`, ProblemDetails)
- `500` — Внутренняя ошибка сервера (`application/problem+json`, ProblemDetails)

    </>
  );
}
