Base URL
Authentication
All protected endpoints require an API key in one of two ways: Option 1: Bearer TokenMemory-scoped keys restrict access to a single memory and its documents/jobs.
Health & Readiness
GET /health
Check API health status.
GET /health/ready
Check MongoDB and S3 connectivity. Returns 503 if degraded.
Memories
A memory is a searchable container for your documents.POST /v1/memories — Create
GET /v1/memories — List All
GET /v1/memories/:id — Get One
DELETE /v1/memories/:id — Delete
Deletes the memory, all its documents, and its .mv2 file from S3.
204 No Content on success.
Documents
POST /v1/memories/:id/documents — Add Documents
Option A: Upload a file
Supports PDF, DOCX, DOC, XLSX, PPTX, PPT, TXT, CSV, TSV, LOG, JSON, JSONL/NDJSON, HTML, XML, Markdown.
options object alongside documents or url:
Scanned PDFs: PDFs containing scanned images are automatically detected and processed with OCR. Small scanned PDFs (5 or fewer image pages) are handled synchronously. Larger scanned PDFs are automatically routed to the background worker and return
202 — poll the jobId to track progress.GET /v1/memories/:id/documents — List Documents
DELETE /v1/memories/:id/documents/:doc_id — Delete One
204 No Content.
Search
POST /v1/memories/:id/find — Hybrid Search
Semantic + keyword hybrid search with reranking.
POST /v1/memories/:id/search — Simple Search
Simplified search with sensible defaults.
Ask (RAG)
POST /v1/memories/:id/ask — Ask a Question
Retrieval-augmented generation: searches your memory and generates an answer with sources.
POST /v1/ask-once — One-Shot Q&A (No Memory)
Ask a question on content you provide directly. Nothing is persisted.
Structured Extraction
POST /v1/memories/:id/extract — Extract Structured Data
Pull structured fields from your documents using a schema you define.
OCR (Image-to-Text)
POST /v1/memories/:id/ocr — OCR & Auto-Ingest
Extract text from images using vision LLMs, then auto-ingest the result into the memory.
Option A: Multipart file upload
Projects
Projects group memories together.POST /v1/projects — Create
GET /v1/projects — List All
GET /v1/projects/:id — Get One
PUT /v1/projects/:id — Update
DELETE /v1/projects/:id — Delete
Account
GET /v1/account — Account Info & Usage
Returns your organization details, plan limits, and current usage.
Jobs
Documents that exceed the sync processing threshold are handled by a background worker. The add documents endpoint returns202 with a jobId you can poll.
What triggers async processing:
- Files larger than 2 MB
- Scanned PDFs with more than 5 image-only pages (OCR required)
- Explicit
options.async: true
GET /v1/jobs/:id — Check Job Status
pending → processing → completed, failed, or partial
GET /v1/jobs — List Jobs
Corrections
Store priority-boosted corrections that surface first in search results.POST /v1/memories/:id/correct — Add Single Correction
POST /v1/memories/:id/corrections — Add Multiple Corrections
Endpoints Summary
Supported File Types
Documents: PDF (including scanned), DOCX, DOC, XLSX, PPTX, PPT, TXT, CSV, TSV, LOG, JSON, JSONL/NDJSON, HTML, XML, Markdown Images (OCR endpoint): PNG, JPEG, WebP, GIF, TIFF, BMPScanned PDFs are automatically detected and processed with OCR — no special configuration needed. Legacy formats (
.doc, .ppt) are converted through the same pipeline as their modern counterparts.Limits
Next Steps
Python SDK
Use the Python SDK for easier integration
Node.js SDK
TypeScript-first SDK with full types
CLI Reference
Command-line interface
Error Reference
Error codes and solutions