API reference
The OmegaVault API is a REST surface over HTTPS. Every action available in the app is available here, with consistent request and response shapes.
Authentication
Bearer token in the Authorization header. Tokens are minted from Settings → API Tokens in the app. See Authentication for scopes.
Authorization: Bearer omvt_live_xxxxxxxxxxxxxxxxxxxx
Memories
List memories
GET /v1/memories?limit=20&cursor=xxx
200 OK
{
"memories": [
{
"id": "mem_01HXYZ...",
"content": "Decided to use JWT for auth.",
"source": "claude",
"tags": ["auth", "decision"],
"createdAt": "2026-08-08T12:00:00Z",
"updatedAt": "2026-08-08T12:00:00Z"
}
],
"nextCursor": "xxx"
}Create a memory
POST /v1/memories
{
"content": "Decided to use JWT for auth.",
"tags": ["auth", "decision"],
"collection": "project-atlas"
}
201 Created
{ "id": "mem_01HXYZ...", ... }Search memories
POST /v1/memories/search
{
"query": "auth flow decision",
"mode": "semantic", // or "keyword" or "hybrid"
"limit": 10,
"filters": {
"collection": "project-atlas",
"tags": ["auth"]
}
}Collections
GET /v1/collections POST /v1/collections GET /v1/collections/:id/memories
Rate limits
Every token is rate-limited. The current limits are returned in response headers:
X-RateLimit-Limit: 600 X-RateLimit-Remaining: 598 X-RateLimit-Reset: 1723100000
Errors
Standard HTTP codes. Errors return a consistent body:
{
"error": {
"code": "rate_limited",
"message": "Too many requests. Retry in 12s.",
"retryAfter": 12
}
}OmegaVault
Your memory is yours.
Capture once, carry everywhere.
Start CapturingFree · 200 memories · No card required