Ingest
wait_seconds(optional, default 0, max 300)
Idempotency-Key(optional)
selection(required) — What to process. Discriminated ontype:{"type": "file_ids", "file_ids": ["<uuid>", ...]}— Explicit list of up to 1000 files.{"type": "path_prefix", "path_prefix": "reports/", "stale_only": false}— All files under a folder prefix.""or"/"means the whole workspace. Setstale_only: trueto re-ingest only files whose observed hash diverged from the ingested hash.
reingest_unchanged(optional, defaultfalse) — Force re-ingestion even for files already ingested at the same content hash (normally a no-cost skip).
Job with kind: "ingestion".
Result (on success):
failed entry. The job status is succeeded even when some
files failed.
Per-file status values: "ingested", "skipped_unchanged" (same content hash — no-cost skip), "failed".
kg_build_job_id is set only when the workspace has opted into
knowledge_graph.auto_build (off by default); poll it to know when the graph covers
the newly ingested files. Otherwise it is null and the graph is built when you ask.
Example (ingest two explicit files):
Reconcile
wait_seconds(optional, default 0, max 300)
Idempotency-Key(optional)
path_prefix(optional) — Scope the scan to a path prefix. Omit or passnullfor the whole workspace.auto_ingest(optional, defaultfalse) — Chain an ingestion for everything the scan found.
Job with kind: "reconciliation".
Result (on success):
discovered— Objects in storage with no ledger row yet.marked_stale— Rows whoseobserved_hashno longer matches the stored object.orphans_removed— Rows whose object is gone from storage.ingestion_job_id— Set whenauto_ingestwas requested.