Загрузить файл
Сохраняет файл в рабочем пространстве, как кнопка «Загрузить» на странице «Файлы». Тело запроса это сам файл, не JSON и не multipart, с его типом в `Content-Type`.
Выполняет настоящий запрос в вашем рабочем пространстве, с вашим собственным ключом.
POST /files
Сохраняет файл в рабочем пространстве, как кнопка «Загрузить» на странице «Файлы». Тело запроса это сам файл, не JSON и не multipart, с его типом в Content-Type.
Пример
Нужен threads:write. Назовите файл параметром запроса filename или заголовком X-Filename в URI-кодировке. Ответ это 201 с файлом, и его id можно прикрепить к отправке как { fileId }.
curl -X POST "$OE/files?filename=price-list.pdf" -H "$AUTH" -H 'content-type: application/pdf' --data-binary @price-list.pdf{ "object": "file", "id": "file_0c4e7a91d2b84f63a5e19b7d", "filename": "price-list.pdf", "mimeType": "application/pdf", "sizeBytes": 248112, "direction": "uploaded", "threadId": null, "messageId": null, "deliveredTo": null, "usage": null, "deletable": true, "createdAt": "2026-09-24T09:12:40.000Z"}Имя очищается, а не отклоняется: символы, недопустимые в имени файла, заменяются на _, а имя длиннее 255 символов обрезается с сохранением расширения. Content-Type, который не является MIME-типом, сохраняется как application/octet-stream.
Без имени будет 400 upload_no_name, программа или скрипт дадут 400 upload_dangerous, пустое тело 400 upload_empty, а файл больше 100 МБ 413 upload_too_large.
Рабочее пространство принимает 500 загрузок в час, включая удалённые, и хранит одновременно 10 ГБ загруженных файлов. Сверх этого ответом будет 429 upload_rate_limited или 507 upload_storage_full. 502 upload_failed означает сбой хранилища, и повторить попытку имеет смысл.
Ключ, которому доступны все адреса, загружает в рабочее пространство целиком, с deliveredTo равным null. Ключ, ограниченный определёнными адресами или доменами, загружает на первый адрес, который у него есть, а ключ без адресов получает 403 upload_no_address.