POST /v1/documents/ingest, Knowledge Stack starts a durable Temporal workflow that prepares, converts, chunks, enriches, and embeds the file. The endpoint returns immediately with a workflow_id you can poll. Files become searchable as soon as the workflow completes.
Looking for the request/response schema? See
/v1/documents/ingest in the API Reference.Ingest a document
Pipeline stages
Supported formats
PDF, DOCX, PPTX, XLSX, Markdown, plaintext. Hard limits: 100 MB per file, 150 pages per document.Watch a workflow
Each ingest returns aworkflow_id. Poll it via /v1/workflows:
Reliability model
- Durable — each step runs as a Temporal activity with timeout + retry policy. The workflow survives worker crashes and infrastructure restarts.
- Idempotent — chunking clears prior content before re-creating; storage uploads overwrite at the same paths; identical content is deduplicated per-tenant.
- Observable — every step emits structured logs, metrics, and a span tree visible in the Temporal UI.
Retry classification
Per-step timeouts
Specialized task queues
Each stage is dispatched to its own queue so heavy work doesn’t block lighter work:Re-embedding a folder
Switching embedding models? Trigger a folder-wide re-embed:Recipes
Bulk ingest from S3
Stream a whole bucket through
/documents/ingest with backpressure.CI ingest pipeline
Re-ingest changed docs on every PR using
kscli.