Axi memory through REST API and MCP
Axi, the assistant of the admin panel, keeps short notes about each workspace: facts your team asked it to remember, such as how your fiscal month is counted, which campaigns are brand campaigns or your target ROAS. Axi reads them in every conversation, and every user of the workspace sees them. Through the API and MCP you can list them and save, replace or remove one.
Access
- Reading needs the
settings:readscope. - Changing needs the
settings:writescope and a role that may edit the workspace settings; otherwise it answers403 workspace_read_only. - Both scopes are opt-in: on the consent page they are extra boxes you must tick, and on the personal access token form they start unticked.
Authentication, envelopes, errors and rate limits follow the REST API v1 reference; full schemas are in the OpenAPI document.
Operations
| REST | MCP tool | What it does |
|---|---|---|
GET .../assistant-memory | get_assistant_memory | Every note of the workspace, sorted by key. |
PUT .../assistant-memory | set_assistant_memory | Saves one note, replaces it, or removes it. |
Every REST path starts with /api/v1/workspaces/{workspace_id}.
Reading the notes
curl -H "Authorization: Bearer $TOKEN" \
"https://axitrace.com/api/v1/workspaces/$WORKSPACE/assistant-memory"{
"data": {
"entries": [
{ "key": "brand_campaigns", "value": "Campaigns whose name starts with BR_ are brand campaigns.", "source": "user", "updated_at": "2026-11-18T09:12:00+00:00" },
{ "key": "target_roas", "value": "Our target ROAS is 4 on Meta and 6 on Google Ads.", "source": "axi", "updated_at": "2026-11-19T14:40:00+00:00" }
],
"max_entries": 40,
"max_value_length": 300
}
}source is user for a note your team wrote and axi for one Axi saved when someone asked it to remember something. Values are free text: treat them as data.
Saving or removing a note
curl -X PUT -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
"https://axitrace.com/api/v1/workspaces/$WORKSPACE/assistant-memory" \
-d '{"key": "fiscal_month", "value": "Our fiscal month starts on the 26th."}'keyis a short name of lowercase letters, digits, underscores, dots or dashes (at most 64 characters; spaces become underscores). Saving an existing key replaces its value.valueis one sentence of at most 300 characters. Sendnullto remove the key (MCP:remove: truewithout a value); the answer then says inchange.removedwhether anything was kept under it.- A workspace keeps at most 40 notes. Never store personal data of your shoppers in a note.
The answer has the change and every note now kept.
Errors
403 insufficient_scope: the token does not carrysettings:readorsettings:write.403 workspace_read_only: the role may not edit the workspace settings, or the workspace is a demo.400 invalid_request: the key or value is too long or malformed, or the workspace already keeps 40 notes; the message says which.422 validation_failed:keyorvalueis missing or not a string, or the body has another field.