---
title: "Создать прямую upload-сессию файла"
method: POST
path: "/api/v1/tasks/attachments/upload-sessions"
tags: ["Tasks"]
---

# Создать прямую upload-сессию файла

`POST /api/v1/tasks/attachments/upload-sessions`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/tasks/attachments/upload-sessions`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)
  - HTTP bearer

Возвращает короткоживущий подписанный URL; постоянный ключ хранилища наружу не выдаётся.

## Request body

- AttachmentUploadSessionCreate
  - `owner_type` 'task' | 'section' | 'project' | 'comment' | 'meeting' | 'document', required
  - `owner_id` string, uuid, required
  - `folder_id` string, uuid: Папка файлов проекта, куда сразу ляжет файл; только при owner_type=project
  - `filename` string, required
  - `mime_type` string
  - `size_bytes` integer, required
  - `sha256` string

## Response `201`

Upload-сессия

- AttachmentUploadSession
  - `id` string, uuid, required
  - `attachment_id` string, uuid, required
  - `replace_attachment_id` string, uuid
  - `owner_type` 'task' | 'section' | 'project' | 'comment' | 'meeting' | 'document', required
  - `owner_id` string, uuid, required
  - `folder_id` string, uuid: Папка файлов проекта, куда ляжет файл
  - `uploaded_by` integer, required
  - `name` string, required
  - `mime_type` string, required
  - `size_bytes` integer, required
  - `sha256` string
  - `status` string, required
  - `expires_at` string, date-time, required
  - `completed_at` string, date-time
  - `created_at` string, date-time, required
  - `upload_url` string, uri
  - `method` string
  - `headers` object
  - `fields` object
  - `file_field` string
  - `max_bytes` integer

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `404`: Запись не найдена или не видима текущему пользователю
- `409`: Конфликт версии, идемпотентности или бизнес-состояния
- `413`: Файл больше разрешённых 25 МБ

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/3c60ded179f2?raw)
