Dataset isolation
- Each dataset maintains separate storage namespaces.
- Search queries only return results from datasets the user has access to.
- Scoped search (single dataset) and combined search (across accessible datasets) are both supported.
Managing members from the UI
The Members page (open the Profile menu in the top-right corner and select Members) lists everyone in the current tenant. From this page the tenant owner can:- Invite new members by email — either one at a time or multiple addresses at once.
- Remove existing members from the tenant.
Switching tenants
If your account belongs to more than one tenant, use the tenant switcher in the top bar to move between them. The selected tenant is remembered in your browser and used as the active workspace for datasets, search, and ingestion until you switch again.Tenant management
Tenants group users and resources. Each Cognee Cloud workspace operates as a tenant. Platform API (api.aws.cognee.ai):
| Endpoint | Description |
|---|---|
POST /api/v1/tenants | Create a new tenant |
DELETE /api/v1/tenants | Remove a tenant |
GET /api/v1/tenants/current | Get current tenant details |
GET /api/v1/tenants/current/service-url | Get the service URL for the tenant |
POST /api/v1/tenants/users | Assign a user to a tenant |
DELETE /api/v1/tenants/users | Remove a user from a tenant |
Tenant selection and membership
| Endpoint | Description |
|---|---|
POST /api/v1/permissions/tenants/select | Set the active tenant |
GET /api/v1/permissions/tenants/me | List tenants the authenticated user belongs to |
GET /api/v1/permissions/tenants/{tenant_id}/users | List users in a tenant |
cognee_selected_tenant cookie.
Roles
Roles define what actions a user can perform within a tenant.| Endpoint | Description |
|---|---|
POST /api/v1/permissions/roles | Create a new role |
POST /api/v1/permissions/users/{user_id}/roles | Assign a role to a user |
GET /api/v1/permissions/tenants/{tenant_id}/roles | List roles in a tenant |
GET /api/v1/permissions/tenants/{tenant_id}/roles/{role_id}/users | List users with a specific role |
GET /api/v1/permissions/tenants/{tenant_id}/roles/users/{user_id} | Get roles for a specific user |
Dataset permissions
Grant access to datasets for specific users or agents.POST /api/v1/permissions/datasets/{principal_id} — Grant dataset permissions to a principal.
The principal_id is the UUID of any entity that can hold permissions — this includes both users and agents. The same endpoint is used regardless of whether you are granting access to a human user or to an agent service account.
The permission_name query parameter controls the access level: read, write, or delete.
Roles vs. direct permissions
Roles and direct dataset permissions work together:- Roles define a reusable set of capabilities within a tenant (e.g., “viewer”, “editor”). Assign a role to a user via
POST /api/v1/permissions/users/{user_id}/roles, and that user inherits the role’s permissions across the tenant. - Direct dataset permissions grant access to specific datasets for a specific principal. Use the
datasets/{principal_id}endpoint above to give a user or agent access to individual datasets, independent of their role.
For a complete walkthrough of permission patterns, see Permission Snippets and the Cognee Permissions System.