docs/api-reference/organizations-projects.mdx
Organizations and projects provide multi-tenant support, access control, and team collaboration capabilities for Mem0 Platform. Use these APIs to build applications that support multiple teams, customers, or isolated environments.
<Info> Organizations and projects are **optional** features. You can use Mem0 without them for single-user or simple multi-user applications. </Info>Example with the mem0 Python package:
<Tabs> <Tab title="Python">from mem0 import MemoryClient
client = MemoryClient(api_key="your-api-key")
import { MemoryClient } from "mem0ai";
const client = new MemoryClient({ apiKey: "your-api-key" });
The Mem0 client provides comprehensive project management through the client.project interface:
Retrieve information about the current project:
# Get all project details
project_info = client.project.get()
# Get specific fields only
project_info = client.project.get(fields=["name", "description", "custom_categories"])
Create a new project within your organization:
# Create a project with name and description
new_project = client.project.create(
name="My New Project",
description="A project for managing customer support memories"
)
Modify project configuration including custom instructions, categories, graph settings, and language preferences:
# Update project with custom categories
client.project.update(
custom_categories=[
{"customer_preferences": "Customer likes, dislikes, and preferences"},
{"support_history": "Previous support interactions and resolutions"}
]
)
# Update project with custom instructions
client.project.update(
custom_instructions="..."
)
# Use the input language for memory storage and retrieval
client.project.update(multilingual=True)
# Update multiple settings at once
client.project.update(
custom_instructions="...",
custom_categories=[
{"personal_info": "User personal information and preferences"},
{"work_context": "Professional context and work-related information"}
],
multilingual=True
)
Remove a project and all its associated data:
# Delete the current project (irreversible)
result = client.project.delete()
Manage project members and their access levels:
# Get all project members
members = client.project.get_members()
# Add a new member as a reader
client.project.add_member(
email="[email protected]",
role="READER" # or "OWNER"
)
# Update a member's role
client.project.update_member(
email="[email protected]",
role="OWNER"
)
# Remove a member from the project
client.project.remove_member(email="[email protected]")
| Role | Permissions |
|---|---|
| READER | Can view and search memories, but cannot modify project settings or manage members |
| OWNER | Full access including project modification, member management, and all reader permissions |
All project methods are available in async mode:
from mem0 import AsyncMemoryClient
async def manage_project():
client = AsyncMemoryClient(api_key="your-api-key")
# All methods support async/await
project_info = await client.project.get()
await client.project.update(multilingual=True)
members = await client.project.get_members()
# To call the async function properly
import asyncio
asyncio.run(manage_project())
For complete API specifications and additional endpoints, see:
<CardGroup cols={2}> <Card title="Organizations APIs" icon="building" href="/api-reference/organization/create-org"> Create, get, and manage organizations </Card> <Card title="Project APIs" icon="folder" href="/api-reference/project/create-project"> Full project CRUD and member management endpoints </Card> </CardGroup>