Mnemo API · v1
Every Mnemo workspace exposes a versioned REST API at /api/v1/*. JSON in, JSON out. Requests are authenticated with a per-user API key — same shape as the Halo CRM API, deliberately, so a single integration pattern works across the Novative ecosystem.
Base URL: https://mnemo.team/api/v1
Every response includes X-Mnemo-Api-Version: v1. List endpoints return a consistent { object: "list", data, pagination } envelope.
Authentication
Create a key under Settings → API keys. Two scopes are available: read and write. Keys never expire by default and can be revoked instantly. The plaintext is shown exactly once on creation — store it like a password.
curl https://mnemo.team/api/v1/me \ -H "Authorization: Bearer mnemo_live_<your_key>" # or curl https://mnemo.team/api/v1/me \ -H "X-API-Key: mnemo_live_<your_key>"
Errors
All errors return the same envelope:
{
"error": {
"code": "insufficient_scope",
"message": "This key needs the \"write\" scope. Granted: read."
}
}| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_json | Body wasn't valid JSON. |
| 400 | validation_error | Required field missing or invalid. |
| 401 | missing_credentials | No Authorization or X-API-Key header. |
| 401 | invalid_key | Key isn't recognized. |
| 401 | revoked_key | Key was revoked. |
| 401 | expired_key | Key past expiry. |
| 403 | insufficient_scope | Granted scopes don't include the one this endpoint needs. |
| 404 | not_found | Resource not found in this workspace. |
Pagination
List endpoints accept limit (1–100, default 25) and offset (default 0). The envelope tells you how to page:
{
"object": "list",
"data": [ /* up to "limit" records */ ],
"pagination": {
"limit": 25,
"offset": 0,
"has_more": true,
"next_offset": 25,
"total": 84
}
}GET /me — identity probe
Returns the workspace and granted scopes for your key.
Pages
List supports search (matches title or preview), parent_page_id and standard pagination. Fetching one page returns the page record AND its ordered blocks in one shot.
curl -X POST https://mnemo.team/api/v1/pages \
-H "Authorization: Bearer mnemo_live_<your_key>" \
-H "Content-Type: application/json" \
-d '{ "title": "Weekly standup — May 30", "icon": "🎙️" }'Blocks
POST accepts { blocks: [{ type, content }, ...] } or a single { type, content }. Blocks append to the end of the page in order. Valid types: paragraph, heading_1, heading_2, heading_3, bulleted_list, numbered_list, to_do, toggle, callout, quote, code, divider, database_view.
curl -X POST https://mnemo.team/api/v1/pages/<page_id>/blocks \
-H "Authorization: Bearer mnemo_live_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"blocks": [
{ "type": "heading_2", "content": { "text": "Decisions" } },
{ "type": "to_do", "content": { "text": "Ship v2", "checked": false } }
]
}'Databases
query is POST so the body can carry filters in the future. Today it accepts limit, offset, and title(case-insensitive substring match against row titles). Response includes the database's schema so you know what each row's properties map to.
Search
Workspace-wide page search across title + preview. Query: q (empty returns most recently updated), limit (1–50).
Use from Solaris Enterprise
Solaris ships with a built-in Mnemo extension. Open Solaris → Extensions → Mnemo, paste a Mnemo API key, and Helios gains five new tools:
mnemo_search— search pages by querymnemo_get_page— fetch a page's bodymnemo_create_page— create a fresh pagemnemo_append_blocks— add blocks to an existing pagemnemo_log_meeting— quick meeting note + action items
The Mnemo key is stored encrypted in Solaris's workspace_extensions.credentials_encoded column, same pattern as every other extension.