API Reference
Start an ingestion pipeline
Enqueue the full cgr → chunk → describe → upsert pipeline as a background job.
POST
/instances/pipelineadmin, userEnqueue the full pipeline as a background job and return immediately with a job_id. Poll GET /instances/jobs/{job_id} for progress and the final result.
recreate drops and rebuilds the entire collection (all projects) before inserting — needed only once after a schema change. Day-to-day ingestion should use recreate: false, which upserts by deterministic UUID.
Fail-loud descriptor policy.
describe defaults to true; while true the descriptor is checked before the job is created — if it's missing or unavailable the request fails with 400 and no job is created. Set describe: false to opt out.Body
repo_pathstringrequiredAbsolute path to the repository to ingest.
recreatebooleanDrop & rebuild the whole collection (all projects) before inserting. Default false.
describebooleanGenerate per-entity LLM descriptions. Default true; false skips the descriptor pre-flight.
Request
cURL
bash
curl -X POST localhost:8000/instances/pipeline \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{"repo_path":"/absolute/path/to/your/repo","recreate":false}'dokkai CLI
bash
dokkai ingest /absolute/path/to/your/repo
dokkai ingest /absolute/path/to/your/repo --no-describeResponses
200Job accepted and queued
json
{
"job_id": "b0dc2159-5b52-4b73-a7ca-9f094496d64b",
"status": "queued"
}400No / unavailable descriptor model — no job created
json
{ "detail": "descriptor model 'qwen2.5-coder:3b' is not available in Ollama at http://localhost:11434 — pull it with 'ollama pull qwen2.5-coder:3b'" }409A job is already running for this project
json
{ "detail": "another job is running for project 'your-repo'" }