REST API reference
Generated OpenAPI reference for every canonical /v1 route, with field-level schemas and scope badges.
Endpoints
77 operations across 7 groups, generated from the same OpenAPI document the interactive reference renders. Every route is versioned under /v1 and authenticated with a bearer token — an API key or a signed-in session.
Account
- GET /auth/me — Describe the current bearer
Chat
- DELETE /chat/sessions/{id} — Delete a chat session
- GET /chat/sessions — List chat sessions
- GET /chat/sessions/{id} — Get a chat session
- GET /chat/sessions/{id}/messages — List messages in a chat session
- POST /chat/sessions — Create a chat session
- POST /chat/sessions/{id}/completions — Stream a chat completion with tool calls
Entities
- DELETE /entity-aliases/{id} — Delete a custom entity alias
- DELETE /entity-types/{id} — Delete a custom entity type
- GET /entity-aliases — List custom entity aliases for the active workspace
- GET /entity-types — List custom entity types for the active workspace
- GET /search/entities — List entities across readable vaults
- GET /search/entities/knowledge — List knowledge items mentioning an entity
- GET /search/entities/relations — List an entity's relations to other entities
- POST /entity-aliases — Create a custom entity alias
- POST /entity-types — Create a custom entity type
- POST /search/entities/forget — Forget an extracted entity in writable vaults
Graph
- GET /graph — Build a knowledge graph for readable vaults
Items
- DELETE /knowledge/{id} — Delete a knowledge item and its indexed chunks
- DELETE /knowledge/{id}/relate/{relatedId} — Remove a user-authored related edge
- DELETE /knowledge/{id}/supersedes/{predecessorId} — Remove a supersedes edge
- GET /knowledge/{id} — Get a knowledge item
- GET /knowledge/{id}/related — List knowledge links related to a row
- PATCH /knowledge/{id} — Update a knowledge item
- POST /knowledge/{id}/reextract — Re-extract a file with a selected extraction engine
- POST /knowledge/{id}/reindex — Requeue indexing for a knowledge row
- POST /knowledge/{id}/relate — Create a relationship to another knowledge row
- POST /knowledge/{id}/supersedes — Mark this row as superseding another row
Search
- GET /search/files — List indexed knowledge (file/image rows)
- GET /search/files/{s3Key} — Get a single indexed file row by S3 key
- GET /search/knowledge — List indexed knowledge (file/image rows)
- GET /search/status — Indexing status counts
- QUERY /search/fulltext — Full-text search
- QUERY /search/hybrid — Hybrid search (semantic + full-text fusion, optional rerank)
- QUERY /search/semantic — Semantic (vector) search
Vaults
- DELETE /vaults/{id} — Delete a vault and purge its storage
- DELETE /vaults/{id}/files/{key} — Forget a vault file, or purge it forever with ?purge=true
- DELETE /vaults/{id}/folders — Forget files under a folder and remove folder markers
- DELETE /vaults/{id}/knowledge/{kid} — Forget a knowledge row by default, or purge it forever with ?purge=true
- DELETE /vaults/{id}/members/{memberUserId} — Remove a vault member
- GET /knowledge — List knowledge items
- GET /knowledge/calendar/day — Day or journal-window feed: content_date matches (any type) plus rows created in the window
- GET /knowledge/calendar/day-digest — AI digest for one day, cached per (org, vault scope, day)
- GET /knowledge/calendar/day-markers — Calendar day markers for a month (minimal rows, bucketed client-side)
- GET /vaults — List visible vaults
- GET /vaults/{id} — Get a vault
- GET /vaults/{id}/file-meta/{key} — Get file metadata, extracted text, derived images, and last-modified display fields
- GET /vaults/{id}/file-url/{key} — Create a short-lived read URL for a vault file
- GET /vaults/{id}/file-version-url — Create a read URL for the current or historical version of a vault file
- GET /vaults/{id}/file-versions — List S3 versions for a vault file
- GET /vaults/{id}/files/{key} — Read raw file bytes from a vault
- GET /vaults/{id}/folders — List first-class folders in a vault
- GET /vaults/{id}/invitations — List unredeemed invitations for a vault
- GET /vaults/{id}/log/{file} — List S3 object versions for a file path
- GET /vaults/{id}/members — List vault members
- GET /vaults/{id}/trash — List forgotten knowledge rows in vault Trash
- PATCH /vaults/{id} — Update vault settings
- PATCH /vaults/{id}/members/{memberUserId} — Change a vault member's role
- POST /knowledge — Create a knowledge item (link, note, or image)
- POST /vaults — Create a vault
- POST /vaults/{id}/files/move — Move one or more files into a folder
- POST /vaults/{id}/files/move-to-vault — Move one or more files to another vault (same organization)
- POST /vaults/{id}/files/restore — Restore a previous S3 version of a file
- POST /vaults/{id}/folders — Create a folder marker
- POST /vaults/{id}/folders/move — Move or rename a folder and the files beneath it
- POST /vaults/{id}/knowledge/forget-bulk — Soft-delete multiple knowledge rows under one undo batch
- POST /vaults/{id}/knowledge/{kid}/forget — Soft-delete a knowledge row into vault Trash
- POST /vaults/{id}/knowledge/{kid}/pin — Pin a knowledge row as the vault's standing context
- POST /vaults/{id}/knowledge/{kid}/restore — Restore a forgotten knowledge row or batch
- POST /vaults/{id}/knowledge/{kid}/unpin — Remove a knowledge row from the vault's standing context
- POST /vaults/{id}/members — Add a vault member by user id
- POST /vaults/{id}/reindex — Requeue one vault file, or move failed index jobs back to the queue
- POST /vaults/{id}/share — Share a vault by email (existing user or invitation)
- POST /vaults/{id}/upload/abort — Abort a direct-to-S3 upload and clean up its pending knowledge row
- POST /vaults/{id}/upload/finalize — Finalize a direct-to-S3 upload after the browser PUT succeeds
- POST /vaults/{id}/upload/presign — Initiate a direct-to-S3 upload and return a presigned PUT URL
- PUT /vaults/{id}/files/{key} — Write raw file bytes and re-index the file