Оформление
Вложения через API
Внешний API принимает файл внутри JSON как base64. Это отличается от браузерной загрузки: multipart на этом маршруте не используется.
Загрузить файл
Нужны files:write и право добавить вложение к выбранной записи.
http
POST /api/v1/objects/OBJECT_ID/attachments HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: attachment-example-001
{"filename":"example.txt","mediaType":"text/plain","contentBase64":"SGVsbG8="}Это файл с текстом Hello. Ответ HTTP 201 содержит ID, имя, размер и ревизию вложения. Общий лимит JSON 10 MiB включает base64: исходный файл должен быть меньше. Дополнительно действует серверный лимит размера вложения; пустые файлы отклоняются.
Посмотреть и скачать
GET /api/v1/objects/OBJECT_ID/attachments— получить метаданные.GET /api/v1/attachments/ATTACHMENT_ID/content— получить байты файла.- Сохранить ответ согласно Content-Type и Content-Disposition, не пытаться читать его как JSON.
Нужны files:read и права на вложение. ID файла не обходит доступ к родительской записи.
Удалить
DELETE /api/v1/attachments/ATTACHMENT_ID с {"expectedRevision":1} использует ревизию самого вложения. Встроенные изображения текста и отчёта о решении нельзя удалить этим методом.