Mem0
Mem0 is a memory infrastructure layer that gives AI agents and applications persistent context across sessions. The platform automatically condenses chat history into compact memories that reduce tokens and latency while preserving the right context for retrieval. Mem0 offers both a managed cloud platform and a permissively licensed open source project, with multi-tenant organizations, projects, users, and webhooks. It integrates with most popular agent frameworks including LangChain, LangGraph, CrewAI, AutoGen, LlamaIndex, the OpenAI Agents SDK, and the Vercel AI SDK. Enterprise features cover SOC 2, HIPAA, BYOK, auditable logging, and observability for production agent deployments.
APIs
Mem0 Platform API
The Mem0 Platform API provides hosted memory services for AI agents, exposing endpoints for adding, searching, retrieving, updating, and deleting memories, plus entities, events...
Collections
Mem0 API Docs
OPENPricing Plans
Rate Limits
FinOps
Mem0 Finops
FINOPSResources
Sources
opencollection: 1.0.0
info:
name: Mem0 API Docs
version: v1
request:
auth:
type: apikey
key: Authorization
value: '{{Authorization}}'
placement: header
items:
- info:
name: agents
type: folder
items:
- info:
name: agents_create
type: http
http:
method: POST
url: https://api.mem0.ai/v1/agents/
body:
type: json
data: '{}'
docs: Create a new Agent.
- info:
name: apps
type: folder
items:
- info:
name: apps_create
type: http
http:
method: POST
url: https://api.mem0.ai/v1/apps/
body:
type: json
data: '{}'
docs: Create a new App.
- info:
name: entities
type: folder
items:
- info:
name: entities_list
type: http
http:
method: GET
url: https://api.mem0.ai/v1/entities/
params:
- name: org_id
value: ''
type: query
description: Filter entities by organization ID.
- name: project_id
value: ''
type: query
description: Filter entities by project ID.
- info:
name: entities_filters_list
type: http
http:
method: GET
url: https://api.mem0.ai/v1/entities/filters/
- info:
name: entities_read
type: http
http:
method: GET
url: https://api.mem0.ai/v2/entities/:entity_type/:entity_id/
params:
- name: entity_type
value: ''
type: path
description: The type of the entity (user, agent, app, or run).
- name: entity_id
value: ''
type: path
description: The unique identifier of the entity.
- info:
name: entities_delete
type: http
http:
method: DELETE
url: https://api.mem0.ai/v2/entities/:entity_type/:entity_id/
params:
- name: entity_type
value: ''
type: path
description: The type of the entity (user, agent, app, or run).
- name: entity_id
value: ''
type: path
description: The unique identifier of the entity.
- info:
name: events
type: folder
items:
- info:
name: Retrieve all events for current organization and project.
type: http
http:
method: GET
url: https://api.mem0.ai/v1/events/
docs: Retrieve all events for current organization and project.
- info:
name: Retrieve details of a specific event by its ID.
type: http
http:
method: GET
url: https://api.mem0.ai/v1/event/:event_id/
params:
- name: event_id
value: ''
type: path
description: The unique identifier of the event (UUID).
docs: Retrieve details of a specific event by its ID.
- info:
name: exports
type: folder
items:
- info:
name: Create an export job with schema
type: http
http:
method: POST
url: https://api.mem0.ai/v1/exports/
body:
type: json
data: '{}'
docs: Create a structured export of memories based on a provided schema.
- info:
name: Export data based on filters
type: http
http:
method: POST
url: https://api.mem0.ai/v1/exports/get
body:
type: json
data: '{}'
docs: Get the latest memory export.
- info:
name: memories
type: folder
items:
- info:
name: memories_list
type: http
http:
method: GET
url: https://api.mem0.ai/v1/memories/
params:
- name: user_id
value: ''
type: query
description: Filter memories by user ID.
- name: agent_id
value: ''
type: query
description: Filter memories by agent ID.
- name: app_id
value: ''
type: query
description: Filter memories by app ID.
- name: run_id
value: ''
type: query
description: Filter memories by run ID.
- name: metadata
value: ''
type: query
description: Filter memories by metadata (JSON string).
- name: categories
value: ''
type: query
description: Filter memories by categories.
- name: org_id
value: ''
type: query
description: Filter memories by organization ID.
- name: project_id
value: ''
type: query
description: Filter memories by project ID.
- name: fields
value: ''
type: query
description: Filter memories by fields.
- name: keywords
value: ''
type: query
description: Filter memories by keywords.
- name: page
value: ''
type: query
description: 'Page number for pagination. Default: 1.'
- name: page_size
value: ''
type: query
description: 'Number of items per page. Default: 100.'
- name: start_date
value: ''
type: query
description: Filter memories by start date.
- name: end_date
value: ''
type: query
description: Filter memories by end date.
docs: Get all memories.
- info:
name: memories_create
type: http
http:
method: POST
url: https://api.mem0.ai/v1/memories/
body:
type: json
data: '{}'
docs: Add memories.
- info:
name: memories_delete_all
type: http
http:
method: DELETE
url: https://api.mem0.ai/v1/memories/
params:
- name: user_id
value: ''
type: query
description: Filter by user ID. Pass `*` to delete memories for all users.
- name: agent_id
value: ''
type: query
description: Filter by agent ID. Pass `*` to delete memories for all agents.
- name: app_id
value: ''
type: query
description: Filter by app ID. Pass `*` to delete memories for all apps.
- name: run_id
value: ''
type: query
description: Filter by run ID. Pass `*` to delete memories for all runs.
- name: metadata
value: ''
type: query
description: Filter memories by metadata (JSON string).
- name: org_id
value: ''
type: query
description: Filter memories by organization ID.
- name: project_id
value: ''
type: query
description: Filter memories by project ID.
docs: Delete memories by filter. At least one filter is required — previously omitting all filters silently deleted everything;
now it returns a validation error.
- info:
name: memories_list_v2
type: http
http:
method: POST
url: https://api.mem0.ai/v2/memories/
body:
type: json
data: '{}'
docs: Get all memories.
- info:
name: memories_events_list
type: http
http:
method: GET
url: https://api.mem0.ai/v1/memories/events/
- info:
name: memories_search_create
type: http
http:
method: POST
url: https://api.mem0.ai/v1/memories/search/
body:
type: json
data: '{}'
docs: Perform a semantic search on memories.
- info:
name: memories_search_v2
type: http
http:
method: POST
url: https://api.mem0.ai/v2/memories/search/
body:
type: json
data: '{}'
docs: Search memories based on a query and filters.
- info:
name: Get all memories (V3, paginated)
type: http
http:
method: POST
url: https://api.mem0.ai/v3/memories/
params:
- name: page
value: ''
type: query
description: 1-indexed page number.
- name: page_size
value: ''
type: query
description: Results per page.
body:
type: json
data: '{}'
docs: List memories scoped by filters, paginated. Entity IDs **must** be passed inside the `filters` object — top-level
`user_id` / `agent_id` / `run_id` are rejected with 400. `filters` supports the same operator set as V2 search (`AND`,
`OR`, `NOT`, `in`, `gte`, `lte`, etc.). Response is a paginated envelope; pass `page` and `page_size` as query parameters
to step through results.
- info:
name: Add memories (V3)
type: http
http:
method: POST
url: https://api.mem0.ai/v3/memories/add/
body:
type: json
data: '{}'
docs: Extract and store memories from a conversation using the V3 additive pipeline. Entity IDs (`user_id` / `agent_id`
/ `run_id`) are accepted at the top level. At least one entity ID is required so the memory is scoped to a session.
- info:
name: Search memories (V3)
type: http
http:
method: POST
url: https://api.mem0.ai/v3/memories/search/
body:
type: json
data: '{}'
docs: Relevance-ranked search across stored memories. V3 uses hybrid retrieval and can also apply temporal reasoning for
time-aware queries. Entity IDs **must** be passed inside the `filters` object — top-level `user_id` / `agent_id` / `run_id`
are rejected with 400. At least one entity ID is required.
- info:
name: memories_entity_read
type: http
http:
method: GET
url: https://api.mem0.ai/v1/memories/:entity_type/:entity_id/
params:
- name: entity_type
value: ''
type: path
- name: entity_id
value: ''
type: path
- info:
name: memories_read
type: http
http:
method: GET
url: https://api.mem0.ai/v1/memories/:memory_id/
params:
- name: memory_id
value: ''
type: path
description: The unique identifier of the memory to retrieve.
docs: Get a memory.
- info:
name: memories_update
type: http
http:
method: PUT
url: https://api.mem0.ai/v1/memories/:memory_id/
params:
- name: memory_id
value: ''
type: path
description: The unique identifier of the memory to retrieve.
body:
type: json
data: '{}'
docs: Get or Update or delete a memory.
- info:
name: memories_delete
type: http
http:
method: DELETE
url: https://api.mem0.ai/v1/memories/:memory_id/
params:
- name: memory_id
value: ''
type: path
description: The unique identifier of the memory to retrieve.
docs: Get or Update or delete a memory.
- info:
name: memories_history_list
type: http
http:
method: GET
url: https://api.mem0.ai/v1/memories/:memory_id/history/
params:
- name: memory_id
value: ''
type: path
description: The unique identifier of the memory to retrieve.
docs: Retrieve the history of a memory.
- info:
name: memories_batch_update
type: http
http:
method: PUT
url: https://api.mem0.ai/v1/batch/
body:
type: json
data: '{}'
docs: Batch update multiple memories (up to 1000) in a single API call.
- info:
name: memories_batch_delete
type: http
http:
method: DELETE
url: https://api.mem0.ai/v1/batch/
body:
type: json
data: '{}'
docs: Batch delete multiple memories (up to 1000) in a single API call.
- info:
name: runs
type: folder
items:
- info:
name: runs_create
type: http
http:
method: POST
url: https://api.mem0.ai/v1/runs/
body:
type: json
data: '{}'
docs: Create a new Agent Run.
- info:
name: stats
type: folder
items:
- info:
name: Retrieve memory-related statistics for the authenticated user.
type: http
http:
method: GET
url: https://api.mem0.ai/v1/stats/
docs: 'This endpoint returns the following statistics:
- Total number of memories created
- Total number of search events
- Total number of add events'
- info:
name: users
type: folder
items:
- info:
name: users_create
type: http
http:
method: POST
url: https://api.mem0.ai/v1/users/
body:
type: json
data: '{}'
docs: Create a new User.
- info:
name: feedback
type: folder
items:
- info:
name: submit_feedback
type: http
http:
method: POST
url: https://api.mem0.ai/v1/feedback/
body:
type: json
data: '{}'
docs: Submit feedback for a memory.
- info:
name: organizations
type: folder
items:
- info:
name: organizations_read
type: http
http:
method: GET
url: https://api.mem0.ai/api/v1/orgs/organizations/
- info:
name: create_organization
type: http
http:
method: POST
url: https://api.mem0.ai/api/v1/orgs/organizations/
body:
type: json
data: '{}'
docs: Create a new organization.
- info:
name: get_organization
type: http
http:
method: GET
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/
params:
- name: org_id
value: ''
type: path
description: The unique identifier of the organization
docs: Get a organization.
- info:
name: Delete an organization
type: http
http:
method: DELETE
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization to delete.
docs: Delete an organization by its ID.
- info:
name: Get organization members
type: http
http:
method: GET
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/members/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
docs: Retrieve a list of members for a specific organization.
- info:
name: Add organization member
type: http
http:
method: POST
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/members/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
body:
type: json
data: '{}'
docs: Add a new member to a specific organization.
- info:
name: Update organization member role
type: http
http:
method: PUT
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/members/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
body:
type: json
data: '{}'
docs: Update the role of an existing member in a specific organization.
- info:
name: Remove a member from the organization
type: http
http:
method: DELETE
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/members/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
body:
type: json
data: '{}'
docs: Remove a member from the organization
- info:
name: projects
type: folder
items:
- info:
name: Get projects
type: http
http:
method: GET
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/projects/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
docs: Retrieve a list of projects for a specific organization.
- info:
name: Create project
type: http
http:
method: POST
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/projects/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
body:
type: json
data: '{}'
docs: Create a new project within an organization.
- info:
name: Get project details
type: http
http:
method: GET
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/projects/:project_id/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
- name: project_id
value: ''
type: path
description: Unique identifier of the project.
docs: Retrieve details of a specific project within an organization.
- info:
name: Update Project
type: http
http:
method: PATCH
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/projects/:project_id/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
- name: project_id
value: ''
type: path
description: Unique identifier of the project to be updated.
body:
type: json
data: '{}'
docs: Update a specific project's settings.
- info:
name: Delete Project
type: http
http:
method: DELETE
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/projects/:project_id/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
- name: project_id
value: ''
type: path
description: Unique identifier of the project to be deleted.
docs: Delete a specific project and its related data.
- info:
name: Get Project Members
type: http
http:
method: GET
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/projects/:project_id/members/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
- name: project_id
value: ''
type: path
description: Unique identifier of the project.
docs: Retrieve a list of members for a specific project.
- info:
name: Add member to project
type: http
http:
method: POST
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/projects/:project_id/members/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
- name: project_id
value: ''
type: path
description: Unique identifier of the project.
body:
type: json
data: '{}'
docs: Add a new member to a specific project within an organization.
- info:
name: Update project member role
type: http
http:
method: PUT
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/projects/:project_id/members/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
- name: project_id
value: ''
type: path
description: Unique identifier of the project.
body:
type: json
data: '{}'
docs: Update the role of a member in a specific project within an organization.
- info:
name: Project
type: folder
items:
- info:
name: Delete Project Member
type: http
http:
method: DELETE
url: https://api.mem0.ai/api/v1/orgs/organizations/:org_id/projects/:project_id/members/
params:
- name: org_id
value: ''
type: path
description: Unique identifier of the organization.
- name: project_id
value: ''
type: path
description: Unique identifier of the project.
- name: email
value: ''
type: query
description: Email of the member to be removed
docs: Delete Project Member
- info:
name: webhooks
type: folder
items:
- info:
name: Get Project Webhooks
type: http
http:
method: GET
url: https://api.mem0.ai/api/v1/webhooks/projects/:project_id/
params:
- name: project_id
value: ''
type: path
description: Unique identifier of the project.
docs: Retrieve all webhooks for a specific project
- info:
name: Create Webhook
type: http
http:
method: POST
url: https://api.mem0.ai/api/v1/webhooks/projects/:project_id/
params:
- name: project_id
value: ''
type: path
description: Unique identifier of the project.
body:
type: json
data: '{}'
docs: Create a new webhook for a specific project
- info:
name: Update Webhook
type: http
http:
method: PUT
url: https://api.mem0.ai/api/v1/webhooks/:webhook_id/
params:
- name: webhook_id
value: ''
type: path
description: Unique identifier of the webhook.
body:
type: json
data: '{}'
docs: Update an existing webhook
- info:
name: Delete Webhook
type: http
http:
method: DELETE
url: https://api.mem0.ai/api/v1/webhooks/:webhook_id/
params:
- name: webhook_id
value: ''
type: path
description: Unique identifier of the webhook.
docs: Delete an existing webhook
bundled: true