> For the complete documentation index, see [llms.txt](https://sravni-labs-ru.gitbook.io/sravni-labs.ru-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sravni-labs-ru.gitbook.io/sravni-labs.ru-docs/kredity-dlya-biznesa-s-podpisaniem-dokumentov-na-storone-partnyora/tekhnicheskaya-dokumentaciya/documents/zagruzit-dokument-po-zayavke.md).

# Загрузить документ по заявке

Загружает один документ, привязанный к сущности заявки. Доступно, только пока хотя бы одно предложение банка (`offers[]` в ответе `GET /v1/orders/{orderId}`) находится в статусе `status.code: WAITING_FOR_DOCUMENTS`. Файл передаётся как бинарная часть `multipart/form-data`; остальные параметры — как текстовые поля формы. Для загрузки нескольких документов метод вызывается повторно — один запрос на один файл.

`entityId` — идентификатор сущности партнёра (`company.entityId`, `persons[].entityId` или `legalOwners[].entityId`), переданный партнёром при создании заявки в `POST /v1/orders`. Платформа не подсказывает, к какой сущности относится ожидаемый документ, — партнёр определяет это самостоятельно, исходя из типа документа (`docType`) и состава заявки.

Размер одного файла — 25 МБ. Расширение файла, заявленный MIME-тип и фактическое содержимое должны совпадать.

```json
{"openapi":"3.1.0","info":{"title":"API интеграции с партнёрами","version":"2.0.0"},"tags":[{"name":"Documents","description":"Загрузка, подтверждение, скачивание документов и передача подписей к документам"}],"servers":[{"url":"https://sandbox-api.example.ru","description":"Тестовая среда"},{"url":"https://api.example.ru","description":"Промышленная среда"}],"security":[{"OAuth2":[]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","description":"OAuth 2.0 client credentials для партнёрского API. Полученный access-токен передаётся во всех методах, кроме `/oauth2/token`, в заголовке `Authorization: Bearer <access_token>`. ","flows":{"clientCredentials":{"tokenUrl":"https://auth.example.ru/oauth2/token","scopes":{}}}}},"parameters":{"OrderId":{"name":"orderId","in":"path","required":true,"description":"Идентификатор заявки на платформе","schema":{"type":"string","format":"uuid"}}},"schemas":{"DocumentUploadForm":{"type":"object","required":["entityId","docType","file"],"properties":{"entityId":{"type":"string","minLength":1,"maxLength":64,"description":"Идентификатор сущности партнёра (`company.entityId`, `persons[].entityId` или `legalOwners[].entityId`), переданный партнёром при создании заявки в `POST /v1/orders`. Платформа не возвращает этот идентификатор впоследствии — партнёр использует значение, которое передал сам."},"docType":{"$ref":"#/components/schemas/IncomingDocType"},"file":{"type":"string","format":"binary","description":"Бинарное содержимое файла. Поддерживаются PDF, JPG/JPEG, PNG, DOCX"}}},"IncomingDocType":{"type":"string","description":"Тип документа, загружаемого партнёром платформе. Пример перечисления; финальный список типов уточняется отдельно. ","enum":["PASSPORT","FIN_REPORT"]},"DocumentUploadResponse":{"type":"object","required":["fileId","entityId","docType","fileName","contentLengthBytes","uploadedAt"],"properties":{"fileId":{"type":"string","format":"uuid"},"entityId":{"type":"string"},"docType":{"$ref":"#/components/schemas/IncomingDocType"},"fileName":{"type":"string"},"contentLengthBytes":{"type":"integer","minimum":1},"uploadedAt":{"type":"string","format":"date-time"}}},"ApiError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","details"],"properties":{"code":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Z][A-Z0-9_]*$"},"message":{"type":"string","minLength":1},"details":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetail"}}}}}},"ErrorDetail":{"type":"object","required":["code","message"],"properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Некорректный JSON, multipart или параметры запроса","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"Unauthorized":{"description":"Bearer-токен отсутствует, недействителен или истёк","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"Forbidden":{"description":"Недостаточно прав для выполнения операции","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"PayloadTooLarge":{"description":"Превышен допустимый размер файла или запроса","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"UnsupportedMediaType":{"description":"Неподдерживаемый Content-Type запроса или файла","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"ValidationError":{"description":"Запрос синтаксически корректен, но не прошёл проверку","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"TooManyRequests":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"InternalError":{"description":"Внутренняя ошибка сервиса","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"ServiceUnavailable":{"description":"Сервис временно недоступен","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"paths":{"/v1/orders/{orderId}/documents":{"post":{"tags":["Documents"],"operationId":"uploadOrderDocument","summary":"Загрузить документ по заявке","description":"Загружает один документ, привязанный к сущности заявки. Доступно, только пока хотя бы одно предложение банка (`offers[]` в ответе `GET /v1/orders/{orderId}`) находится в статусе `status.code: WAITING_FOR_DOCUMENTS`. Файл передаётся как бинарная часть `multipart/form-data`; остальные параметры — как текстовые поля формы. Для загрузки нескольких документов метод вызывается повторно — один запрос на один файл.\n\n`entityId` — идентификатор сущности партнёра (`company.entityId`, `persons[].entityId` или `legalOwners[].entityId`), переданный партнёром при создании заявки в `POST /v1/orders`. Платформа не подсказывает, к какой сущности относится ожидаемый документ, — партнёр определяет это самостоятельно, исходя из типа документа (`docType`) и состава заявки.\n\nРазмер одного файла — 25 МБ. Расширение файла, заявленный MIME-тип и фактическое содержимое должны совпадать.","parameters":[{"$ref":"#/components/parameters/OrderId"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/DocumentUploadForm"},"encoding":{"file":{"contentType":"application/pdf, image/jpeg, image/png, application/vnd.openxmlformats-officedocument.wordprocessingml.document"}}}}},"responses":{"201":{"description":"Документ принят и поставлен в очередь на проверку","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentUploadResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Заявка не найдена, либо entityId не относится к этой заявке","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Ни одно предложение банка по заявке не находится в статусе WAITING_FOR_DOCUMENTS","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"$ref":"#/components/responses/PayloadTooLarge"},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}}}}
```
