Skip to main content
Collections let you build a per-brand private corpus by ingesting multiple URLs into one unified knowledge graph (TKG). Once built, you can ask questions grounded only in that corpus, or verify existing Q&A pairs against it. Requires a personal access token. Master keys are rejected.

Endpoints


POST /api/v1/collections

Create a new collection (brand corpus).

Request Body

string
required
Collection name, e.g. "Hyundai UK".
string
Optional URL-friendly identifier, e.g. "hyundai-uk".

GET /api/v1/collections

List all collections owned by the authenticated user.

GET /api/v1/collections/

Get a collection including its ingested URL list and their processing status.

DELETE /api/v1/collections/

Delete a collection and all its associated data (sources, chunks, claims, predictions, TKG).

POST /api/v1/collections//ingest

Ingest one or more URLs into the collection’s unified knowledge graph. Each URL is fetched, parsed by LLM, and its claims/predictions/edges are extracted and accumulated into the collection TKG. Note: Ingestion is synchronous: the request completes only after all URLs are processed. Each URL typically takes 10–30 seconds. Send URLs one at a time for best reliability.

Request Body

string
required
URL to ingest. The page is crawled and its claims/predictions/edges are extracted into the collection TKG.
string
default:"private"
Access control for the ingested content. private or public.

DELETE /api/v1/collections//sources/

Remove a source URL from the collection (soft detach). The source’s extracted claims, predictions, and chunks are retained in the database but are no longer associated with this collection.

GET /api/v1/collections//ingest-status

Poll the ingestion status for all URLs in the collection.

Status values


GET /api/v1/collections//graph

Get the collection’s unified knowledge graph as nodes and edges, shaped for graph visualization.

POST /api/v1/collections//answer

Ask a question and get an answer grounded only in this collection’s knowledge graph. Uses semantic search (pgvector) to retrieve the most relevant content before generating an answer. If the knowledge graph does not contain enough information to answer, grounded is set to false to prevent hallucination.

Request Body

string
required
The question to answer.
string
default:"English"
Language for the answer (e.g. "Korean", "Japanese").

POST /api/v1/collections//qa-verify

Verify existing Q&A pairs against the collection knowledge graph. Each pair receives one of three verdicts:

Request Body

array
required
Array of question/answer pairs to verify (1–50).
string
default:"English"
Language for verdict summaries and corrections.