Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.openmem.blog/llms.txt

Use this file to discover all available pages before exploring further.

GET /capabilities tells you exactly what the connected provider supports — which verbs are available, which search modes are enabled, and what limits apply. Call this endpoint at startup to decide which features your application can use, and degrade gracefully when a capability is absent. The presence of the omp_version field in the response signals that the provider implements OMP natively. The SDK uses this to choose between a passthrough adapter (thin HTTP client) and a translation adapter.

GET /capabilities

No parameters required. This endpoint is unauthenticated.

Response — 200 OK

omp_version
string
required
The OMP spec version this provider implements (e.g. "0.1"). The presence of this field signals native OMP support.
provider
string
required
The name of the backend (e.g. "postgres", "mem0", "supermemory").
verbs
string[]
required
The list of OMP verbs this provider supports. Possible values: add, search, get, update, delete, list, context, audit.
features
object
required
Feature flags for this provider.
limits
object
Rate and result limits for this provider.

Full JSON example

{
  "omp_version": "0.1",
  "provider": "mem0",
  "verbs": ["add", "search", "get", "update", "delete", "list", "context"],
  "features": {
    "vector_search": true,
    "keyword_search": true,
    "graph_queries": true,
    "temporal": true,
    "scopes": "native",
    "max_content_length": 10000,
    "supports_audit": true,
    "supports_supersession": true
  },
  "limits": {
    "rate_limit_per_minute": 600,
    "max_search_results": 100
  }
}

Example

curl -s http://localhost:8080/capabilities | jq .

Checking for a specific capability

caps = mem.capabilities()

if caps.features.vector_search:
    results = mem.search("package manager preferences", user_id="u1")
else:
    # Fall back to listing with a scope filter
    page = mem.list(user_id="u1", scope="coding/preferences")

GET /healthz

A lightweight liveness probe that confirms the server is running and the provider is reachable. No parameters required. This endpoint is unauthenticated.

Response — 200 OK

{
  "status": "ok",
  "provider": "postgres"
}
Use GET /healthz in your container readiness probe or load-balancer health check. Use GET /capabilities when you need to inspect feature support — the two endpoints serve different purposes.