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 Capturing
Free · 200 memories · No card required