Create a token
- Sign in to Ela and open Settings → Access tokens.
- Enter a descriptive Token name, such as
Research assistant. - Leave both checkboxes off for retrieval only. Select Write notes if the integration must submit note mutations.
- Reserve Review agent writes for a reviewer-controlled integration. An agent submitting proposals does not need this permission.
- Click Create token.
- Copy the secret immediately, or click Copy config to copy the Cloud MCP configuration shown beside it.
- When you no longer need the token, click Revoke on its row and confirm. Clients using it will stop working.
Permissions
Your session can grant only permissions it already holds. A token with
notes.review does not automatically have notes.write, or vice versa. These checks apply through HTTP, SDKs, CLI, and Cloud MCP.
Authenticated note mutations without notes.write return 403 PERMISSION_MISSING. Supplying agent_id does not grant permission. Read-only static bearers also remain read-only.
Cloud MCP retrieval tools are available to valid read-only tokens. Write tools appear only with notes.write and configured write storage; inspect tools/list before calling them. Open local mode skips the permission check. Local MCP is always read-only.
Call HTTP with your token
Store the copied token inELA_API_TOKEN in your environment. The examples below assume it is already set; keep the secret out of committed files and shared command output.
Search requires only read access:
notes.write. Generate a fresh key for this operation; retain it and reuse it only when retrying this exact request:
pat:<prefix>, regardless of the submitted agent_id. They follow agent write policy, idempotency, budget, and review rather than applying as the signed-in user.
Check status before reading applied-only fields. An illustrative queued HTTP receipt is:
queued means the note has not changed. Record and report pending_id. In authenticated mode, even GET /v1/writes/{id} requires notes.review. With a write-only token, hand the ID to a reviewer; receipt polling will return 403 PERMISSION_MISSING. With review permission, inspect the receipt and report its state. Agents must not approve their own proposals or request additional review permission just to finish a task.
An illustrative applied HTTP receipt is:
applied means the operation completed. unchanged: true means it did not create a new version. Use committed_seq as min_seq on a subsequent search when you need read-your-writes behavior.
Cloud MCP receipts differ: a queued result includes status and pending_id, without the HTTP slug; an applied result includes version and sequence fields, without the embedded HTTP note. See MCP tools.
The API accepts review-scoped personal tokens for approval and rejection. Leaving approval to a human is the agent workflow rule, not a restriction to a human-only credential type.
Limits and token management
- At most 25 unrevoked, unexpired tokens can exist for a subject in a vault. Revoke unused tokens before creating more.
- The API accepts an optional future
expires_at. Settings currently has no expiry control; omitting expiry creates a token without a scheduled expiry. - Personal tokens cannot mutate device replicas (
/v1/sync/ops,/v1/sync/checkpoint, or/v1/sync/e2ee) or rename/delete folders. Those operations require a suitable signed-in session. Folder creation remains available withnotes.write.
Troubleshooting
Full reason codes: Errors. Version-safe edits and retries: Agents.