# 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:** 20260414_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.

### 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`.

### 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.

### 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.

### Create a new agent run

**Slug:** `MEM0_CREATE_A_NEW_AGENT_RUN`

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

### 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.

### 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.

### 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).

### 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.

### Create project

**Slug:** `MEM0_CREATE_PROJECT`

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

### 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.

### Delete an organization

**Slug:** `MEM0_DELETE_AN_ORGANIZATION`

Permanently deletes an existing organization identified by its unique ID.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### Get organization members

**Slug:** `MEM0_GET_ORGANIZATION_MEMBERS`

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

### Get project details

**Slug:** `MEM0_GET_PROJECT_DETAILS`

Fetches comprehensive details for a specified project within an organization.

### Get project members

**Slug:** `MEM0_GET_PROJECT_MEMBERS`

Retrieves all members for a specified project within an organization.

### Get projects

**Slug:** `MEM0_GET_PROJECTS`

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

### 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.

### 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.

### 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.

### 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

### 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.

### 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).

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### Update memory text content

**Slug:** `MEM0_UPDATE_MEMORY_DETAILS_BY_ID`

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

### 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.

### 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.

### 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.
