# Mem0

Mem0 is an universal, self-improving memory layer for LLM applications.

- **Category:** artificial intelligence
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 47
- **Triggers:** 0
- **Slug:** `MEM0`
- **Version:** 20260312_00

## Tools

### Add member to project

**Slug:** `MEM0_ADD_MEMBER_TO_PROJECT`

Adds an existing user to a project (identified by `project_id` within organization `org_id`), assigning a valid system role.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string | Yes | Role defining the new member's project permissions. Must be either 'OWNER' or 'READER'. |
| `email` | string | Yes | Email address of the user to add to the project. |
| `org_id` | string | Yes | Identifier of the organization owning the project. |
| `project_id` | string | Yes | Identifier of the project to add the member to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add new memory records

**Slug:** `MEM0_ADD_NEW_MEMORY_RECORDS`

Stores new memory records from a list of messages, optionally inferring structured content; requires association via `agent_id`, `user_id`, `app_id`, or `run_id`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `infer` | boolean | No | If true, infers structured memories from messages; otherwise, stores messages directly. |
| `app_id` | string | No | Unique identifier for the application associated with this memory. At least one of agent_id, user_id, app_id, or run_id must be provided. |
| `org_id` | string | No | Optional unique identifier for the organization associated with this memory. |
| `run_id` | string | No | Unique identifier for the run associated with this memory. At least one of agent_id, user_id, app_id, or run_id must be provided. |
| `user_id` | string | No | Unique identifier for the user associated with this memory. At least one of agent_id, user_id, app_id, or run_id must be provided. |
| `agent_id` | string | No | Unique identifier for the agent associated with this memory. At least one of agent_id, user_id, app_id, or run_id must be provided. |
| `excludes` | string | No | Comma-separated keywords to exclude specific topics, aiding in filtering out irrelevant information. |
| `includes` | string | No | Comma-separated keywords to include specific topics, aiding filtering and prioritization. |
| `messages` | array | Yes | List of message objects forming the memory's content. Each message should have 'role' (e.g., 'user' or 'assistant') and 'content' (text content). Alternative: You can also provide 'records' with 'text' field which will be automatically converted to messages format. |
| `org_name` | string | No | The name of the organization for this memory. Deprecated: use `org_id` instead. |
| `async_mode` | boolean | No | Whether to process memories asynchronously (default: true). When true, returns event_id/status/message for tracking background processing. When false, processes synchronously and returns id/event/memory fields. Most clients use the default async mode. |
| `project_id` | string | No | Optional unique identifier for the project associated with this memory. |
| `project_name` | string | No | The name of the project for this memory. Deprecated: use `project_id` instead. |
| `output_format` | string | No | Specifies the response output format. 'v1.1' offers enhanced detail; 'v1.0' (default) will be deprecated. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add organization member

**Slug:** `MEM0_ADD_ORGANIZATION_MEMBER`

Adds a new member, who must be a registered user, to an organization, assigning them a specific role.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string | Yes | The role (should be in uppercase) to be assigned to the user within the organization (allowed values: 'OWNER' and 'READER'). This dictates the user's permissions. |
| `email` | string | Yes | The email of the user to be added to the organization. |
| `org_id` | string | Yes | Unique identifier of the organization to which the member will be added. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a new agent

**Slug:** `MEM0_CREATE_A_NEW_AGENT`

Creates a new agent with a unique `agent_id` and an optional `name`; additional metadata may be assigned by the system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Human-readable name for the agent, used for display or easier identification. This field is required by the API. |
| `agent_id` | string | Yes | Unique identifier for the agent, used for referencing in subsequent API calls. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a new agent run

**Slug:** `MEM0_CREATE_A_NEW_AGENT_RUN`

Creates a new agent run in the mem0.ai system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Human-readable name for the agent run. Required by the API. |
| `run_id` | string | Yes | Client-defined identifier for the agent run. Should be unique for distinct identification. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a new application

**Slug:** `MEM0_CREATE_A_NEW_APPLICATION`

Creates a new application, allowing metadata to be passed in the request body (not an explicit field in this action's request model); ensure `app_id` is unique to avoid potential errors or unintended updates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | A required, human-readable name for the application. The API requires this field to be provided. |
| `app_id` | string | Yes | The unique identifier for the application to be created. This ID will be used to reference the application in subsequent API calls. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a new organization entry

**Slug:** `MEM0_CREATE_A_NEW_ORGANIZATION_ENTRY`

Creates a new organization entry using the provided name and returns its details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name for the new organization. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a new user

**Slug:** `MEM0_CREATE_A_NEW_USER`

Creates a new user with the specified unique `user_id` and supports associating `metadata` (not part of the request schema fields).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier for the new user. This ID will be used for future references to this user. |
| `metadata` | object | No | Additional metadata to associate with the user |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create memory entry

**Slug:** `MEM0_CREATE_MEMORY_ENTRY`

Lists/searches existing memory entries with filtering and pagination; critically, this action retrieves memories and does *not* create new ones, despite its name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for paginated results (1-indexed). |
| `org_id` | string | No | Unique organization ID to filter memories. Preferred over the deprecated `org_name`. |
| `filters` | object | Yes | Required filters to retrieve memories (CANNOT be empty - must specify at least one filter condition). Logical operators (`AND`, `OR`, `NOT`) must be UPPERCASE and take a list of conditions. Comparison operators must be lowercase: `in` (matches any value), `gte` (>=), `lte` (<=), `gt` (>), `lt` (<), `ne` (not equal), `contains`, `icontains` (case-insensitive). Use `*` as wildcard to match any value for a field. ONLY the following 8 fields are supported (no other fields like 'status', 'tags', 'metadata', 'timestamp', 'feedback', etc. are allowed): user_id, agent_id, app_id, run_id, created_at, updated_at, categories, keywords. |
| `org_name` | string | No | DEPRECATED: Organization name to filter memories. Use `org_id` instead for improved stability and future compatibility. |
| `page_size` | integer | No | Number of memory entries per page. |
| `project_id` | string | No | Unique project ID to filter memories. Preferred over the deprecated `project_name`. |
| `project_name` | string | No | DEPRECATED: Project name to filter memories. Use `project_id` instead for improved stability and future compatibility. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create project

**Slug:** `MEM0_CREATE_PROJECT`

Creates a new project with a given name within an organization that must already exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name to be assigned to the new project. |
| `org_id` | string | Yes | The unique identifier of the organization under which the new project will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create webhook

**Slug:** `MEM0_CREATE_WEBHOOK`

Creates a new webhook for a specific project to receive real-time notifications. Use when you need to set up event-driven integrations that trigger on memory operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | URL endpoint where webhook events will be sent. Must be a valid HTTPS URL. |
| `name` | string | No | Human-readable name for the webhook to help identify its purpose. |
| `is_active` | boolean | No | Whether the webhook should be active immediately after creation. Defaults to true if not specified. |
| `project_id` | string | Yes | Unique identifier of the project to create the webhook for. |
| `event_types` | array | No | List of event types to subscribe to. If not specified, webhook will receive all event types. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete an organization

**Slug:** `MEM0_DELETE_AN_ORGANIZATION`

Permanently deletes an existing organization identified by its unique ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The unique identifier of the organization that is to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete memory by id

**Slug:** `MEM0_DELETE_A_SPECIFIC_MEMORY_BY_ID`

Permanently deletes a specific memory by its unique ID; ensure the `memory_id` exists as this operation is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memory_id` | string | Yes | The unique identifier of the memory to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete entity by type and id

**Slug:** `MEM0_DELETE_ENTITY_BY_TYPE_AND_ID`

Call to permanently and irreversibly hard-delete an existing entity (user, agent, app, or run) and all its associated data, using its type and ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity_id` | string | Yes | Unique identifier (ID) of the entity for deletion. Can be an integer ID or a string identifier. |
| `entity_type` | string ("user" | "agent" | "app" | "run") | Yes | Type of the entity to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete memories

**Slug:** `MEM0_DELETE_MEMORIES_ENDPOINT`

Deletes all memories matching specified filter criteria. IMPORTANT: At least one filter (agent_id, user_id, app_id, or run_id) must be provided to prevent accidental deletion of all memories. Requires delete permissions on the organization/project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app_id` | string | No | Deletes all memories associated with this app ID. At least one of user_id, agent_id, app_id, or run_id is required. |
| `org_id` | string | No | Organization ID to scope the deletion. Preferred over org_name. |
| `run_id` | string | No | Deletes all memories associated with this run ID. At least one of user_id, agent_id, app_id, or run_id is required. |
| `user_id` | string | No | Deletes all memories associated with this user ID. At least one of user_id, agent_id, app_id, or run_id is required. |
| `agent_id` | string | No | Deletes all memories associated with this agent ID. At least one of user_id, agent_id, app_id, or run_id is required. |
| `metadata` | object | No | Optional additional filter: deletes memories matching this metadata criteria. |
| `org_name` | string | No | Organization name to scope the deletion. Deprecated: use `org_id` instead. |
| `project_id` | string | No | Project ID to scope the deletion. Preferred over project_name. |
| `project_name` | string | No | Project name to scope the deletion. Deprecated: use `project_id` instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete memory batch with uuids

**Slug:** `MEM0_DELETE_MEMORY_BATCH_WITH_UUIDS`

Deletes a batch of up to 1000 existing memories, identified by their UUIDs, in a single API call.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memories` | array | Yes | A list of memory objects, each containing a memory_id field with the UUID of the memory to be deleted. Maximum of 1000 memories can be deleted in a single request. Also accepts 'memory_ids' as a simple list of UUID strings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete project

**Slug:** `MEM0_DELETE_PROJECT`

Permanently deletes a specific project and all its associated data from an organization; this action cannot be undone and requires the project to exist within the specified organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The unique identifier of the organization to which the project belongs. |
| `project_id` | string | Yes | The unique identifier of the project to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete project member

**Slug:** `MEM0_DELETE_PROJECT_MEMBER`

Removes an existing member, specified by email address, from a project, immediately revoking their project-specific access; the user is not removed from the organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the member to be removed from the project. |
| `org_id` | string | Yes | Unique identifier of the organization containing the project. |
| `project_id` | string | Yes | Unique identifier of the project from which the member will be removed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete webhook

**Slug:** `MEM0_DELETE_WEBHOOK`

Deletes a webhook and stops receiving notifications for the specified webhook ID. Use this when you no longer need webhook notifications or want to remove a specific webhook configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | Unique identifier of the webhook to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export data based on filters

**Slug:** `MEM0_EXPORT_DATA_BASED_ON_FILTERS`

Creates a new memory export job with optional entity filters (user_id, agent_id, app_id, run_id). Returns export job ID and confirmation message. Requires org_id and project_id. Uses default schema for memory structure if not specified.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app_id` | string | No | Filter to export memories for a specific App ID. At least one of user_id, agent_id, app_id, or run_id must be provided. |
| `org_id` | string | Yes | Organization ID for the memory export. |
| `run_id` | string | No | Filter to export memories for a specific Run ID. At least one of user_id, agent_id, app_id, or run_id must be provided. |
| `schema` | object | No | Schema definition for the export structure. Defaults to {"type": "object", "properties": {"memory": {"type": "string"}}} if not provided. |
| `filters` | object | No | Internal field used to structure filters for the API. Automatically populated from user_id, agent_id, app_id, and run_id fields. |
| `user_id` | string | No | Filter to export memories for a specific User ID. At least one of user_id, agent_id, app_id, or run_id must be provided. |
| `agent_id` | string | No | Filter to export memories for a specific Agent ID. At least one of user_id, agent_id, app_id, or run_id must be provided. |
| `project_id` | string | Yes | Project ID for the memory export. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List organizations

**Slug:** `MEM0_FETCH_DETAILED_LIST_OF_ORGANIZATIONS`

Retrieves a summary list of organizations for administrative oversight; returns summary data (names, IDs), not exhaustive details, despite 'detailed' in the name.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch details of a specific organization

**Slug:** `MEM0_FETCH_DETAILS_OF_A_SPECIFIC_ORGANIZATION`

Fetches comprehensive details for an organization using its `org_id`; the `org_id` must be valid and for an existing organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | Unique identifier of the organization. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get list of entity filters

**Slug:** `MEM0_FETCH_LIST_OF_ENTITY_FILTERS`

Retrieves predefined filter definitions for entities (e.g., by type, creation/modification date); returns definitions only, not filtered entity data.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get entity by id

**Slug:** `MEM0_FETCH_SPECIFIC_ENTITY_DETAILS_WITH_OPTIONAL_FILTERS`

Fetches detailed information for an existing entity (user, agent, app, or run) identified by its type and unique ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity_id` | integer | Yes | The unique integer identifier (ID) of the entity to retrieve. Must be a positive integer. |
| `entity_type` | string | Yes | The type of the entity (user, agent, app, or run). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get event status by event ID

**Slug:** `MEM0_GET_EVENT_STATUS_BY_EVENT_ID`

Retrieves a single async event by ID to check its current status and results. Use this after operations that return event IDs (e.g., add_new_memory_records) to poll for completion before proceeding with dependent operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | string | Yes | Unique identifier of the event to retrieve (UUID format). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get memories by entity

**Slug:** `MEM0_GET_MEMORIES_BY_ENTITY`

Tool to retrieve all memories associated with a specific entity (user, agent, app, or run). Use when you need to fetch memories for a known entity type and ID combination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity_id` | string | Yes | The unique identifier of the entity whose memories to retrieve. |
| `entity_type` | string ("user" | "agent" | "app" | "run") | Yes | Type of the entity. Must be one of: 'user', 'agent', 'app', 'run'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get memory export

**Slug:** `MEM0_GET_MEMORY_EXPORT`

Retrieves the status and results of a memory export job by its ID. Use this after creating an export job to fetch the processed memory data. The response structure matches the schema defined during export creation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | No | Organization ID filter. Can be an empty string if not filtering by organization. |
| `project_id` | string | No | Project ID filter. Can be an empty string if not filtering by project. |
| `memory_export_id` | string | Yes | The unique identifier (UUID format) of the memory export job to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get organization members

**Slug:** `MEM0_GET_ORGANIZATION_MEMBERS`

Fetches a list of members for a specified, existing organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The unique identifier of the organization for which members are to be listed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get project details

**Slug:** `MEM0_GET_PROJECT_DETAILS`

Fetches comprehensive details for a specified project within an organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The unique identifier for the organization to which the project belongs. |
| `project_id` | string | Yes | The unique identifier for the project whose details are to be retrieved. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get project members

**Slug:** `MEM0_GET_PROJECT_MEMBERS`

Retrieves all members for a specified project within an organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | Unique identifier of the organization. |
| `project_id` | string | Yes | Unique identifier of the project. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get projects

**Slug:** `MEM0_GET_PROJECTS`

Retrieves all projects for a given organization `org_id` to which the caller has access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The unique identifier of the organization for which to retrieve projects. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get project webhooks

**Slug:** `MEM0_GET_PROJECT_WEBHOOKS`

Retrieves all webhooks configured for a specific project. Use this to list webhook configurations including their event types, URLs, and active status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | Unique identifier of the project. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user memory stats

**Slug:** `MEM0_GET_USER_MEMORY_STATS`

Retrieves a summary of the authenticated user's memory activity, including total memories created, search events, and add events. Note: This endpoint is undocumented in the official mem0 API specification but is functional.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List entities

**Slug:** `MEM0_LIST_ENTITIES_WITH_OPTIONAL_ORG_AND_PROJECT_FILTERS`

Retrieves a list of entities, optionally filtered by organization or project (prefer `org_id`/`project_id` over deprecated `org_name`/`project_name`), noting results may be summaries and subject to limits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | No | Filter entities by the unique identifier of the organization. Must be provided together with project_id (both or neither). |
| `org_name` | string | No | Filter entities by organization name; this field is deprecated, prefer using `org_id` for more stable filtering. |
| `project_id` | string | No | Filter entities by the unique identifier of the project. Must be provided together with org_id (both or neither). |
| `project_name` | string | No | Filter entities by project name; this field is deprecated, prefer using `project_id` for more stable filtering. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Perform semantic search on memories

**Slug:** `MEM0_PERFORM_SEMANTIC_SEARCH_ON_MEMORIES`

Searches memories semantically using a natural language query and metadata filters. IMPORTANT: - At least one of 'user_id', 'agent_id', or 'run_id' MUST be provided - A non-empty 'query' string is REQUIRED for semantic search - To retrieve memories without a search query, use 'retrieve_memory_list' action instead

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | Natural language search query for semantic search. Must be a non-empty string. IMPORTANT: If you need to retrieve all memories for a user/agent without a specific search query, use the 'retrieve_memory_list' action (GET /v1/memories/) instead, which supports filtering by user_id, agent_id, metadata, and other parameters without requiring a semantic search query. |
| `top_k` | integer | No | Maximum number of relevant memory results to return. |
| `app_id` | string | No | Filter by application ID. Optional additional filter. |
| `fields` | array | No | Specific field names for inclusion in response for each memory; if empty/unprovided, all fields are returned. |
| `org_id` | string | No | Filter memories by organization ID. |
| `rerank` | boolean | No | If true, applies an additional reranking step to search results for potentially improved relevance. |
| `run_id` | string | No | Filter by run ID. REQUIRED: At least one of 'user_id', 'agent_id', or 'run_id' must be provided. |
| `user_id` | string | No | Filter by user ID. REQUIRED: At least one of 'user_id', 'agent_id', or 'run_id' must be provided. This is the most commonly used filter. |
| `agent_id` | string | No | Filter by agent ID. REQUIRED: At least one of 'user_id', 'agent_id', or 'run_id' must be provided. |
| `metadata` | object | No | A dictionary of key-value pairs to filter memories. Only memories matching all key-value pairs in the provided metadata will be returned. |
| `org_name` | string | No | Filter memories by organization name (deprecated; use `org_id` instead). |
| `categories` | array | No | Filter memories by a list of categories; returns memories matching at least one category. |
| `project_id` | string | No | Filter memories by project ID. |
| `project_name` | string | No | Filter memories by project name (deprecated; use `project_id` instead). |
| `output_format` | string | No | Specifies the output format for results. 'v1.0' is used if not provided. Supported: 'v1.0', 'v1.1'. |
| `filter_memories` | boolean | No | If true, strictly applies all provided metadata filters (e.g., `user_id`, `agent_id`, `categories`). |
| `only_metadata_based_search` | boolean | No | If true, search uses only the 'metadata' parameter for filtering (query is ignored for semantic matching). When true, the 'metadata' parameter must be provided. NOTE: This parameter may not be supported in all API versions. For simple retrieval of all memories without semantic search, use the 'retrieve_memory_list' action instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove a member from the organization

**Slug:** `MEM0_REMOVE_A_MEMBER_FROM_THE_ORGANIZATION`

Removes a member, specified by their username, from an existing organization of which they are currently a member.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | The email address of the member to be removed from the organization. |
| `org_id` | string | Yes | Unique identifier of the organization from which the member will be removed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve all events for the currently logged in user

**Slug:** `MEM0_RETRIEVE_ALL_EVENTS_FOR_THE_CURRENTLY_LOGGED_IN_USER`

Retrieves a paginated list of events for the authenticated user, filterable and paginable via URL query parameters. This is a read-only operation that does not modify data. Supported Query Parameters (applied directly to the request URL): - `event_type` (str, optional): Filters events by their type (e.g., 'ADD', 'SEARCH'). - `start_date` (str, optional): Filters events on or after this date (format: YYYY-MM-DD). - `end_date` (str, optional): Filters events on or before this date (format: YYYY-MM-DD). - `page` (int, optional): Specifies the page number for paginated results. - `page_size` (int, optional): Number of events per page (default: 50, max: 100).

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve list of memory events

**Slug:** `MEM0_RETRIEVE_LIST_OF_MEMORY_EVENTS`

Retrieves a chronological list of all memory events (e.g., user inputs, AI responses) from the Mem0 platform, providing interaction history and context for AI assistants.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve memory by id

**Slug:** `MEM0_RETRIEVE_MEMORY_BY_UNIQUE_IDENTIFIER`

Retrieves a complete memory entry by its unique identifier; `memory_id` must be valid and for an existing memory.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memory_id` | string | Yes | Unique identifier of the memory to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve memory history by id

**Slug:** `MEM0_RETRIEVE_MEMORY_HISTORY_BY_ID`

Retrieves the complete version history for an existing memory, using its unique `memory_id`, to inspect its evolution or audit changes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memory_id` | string | Yes | Unique identifier of the memory for which history is to be retrieved. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve memory list

**Slug:** `MEM0_RETRIEVE_MEMORY_LIST`

Retrieves a list of memories, supporting pagination and diverse filtering (e.g., by IDs, metadata, keywords, date ranges); ensure dates are ISO 8601 and `page`/`page_size` (if used) are positive integers. REQUIRED: At least one of agent_id, user_id, app_id, or run_id must be provided.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number for pagination, starting from 1. Default: 1. |
| `app_id` | string | No | The unique identifier of the application associated with the memories. At least one of user_id, agent_id, app_id, or run_id is required. |
| `fields` | array | No | A list of specific field names to consider during filtering. This might involve checking for the existence of these fields or scoping other filters (e.g., keywords) to them. |
| `org_id` | string | No | The unique identifier of the organization to filter memories by. Must be provided together with project_id, or both must be omitted. |
| `run_id` | string | No | The unique identifier of a specific run or session to filter memories by. At least one of user_id, agent_id, app_id, or run_id is required. |
| `user_id` | string | No | The unique identifier of the user whose memories are to be retrieved. At least one of user_id, agent_id, app_id, or run_id is required. |
| `agent_id` | string | No | The unique identifier of the agent associated with the memories to be retrieved. At least one of user_id, agent_id, app_id, or run_id is required. |
| `end_date` | string | No | The end date (inclusive) for filtering memories, typically in ISO 8601 format (e.g., 'YYYY-MM-DDTHH:MM:SSZ' or 'YYYY-MM-DD'). |
| `keywords` | string | No | Keywords to search for within the memories. The search might be across all text fields or restricted by the `fields` parameter if specified. |
| `metadata` | object | No | A dictionary of key-value pairs to filter memories. Only memories matching all key-value pairs in the provided metadata will be returned. |
| `org_name` | string | No | The name of the organization to filter memories by. This field is deprecated and will be removed in a future version; please use `org_id` instead. |
| `page_size` | integer | No | The number of memories to return per page. Default: 100. |
| `categories` | array | No | A list of categories to filter memories by. Memories matching any of the specified categories will be returned. |
| `project_id` | string | No | The unique identifier of the project to filter memories by. Must be provided together with org_id, or both must be omitted. |
| `start_date` | string | No | The start date (inclusive) for filtering memories, typically in ISO 8601 format (e.g., 'YYYY-MM-DDTHH:MM:SSZ' or 'YYYY-MM-DD'). |
| `project_name` | string | No | The name of the project to filter memories by. This field is deprecated and will be removed in a future version; please use `project_id` instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search memories with filters

**Slug:** `MEM0_SEARCH_MEMORIES_WITH_QUERY_FILTERS`

Semantically searches memories using structured filters with an optional natural language query. If query is omitted, defaults to '*' (wildcard) for filter-only searches. Offers options to rerank results, select specific fields, and adjust similarity threshold; any provided `org_id` or `project_id` must reference a valid existing entity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | No | Natural language query for searching memories. The API requires this field to be non-blank, so it defaults to '*' for filter-only searches. Omit or use '*' to retrieve memories matching only the filters without semantic search constraints. |
| `top_k` | integer | No | Maximum number of most relevant search results to return. |
| `fields` | array | No | Specific field names to include in returned memory objects (e.g., 'text', 'source', 'metadata.custom_field'). If omitted, all fields are returned. |
| `org_id` | string | No | UUID of the organization to scope the memory search; preferred over `org_name`. |
| `rerank` | boolean | No | If true, applies a secondary reranking model to initial search results for improved relevance. |
| `filters` | object | Yes | REQUIRED and cannot be empty - must contain at least one filter condition. Available filter fields: user_id, agent_id, app_id, run_id, created_at, updated_at, categories, keywords. Filters can be provided in two formats: (1) Simple key-value pairs: `{"user_id": "alice"}` for equality matching or `{"created_at": {"gte": "2023-01-01T00:00:00Z"}}` with comparison operators. (2) Wrapped in logical operators: `{"AND": [{"user_id": "alice"}]}` for combining multiple conditions. Comparison operators (lowercase): `in` (matches any value in list), `gte` (>=), `lte` (<=), `gt` (>), `lt` (<), `ne` (not equal), `contains`, `icontains` (case-insensitive). Logical operators (`AND`, `OR`, `NOT`) must be UPPERCASE and take a list of conditions. Use `*` as wildcard to match any value for a field (e.g., `{"user_id": "*"}` to match all users). |
| `org_name` | string | No | Deprecated: Name of the organization to scope the memory search. Use `org_id` instead for improved accuracy and stability. |
| `threshold` | number | No | Minimum similarity threshold for search results (0.0 to 1.0). Higher values return more relevant but fewer results. |
| `project_id` | string | No | UUID of the project to scope the memory search; preferred over `project_name`. |
| `project_name` | string | No | Deprecated: Name of the project to scope the memory search. Use `project_id` instead for improved accuracy and stability. |
| `keyword_search` | boolean | No | Whether to search for memories based on keywords instead of semantic similarity. |
| `filter_memories` | boolean | No | Whether to strictly apply all provided metadata filters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update memory batch with uuid

**Slug:** `MEM0_UPDATE_MEMORY_BATCH_WITH_UUID`

Updates text for up to 1000 memories in a single batch, using their UUIDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | No | The organization ID for the batch update operation. If not provided, defaults to the user's default organization. |
| `memories` | array | Yes | List of memory update operations, each specifying a memory ID and its new text. |
| `project_id` | string | No | The project ID for the batch update operation. If not provided, defaults to the user's default project. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update memory text content

**Slug:** `MEM0_UPDATE_MEMORY_DETAILS_BY_ID`

Updates the text content of an existing memory, identified by its `memory_id`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | No | New text content to replace the memory's existing text. At least one of 'text' or 'metadata' should be provided. |
| `metadata` | object | No | Supplementary metadata to update for the memory. Can be used to add or modify key-value pairs associated with the memory. |
| `memory_id` | string | Yes | The unique identifier of the memory whose text content is to be updated. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update organization member role

**Slug:** `MEM0_UPDATE_ORGANIZATION_MEMBER_ROLE`

Updates the role of an existing member to a new valid role within an existing organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string | Yes | New role to assign to the member. Valid values are 'OWNER' and 'READER' (must be uppercase). |
| `email` | string | Yes | Email address of the existing member or invitee whose role will be updated. |
| `org_id` | string | Yes | Identifier of the existing organization. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update project

**Slug:** `MEM0_UPDATE_PROJECT`

Updates a project by `project_id` within an `org_id`, modifying only provided fields (name, description, custom_instructions, custom_categories); list fields are fully replaced (cleared by `[]`), other omitted/null fields remain unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the project. |
| `org_id` | string | Yes | Organization's unique identifier. |
| `project_id` | string | Yes | Project's unique identifier to be updated. |
| `description` | string | No | New description for the project. |
| `custom_categories` | array | No | New list of custom category objects. Fully replaces existing categories; an empty list (`[]`) clears them. |
| `custom_instructions` | string | No | Custom instructions to guide memory processing as a single string. Pass an empty string ('') to clear existing instructions. If you have multiple instructions, combine them into one string separated by periods or newlines. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update project member role

**Slug:** `MEM0_UPDATE_PROJECT_MEMBER_ROLE`

Updates the role of a specific member within a designated project, ensuring the new role is valid and recognized by the system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string | Yes | The new role to assign to the member within the project. Must be either 'OWNER' or 'READER'. |
| `email` | string | Yes | The email address of the member whose role is to be updated within the specified project. |
| `org_id` | string | Yes | Unique identifier of the organization where the project resides. |
| `project_id` | string | Yes | Unique identifier of the project where the member's role will be updated. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
