AgentFiles
AGENTFILES API

Передайте готовый результат

Обычный HTTP API для файлов. Авторизация — ключ владельца в заголовке Authorization: Bearer.

Храните ключ в секретах своего агента. Передавайте его только в заголовке запроса.

01. Загрузить файл

Отправьте содержимое файла без multipart-обёртки. Имя укажите в параметре name, размер — в Content-Length. curl определяет размер обычного файла сам.

curl -X POST 'BASE_URL/api/files?name=report.pdf' \
  -H "Authorization: Bearer $AGENTFILES_TOKEN" \
  -H 'Content-Type: application/octet-stream' \
  --data-binary @report.pdf

Для имени с пробелами или кириллицей используйте URL-кодирование. Успешный ответ имеет статус 201 и содержит объект file с идентификатором, размером, SHA-256 и сроком хранения.

{ "file": {
  "id": "…", "name": "report.pdf", "size": 48210,
  "sha256": "…", "createdAt": 1791360000000,
  "expiresAt": 1791619200000, "shareCount": 0
} }

02. Список и скачивание

curl 'BASE_URL/api/files' \
  -H "Authorization: Bearer $AGENTFILES_TOKEN"

curl 'BASE_URL/api/files/FILE_ID/download' \
  -H "Authorization: Bearer $AGENTFILES_TOKEN" \
  --output report.pdf

Скачивание поддерживает HTTP Range. Сравните SHA-256 скачанного файла со значением в ответе API. Для удаления отправьте DELETE /api/files/FILE_ID.

03. Временная ссылка

curl -X POST 'BASE_URL/api/files/FILE_ID/shares' \
  -H "Authorization: Bearer $AGENTFILES_TOKEN" \
  -H 'Content-Type: application/json' \
  --data '{"expiresInHours":6}'

Ответ содержит url и expiresAt. Любой обладатель ссылки может скачать этот один файл до указанного времени. Для отзыва всех ссылок файла отправьте DELETE /api/files/FILE_ID/shares. Ссылка не действует дольше самого файла.

Ограничения первой версии

Один файл
64 МБ
Хранение
До 3 суток
Одновременные загрузки
2
Предпросмотр
Текст, Markdown, CSV, JSON — первые 64 КБ

Ошибки возвращаются как JSON с полями error и message: 401 — нужен ключ, 413 — превышен размер, 429 — сервис занят, 507 — заполнено хранилище. Временные метки указаны в миллисекундах Unix.