user_alex lives in its own isolated space, completely separate from memories tagged user_jordan. This is what makes Supermemory safe to use in multi-tenant applications — one user can never see another user’s memories unless you explicitly query across both tags.
Group
Bucket memories by user, project, agent, workspace, or any boundary that makes sense for your app.
Isolate
Each container tag maps to its own vector namespace, so search and retrieval never leak across boundaries.
How it works
When you add a memory with a container tag, Supermemory automatically creates a space for that tag (scoped to your organization) if one doesn’t already exist. You don’t need to provision anything ahead of time — the first write with a new tag creates the container, and subsequent writes reuse it.A container tag is an opaque identifier you choose. Supermemory does not parse meaning out of it —
user_123, project_mobile, and org:acme:team:growth are all equally valid. Pick a convention that mirrors the access boundaries in your own application.Naming rules
Container tags are validated on every request. A tag must:- Be 100 characters or less
- Contain only alphanumeric characters, hyphens (
-), underscores (_), and colons (:)
^[a-zA-Z0-9_:-]+$
org:acme:user:john) that encode several levels of structure in a single identifier.
containerTag vs containerTags
Supermemory’s current API uses a single containerTag string per request.
Where container tags are used
The same tag flows through the entire lifecycle of a memory. Pass it consistently and your data stays neatly partitioned.Access control
Container tags are also an authorization boundary, not just an organizational one. Two mechanisms can restrict which tags a given caller may touch:- API key scopes — an API key can be limited to a specific set of container tags, with read or write permission per tag.
- Member restrictions — an organization member can be granted access to only certain container tags.
- Requesting a tag outside the allowed set returns
403 Forbidden. - A write (add/update/delete) to a read-only tag returns
403 Forbidden. - If no tag is supplied by a restricted caller, the request is automatically scoped to their allowed tag(s).
Per-container settings
Each container tag can carry its own configuration, independent of other tags in the same organization:Choosing a convention
Pick a tagging scheme that maps onto the isolation boundaries your application actually needs.Next steps
Organizing & Filtering
Combine container tags with metadata filters for precise retrieval.
Scoped API keys
Mint keys that can only touch one container — multi-tenant clients without the org master key.
Adding Memories
See container tags in action across the add API.