Namespaces
Isolation. A namespace is a hard boundary. Memories in one namespace are never returned by a search scoped to another namespace.
Metadata filtering
Organization. Metadata is a set of custom key/value properties on a memory that you filter by — category, priority, date, participants, anything you define.
Why two mechanisms
It’s tempting to reach for one tool and make it do everything, but namespaces and metadata aren’t interchangeable — they answer different questions.
A namespace decides whether a memory is reachable at all for a given request. Metadata decides which of the reachable memories match. Filtering never crosses a namespace boundary — you can’t use metadata to peek into another tenant’s namespace.
How they work together
A typical multi-tenant write scopes the memory to a tenant with a namespace, then attaches metadata for finer-grained querying later:The namespace is required on every call (it is part of the URL) and validated as an access boundary. Metadata filters are optional — a search with just
namespace and no filter still only returns that tenant’s memories.Choosing your boundary
The namespace is the layer that should map to your actual tenancy model — pick the level that matches what “one isolated space” means in your app:
The simplest form is one namespace per user, derived from an ID you already have:
Access control
Namespaces aren’t just organizational — they’re enforced as an authorization boundary. API keys and org members can be restricted to specific namespaces, so a request for a namespace outside the caller’s allowed set is rejected with403 Forbidden rather than silently filtered. See Namespaces → Access control for the details.
Next steps
Examples
Personal agents, company agents, email assistants, and support platforms.
Namespaces
How isolation works, naming rules, and access control.
Organizing & Filtering
Metadata filter operators, combining
and/or, and query limits.Scoped API keys
Mint keys that can only touch one namespace.