Base URL
All API requests are made to:- URL (
/v1/) — the API generation. Changes only for complete redesigns (infrequent). X-Mnemom-Version: YYYY-MM-DDheader — controls behavior within/v1/. Pin this for production stability.
X-Mnemom-Version, the latest behavior is used — fine for new integrations, but production systems (including AI agents) should pin to a specific date. Every response echoes the version used:
2026-04-13. Support window: 18 months per version.
See the Versioning Policy for the canonical commitment (what we’ll and won’t change, deprecation cadence, the support-window contract), or the API Versioning guide for integration how-to.
Authentication
The Mnemom API supports three authentication patterns. Pick the one that matches the caller, not the endpoint. For end-user sign-in (passkey, password + MFA, SSO), session lifecycle, and API-key rotation, see the Authentication guide. Passkeys are the default dashboard sign-in method — see Passkeys for browser support and enrollment.Session cookie (dashboard / SPA)
Browser sessions atmnemom.ai (and www.mnemom.ai) authenticate via an HttpOnly, Secure, SameSite=Lax cookie named mnemom_session, issued on sign-in by the API itself. The cookie is opaque to JavaScript — it holds an AES-256-GCM-encrypted blob of the underlying session tokens, never a raw access token.
/v1/auth/passkey/* and return the same session cookie; MFA step-up and SSO are carried through /v1/auth/mfa/* and /v1/auth/sso/*. Sensitive operations require AAL2 step-up — a fresh user-verification gesture within the session’s AAL2 window; see the Authentication guide for the list of protected actions. This is the only auth pattern where Access-Control-Allow-Credentials: true matters — fetch() calls from the SPA must include credentials: "include".
Bearer token (CLI)
The Mnemom CLI and anything mimicking it use the classicAuthorization: Bearer <token> header. The CLI obtains its token via a one-time browser → localhost handoff at login time (exchanged through POST /v1/auth/cli-exchange, which requires an already-authenticated session cookie); the raw token never leaves the CLI’s local auth file after that.
mnemom login and read ~/.mnemom/auth.json. Generating your own Bearer tokens from scratch is not supported — use an API key (below) for programmatic access.
API key
For server-to-server and enterprise fleet management, authenticate with an API key:GET /v1/auth/me, DELETE /v1/auth/delete-account, POST /v1/agents/:id/link, and billing management.
Error format
All error responses return a JSON body with a structurederror object containing a stable code and a human-readable message:
error.code, not error.message — codes are stable contract; messages may evolve. Some errors include an additional details object with structured per-code data. See Errors for the full code taxonomy, retry semantics, and the Safe House verdict-to-status mapping.
Common HTTP status codes
Rate limits
API requests are rate-limited across three tiers, evaluated in order:
Enterprise organizations can request custom per-org and per-agent limits via their account settings or by contacting support.
Rate limit response
When any tier is exceeded, the API returns HTTP429 with these headers:
tier that was hit (ip, agent, or org) and the window details are in the response headers listed above. Rate limit windows are 1 minute.
Endpoint documentation
All endpoint documentation below is auto-generated from our OpenAPI specification. Each endpoint has a “Try It” button for interactive testing.
API surface areas
The Policy, Reclassification, Intelligence, and On-Chain APIs form the CLPI governance layer — governance-as-code with policy enforcement, trust recovery, risk intelligence, and on-chain reputation anchoring.
Versioning
The API is versioned via the URL path (/v1). When breaking changes are introduced, a new version will be released under a new path (e.g., /v2). Non-breaking changes (new optional fields, new endpoints) are added to the current version without a version bump.
We will provide advance notice and a migration guide before deprecating any API version.