POST /api/v1/files/upload

Загрузка одного или нескольких файлов (multipart). Лимиты — из конфигурации (files.max_files_per_request и др.).

Base URL: https://<host>/ (пример: http://localhost:5000). Соглашения, обзор Public API, Swagger UI.

Response 200: список объектов с полями id, filename, mime_type, size, delivery_url, public_ref, scan_status. Путь хранения на диске (storage_path) не возвращается.

Errors: 400, 401; без модуля — 404.

Заголовки запроса

ЗаголовокОбяз.Описание
Authorizationда*Bearer YOUR_ACCESS_TOKEN (альтернатива: X-API-Key с files:upload)
Content-Typeдаmultipart/form-data

Пример успешного ответа

{
  "success": true,
  "data": {
    "files": [
      {
        "id": "file-uuid",
        "filename": "photo.jpg",
        "mime_type": "image/jpeg",
        "size": 102400,
        "delivery_url": "/media/signed/...",
        "public_ref": "ref-abc",
        "scan_status": "clean"
      }
    ]
  }
}

Пример ошибки

{
  "success": false,
  "error": {
    "code": "unauthorized",
    "message": "Missing or invalid credentials"
  }
}

Пример curl

curl -X POST http://localhost:5000/api/v1/files/upload \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F "file=@./photo.jpg"

См. также: Delivery /media.