Two token types
Both authenticate the same way (Bearer header). The difference is scope and lifecycle.
Personal API tokens
Settings → Security → API tokens → Personal → New token. Configure:- Name — a human-readable label. “MacBook CLI”, “Home Cursor”.
- Expiration — optional. Never / 30 days / 90 days / 1 year.
Workspace tokens
Settings → Security → API tokens → Workspace → New token. Configure:- Name — “GitHub Actions CI”, “internal Slack bot”, “Cursor for the on-call team”.
- Scope — what the token can do:
- Read-only — inspect Flows, Traces, but no writes.
- Read-write, no publish — full editing, no shipping to production.
- Full — everything the workspace’s max-role member can do.
- Custom — cherry-pick operations.
- Expiration — same options as personal.
- Not tied to a person. If a team member leaves, the token keeps working.
- Narrower scope. A read-only token can’t accidentally publish.
- Cleaner audit — the audit log shows “workspace token: GitHub Actions CI” rather than a personal name.
Using a token
With the CLI
With MCP
SetNORA_TOKEN in the MCP server config. See MCP setup.
With direct API
Rotating
Rotation is create-new + revoke-old:- Issue a new token in Settings.
- Update the token in the consuming system (CI env, MCP config, etc.).
- Verify the new token works.
- Revoke the old token.
Revoking
Settings → Security → API tokens → click a token → Revoke. Revoke is instant — the token is dead within seconds. Existing requests using it may complete or fail (short race window); new requests fail with 401. Revoke immediately if:- You suspect leak.
- A team member leaves (revoke their personal tokens).
- A CI job or service that owned the token is retired.
Audit
Every token issue, use, and revoke is audited (see Audit trail):- Who issued the token, when, with what scope.
- Which token authenticated each API call (redacted; only the token ID, not the value).
- Every revoke, with actor.
Token expiration policies
Workspace policies (see Access) can enforce:- Max expiration — no token may be issued with expiration beyond N days.
- Required expiration — no “never expires” tokens.
- Rotation reminders — tokens older than N days show a warning in the UI.
Personal vs. workspace decision tree
- Just me on my laptop, occasionally? → Personal.
- CI, a bot, an MCP server anyone on the team uses? → Workspace.
- One-off script I’m running today? → Personal is fine.
- Anything long-lived → Workspace.
Related
nora auth— CLI-side auth.- MCP setup — using tokens with coding agents.
- Access & policies — role checks apply to tokens.
- Audit trail — every token event is logged.