POST /api/v1/projects//documents/ingest
Splits a markdown document into chunks and upserts them into the per-project ChromaDB vector store. This operation is idempotent — calling it again with the same content is safe.Path parameters
The unique identifier for the project. This value scopes the vector store collection so documents from different projects do not mix.
Request body
Human-readable document name, for example
PROJECT_MANIFESTO.md. Between 1 and 255 characters.Full markdown text of the document to ingest. Must be at least 1 character.
Response
The target project identifier, echoed from the path parameter.
Name of the ingested document, echoed from the request body.
Number of text chunks stored in the vector collection. Depends on document length and the chunking configuration.
Errors
| Status | Condition |
|---|---|
400 Bad Request | Request payload is invalid (e.g., empty markdown_content) |
500 Internal Server Error | Backend ingestion failure — check server logs |