The Unimatrix REST API — store and retrieve memory context across all LLMs and devices.
Every request must include your Unimatrix API key in the Authorization header. Keys are generated in Settings → API Keys after signing in.
curl https://www.deployunimatrix.com/api/spaces \ -H "Authorization: Bearer umx_your_api_key_here"
Base URL: https://www.deployunimatrix.com/api · Raw OpenAPI spec: /api/openapi.json
https://www.deployunimatrix.com/api/spacesReturns all memory workspaces owned by the authenticated user.
200List of spaces401Unauthorizedhttps://www.deployunimatrix.com/api/spaces{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"isPublic": {
"type": "boolean"
}
}
}201Space created400Invalid input401Unauthorizedhttps://www.deployunimatrix.com/api/spaces/{spaceId}| Name | In | Schema |
|---|---|---|
| spaceId * | path | string |
200Space detail404Not foundhttps://www.deployunimatrix.com/api/spaces/{spaceId}| Name | In | Schema |
|---|---|---|
| spaceId * | path | string |
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"isPublic": {
"type": "boolean"
}
}
}200Updated space404Not foundhttps://www.deployunimatrix.com/api/spaces/{spaceId}| Name | In | Schema |
|---|---|---|
| spaceId * | path | string |
200Deleted404Not foundhttps://www.deployunimatrix.com/api/memories| Name | In | Schema |
|---|---|---|
| spaceId | query | string |
200List of memorieshttps://www.deployunimatrix.com/api/memories{
"type": "object",
"required": [
"spaceId",
"content"
],
"properties": {
"spaceId": {
"type": "string"
},
"content": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
}
}201Memory createdhttps://www.deployunimatrix.com/api/search| Name | In | Schema |
|---|---|---|
| q * | query | string |
| spaceId | query | string |
200Search resultshttps://www.deployunimatrix.com/api/locations{
"type": "object",
"required": [
"spaceId",
"name"
],
"properties": {
"spaceId": {
"type": "string"
},
"parentId": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"position": {
"type": "integer"
}
}
}201Location createdhttps://www.deployunimatrix.com/api/toolsReturns all memory/context tools in OpenAI function calling format by default. Add ?format=mcp to receive the raw MCP tool definitions instead. This endpoint is public (no auth required) because tool schemas are not sensitive.
| Name | In | Schema |
|---|---|---|
| format | query | string · openai | mcp · default: openai |
200List of tools500Failed to load tools from MCP backendhttps://www.deployunimatrix.com/api/tools/callTranslates a simple {toolName, args} payload into an internal MCP tools/call invocation. Use the exact tool names returned by GET /api/tools. Requires a valid Unimatrix API key. FOR NON-MCP LLMs: ALWAYS pass top-level 'sourceLlm' (e.g. 'gemini', 'chatgpt') in the body root so conversations auto-file into the per-LLM history location auto-created when you connected the provider during onboarding. The store_memory tool description (from /api/tools) contains the full system-prompt text to paste into your LLM.
{
"$ref": "#/components/schemas/ToolCallRequest"
}200Tool executed successfully400Bad request (missing toolName or malformed args)401Unauthorized (invalid or missing API key)404Unknown tool500Internal tool execution errorGET /api/tools and POST /api/tools/call translate between the REST API and the MCP tool surface for LLMs that support function calling but not MCP. Call GET /api/tools to discover schemas, then execute tools by name.
For non-MCP LLMs, always pass sourceLlm (e.g. "gemini", "chatgpt") at the top level of the /api/tools/call body so stored memories auto-file into the correct per-LLM history location.