ENGRAM_API_KEY to post memories in the background, for example.
API keys authenticate REST endpoints (
https://api.3ngram.ai/api/*) only — they do not authenticate the MCP server (mcp.3ngram.ai), which uses OAuth. See Connecting Clients for MCP client setup.API keys carry your full user scope. They do not currently support per-key permissions or scoped access. Treat them like a password: rotate if exposed, revoke when a device is retired, and never commit them to version control.
Create a key
- Open app.3ngram.ai/settings#api-keys, or open Settings in the app and click the API Keys card.
- In the API Keys drawer, click create api key.
- Give it a descriptive name (e.g.
capture-hook-laptop,ci-runner,zapier-webhook). Names are free-text, up to 64 characters, and only shown to you. - Press create key.
eng_ + 40 random characters. Copy it with the button provided and store it in your secret manager, environment file, or password manager before dismissing the banner.
Use a key
Send the key on theX-API-Key header:
POST /api/memories— capture memoriesGET /api/dashboard/summary— read your dashboardPOST /api/internal/cron/*— not accessible with API keys (cron endpoints require theCRON_SECRETheader)
last_used_at updates on every successful request, so you can see at a glance which keys are active and which are stale.
Revoke a key
In the same drawer, click revoke next to any key, then confirm revoke. Revocation is immediate — the next request using that key returns401 Unauthorized.
Revoke promptly when:
- A laptop or CI runner is decommissioned.
- You suspect a key leaked (pushed to git, shared by mistake).
- A team member who used the key leaves.
Capture hook setup
The Claude Code capture hook readsENGRAM_API_KEY from your environment. After creating a key, set it in your shell profile or hook config: