Workspaces
A workspace is an isolated memory namespace for a single AI agent, product, or team. Workspaces own their memory, their API keys, and their billing subscription.
What a workspace owns
| Resource | Cardinality | Scope |
|---|---|---|
| Memory chunks | many | All memories stored via any key on this workspace share the same pool. |
| API keys | many (capped by plan) | Each key authenticates to exactly one workspace. |
| Subscription | one | Determines unit limits, rate limits, and cost cap. |
| Webhook endpoints | many | Receive events for this workspace only. |
Workspaces are fully isolated — memories in one workspace never appear in retrieval results from another, regardless of whether the two workspaces belong to the same account.
Your plan’s unit limits (memory writes, retrieves) apply per workspace. If you need higher throughput, upgrade the workspace’s plan in the dashboard — or use multiple workspaces with separate plans.
Creating a workspace
Workspaces are created from the dashboard at app.mnemexa.com — there is no public API for workspace provisioning. The signup flow creates one automatically; additional workspaces can be added from the workspace switcher.
Each workspace has a numeric workspace_id (e.g. 42). You’ll see this ID in status responses and in the URL of the workspace dashboard. API calls don’t take a workspace ID parameter — the API key resolves to its workspace automatically.
Workspace lifecycle
Workspaces move through four states:
| State | Description |
|---|---|
pending_payment | Newly created; awaiting first payment confirmation (for paid plans). Free plans skip this state. |
active | Normal operating state. All API calls accepted. |
suspended | Admin or billing intervention. Memory calls return 403; diagnostic endpoints continue working. |
limit_reached | Per-cycle unit cap exhausted. Memory calls return 429; resets at next billing cycle. |
The current state is visible in the workspace_status field of status responses, and in the workspace dashboard banner.
Multi-agent / multi-key patterns
The same workspace can be accessed from multiple agents, services, or environments by issuing separate API keys:
- Multi-environment — separate keys for
local,staging,production. Same workspace, separate keys for rotation control. - Multi-agent — one key per agent on the same workspace gives every agent the same shared memory. The MCP adapter calls this “shared brain”.
- Multi-product — different products on the same account each get their own workspace, plus per-environment keys within.
Keys can be disabled or rotated independently. See Authentication.
What a workspace doesn’t have
- No
workspace_idin request bodies. The API key determines the workspace. Don’t try to call into another workspace by passing its ID; it won’t work. - No public workspace API. Listing/creating/deleting workspaces is dashboard-only.
- No cross-workspace queries. A
memory.retrieveonly sees memories stored on its own workspace’s pool.
Inspecting a workspace from code
Use the status endpoint:
import mnemexa
client = mnemexa.Client()
s = client.status()
print(f"workspace_id={s.workspace_id} name={s.workspace_name} status={s.workspace_status}")
print(f"plan={s.plan_name} ({s.billing_cycle})")