# Прикрепить файл к задаче

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Прикрепить файл к задаче

`POST /api/v1/tasks/{id}/attachments`

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

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

| Имя | Где | Обязательный | Тип | Описание |
| --- | --- | --- | --- | --- |
| `id` | path | да | string (uuid) | Идентификатор задачи (UUID) |

**Тело запроса** (`multipart/form-data`, обязательное): TaskAttachmentUpload
- `file`: string (binary), обязательное — Файл (PDF/DOCX/XLSX/TXT/MD/CSV/PNG/JPEG, до 25 МБ)

**Ответы**

- `201` — Файл прикреплён (`application/json`, TaskAttachment)
  - `createdAt`: string, обязательное — Когда загружено, ISO 8601
  - `fileName`: string, обязательное — Имя файла
  - `fileSize`: number, обязательное — Размер в байтах
  - `id`: string (uuid), обязательное — Идентификатор вложения
  - `mimeType`: string, обязательное — MIME-тип
  - `taskId`: string, обязательное — Идентификатор задачи
  - `uploadedBy`: string, обязательное — Кто загрузил
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)
- `404` — Ресурс не найден (`application/problem+json`, ProblemDetails)
- `413` — Слишком большое тело запроса (`application/problem+json`, ProblemDetails)
- `422` — Запрос корректен, но не может быть выполнен (`application/problem+json`, ProblemDetails)

    </>
  );
}
