Skip to main content
Access Memvid via HTTP REST API. All endpoints require authentication with an API key.

Base URL

Authentication

All protected endpoints require an API key in one of two ways: Option 1: Bearer Token
Option 2: X-API-Key Header
Memory-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.
Returns 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.
Option B: JSON text
Option C: Ingest from URL
Ingestion options: Pass these in an options object alongside documents or url:
Response codes:
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

Returns 204 No Content.

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
Option B: JSON with base64

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 returns 202 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

Job statuses: pendingprocessingcompleted, failed, or partial
Poll every 5–10 seconds. Scanned PDFs typically take 2–8 minutes depending on page count. Text-only large files usually finish in under a minute.

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, BMP
Scanned 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