Enneo

Files connector

Upload a file (or batch of files)

POST /knowledgeSource/filesConnector/upload

POST /knowledgeSource/filesConnector/upload

Uploads one or more files to the files connector. Each file is:

  1. Validated (extension allowlist + 50 MB per-file cap + MIME-type sniff)
  2. Stored in MinIO under the knowledgeSources/ prefix
  3. Converted to Markdown (Firecrawl for office/PDF, Cortex vision LLM for images, direct read for .md/.txt)
  4. Saved as a knowledge_sources row with type='file'
  5. Triggers a knowledgeSourceChanged event for Cortex indexing

Single-file mode (backward-compatible): send name="file" — response is {success, id}.

Batch mode: send name="files[]" with multiple parts — response is {successful: [{id, name}], failed: [{name, error}]}. Max 20 files and 50 MB total per request. Files are processed in parallel via Amp futures. Per-file errors land in failed without aborting the batch.

Responses

200 — Single-file: {success: true, id: N}. Batch: {successful: [{id, name}], failed: [{name, error}]} — HTTP 200 even when some files failed.

400 — Incomplete upload (partial transfer)

413 — File or total batch size exceeds limit

422 — No file provided, unsupported type, MIME spoofing, or too many files in batch

500 — Internal error