---
title: Mem0 API Integration on Truto
slug: mem0
category: Knowledge Management
canonical: "https://truto.one/integrations/detail/mem0/"
---

# Mem0 API Integration on Truto



**Category:** Knowledge Management  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 37 tools for Mem0 that AI agents can call directly.

- **delete_a_mem_0_entity_by_id** — Delete a user entity from mem0 by entity type and ID. Returns an empty 204 response on success. Required: entity_type, id.
- **list_all_mem_0_users** — List all user entities stored in the mem0 platform. Returns: id.
- **get_single_mem_0_event_by_id** — Get a specific mem0 event by id, retrieving its status and payload for tracking asynchronous memory operations such as writes submitted via the memories add endpoint. Returns: id, status, payload. Required: id.
- **list_all_mem_0_events** — List recent mem0 events for your organization and project, useful for dashboards, alerting on FAILED events, and audit logging. Returns: id, status, payload.
- **create_a_mem_0_memory** — Add memories to mem0 by submitting conversation messages through the V3 additive pipeline (async, ADD-only; nothing is overwritten). Returns: message, status, event_id. Required: messages, plus at least one of user_id, agent_id, app_id, or run_id.
- **mem_0_memories_bulk_delete** — Delete multiple mem0 memories in a single batch request. Returns an empty 204 response on success.
- **mem_0_memories_bulk_update** — Update multiple mem0 memories in a single batch request. Returns an empty 204 response on success.
- **delete_a_mem_0_memory_by_id** — Delete a single mem0 memory by id. Returns an empty 204 response on success. Required: id.
- **list_all_mem_0_memories** — List mem0 memories with paginated results using filter conditions including logical operators (AND, OR, NOT) and comparisons (gte, lte, in, icontains, etc.). Returns: id, memory, created_at, updated_at per record. Entity IDs (user_id, agent_id, app_id, run_id) must be nested inside the filters body object — top-level entity IDs are rejected.
- **get_single_mem_0_memory_by_id** — Get a single mem0 memory by id. Returns: id, memory, created_at, updated_at. Required: id.
- **mem_0_memories_search** — Search mem0 memories using hybrid retrieval (semantic, BM25 keyword, and entity matching) with relevance scoring. Returns: results containing id, memory, user_id, score, metadata, created_at, updated_at, and categories per match. Required: query and filters containing at least one entity ID.
- **update_a_mem_0_memory_by_id** — Update the content or metadata of a single mem0 memory by id. Returns: id, memory, created_at, updated_at. Required: id.
- **mem_0_memories_bulk_delete_by_filter** — Delete all mem0 memories matching specified filter conditions from the memory store. Returns an empty 204 response on success.
- **create_a_mem_0_export** — Submit a mem0 export job to create a structured memory export using a customizable Pydantic schema. Returns the export job id and status. Optionally filter memories by user_id, agent_id, run_id, or session_id. Large exports may take time to complete.
- **get_single_mem_0_export_by_id** — Retrieve the latest structured memory export from mem0 after an export job has been submitted. Returns the export id and schema-defined data. Optionally filter by user_id, run_id, session_id, or app_id.
- **create_a_mem_0_feedback** — Submit positive or negative feedback on memory results in mem0 to help improve memory accuracy and relevance. Returns an empty 204 response on success.
- **create_a_mem_0_organization_member** — Add a new member to a mem0 organization with a specified access role. Returns: id, user_id, role. Required: org_id, role.
- **list_all_mem_0_organization_members** — List all members belonging to a specific mem0 organization. Returns: id, user_id, role. Required: org_id.
- **create_a_mem_0_organization** — Create a new organization in mem0 to manage projects, members, and memory resources. Returns: id, name. Required: name.
- **delete_a_mem_0_organization_by_id** — Permanently delete a mem0 organization and all its associated resources by id. Returns an empty 204 response on success. Required: id.
- **get_single_mem_0_organization_by_id** — Get details of a specific mem0 organization by id. Returns: id, name. Required: id.
- **list_all_mem_0_organizations** — List all mem0 organizations associated with your account. Returns: id, name.
- **get_single_mem_0_project_by_id** — Get a single mem0 project by id within an organization. Returns: id, name, description, custom_categories. Required: org_id, id.
- **create_a_mem_0_project** — Create a new mem0 project within an organization. Returns: id, name, description, custom_categories. Required: org_id, name.
- **update_a_mem_0_project_by_id** — Update a mem0 project's configuration within an organization, including custom categories. Returns: id, name, description, custom_categories. Required: org_id, id.
- **delete_a_mem_0_project_by_id** — Delete a mem0 project by id within an organization. This action is irreversible. Returns an empty 204 response on success. Required: org_id, id.
- **list_all_mem_0_projects** — List all mem0 projects within an organization. Returns: id, name, description, custom_categories. Required: org_id.
- **list_all_mem_0_project_members** — List all members of a mem0 project. Returns: email, role. Required: org_id, project_id.
- **create_a_mem_0_project_member** — Add a new member to a mem0 project with a specified role. Returns: email, role. Required: org_id, project_id, email, role.
- **update_a_mem_0_project_member_by_id** — Update the role of an existing member in a mem0 project. Returns: email, role. Required: org_id, project_id, email, role.
- **delete_a_mem_0_project_member_by_id** — Remove a member from a mem0 project by email. Returns an empty 204 response on success. Required: org_id, project_id, email.
- **create_a_mem_0_webhook** — Create a new webhook in mem0 for a project to receive real-time notifications about memory events. Returns: id, url, project_id, events. Required: project_id, url.
- **delete_a_mem_0_webhook_by_id** — Delete a mem0 webhook by id to stop receiving memory event notifications for that endpoint. Returns an empty 204 response on success. Required: id.
- **get_single_mem_0_webhook_by_id** — Get a mem0 webhook by id. Returns: id, url, project_id, events. Required: id.
- **update_a_mem_0_webhook_by_id** — Update an existing mem0 webhook configuration by id, such as changing its url or event subscriptions. Returns: id, url, project_id, events. Required: id.
- **list_all_mem_0_webhooks** — List all webhooks configured for a mem0 project. Returns: id, url, project_id, events. Required: project_id.
- **list_all_mem_0_memory_history** — List the full change history of a specific mem0 memory to track how it has evolved over time. Returns: id, memory_id, event, prev_value, new_value, created_at, updated_at. Required: memory_id.

## How it works

1. **Link your customer's Mem0 account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Mem0.** The Proxy API is a 1-to-1 mapping of the Mem0 API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Add persistent memory to your AI product** — Let your customers connect Mem0 so your AI features remember user preferences, past interactions, and context across sessions — without you building a memory layer from scratch.
- **Offer customers control over their AI's memory** — Give end users a settings panel to view, edit, and delete what the AI remembers about them, backed by Mem0's memory history and update APIs for transparency and compliance.
- **Sync AI-derived facts into your core data model** — Use Mem0 exports and webhooks to pull structured insights (preferences, traits, recurring issues) out of conversations and into your CRM, helpdesk, or analytics tables automatically.
- **Power multi-tenant AI agents with isolated memory** — Provision a Mem0 organization or project per customer so each tenant's agent memory is partitioned, governed, and scoped — useful for support copilots, sales assistants, and vertical AI tools.
- **Improve retrieval quality with in-product feedback loops** — Wire thumbs up/down or correction signals from your UI into Mem0 feedback so the memory layer gets smarter the more your customers' users interact with it.

## What you can build

- **Context pre-fetch on every AI call** — Search relevant memories by user, agent, or run before each LLM generation and inject them into the system prompt for personalized responses.
- **Post-conversation memory ingestion pipeline** — Push completed chat transcripts into Mem0 after each session and track async extraction status via event IDs without blocking your main app.
- **End-user memory management dashboard** — Render a list of stored memories with history, edit, and bulk-delete controls so users can curate what the AI knows about them.
- **Structured export to your database** — Trigger schema-driven exports to convert unstructured memories into typed JSON and sync fields into your own tables, CRM records, or analytics views.
- **Per-tenant project provisioning** — Automatically create Mem0 organizations, projects, and members when a new customer signs up to keep memory data fully isolated per tenant.
- **Webhook-driven memory sync** — Subscribe to Mem0 webhook events to react in real time when memories are created or updated and propagate changes to downstream systems.

## FAQs

### How does authentication work for connecting a customer's Mem0 account?

Mem0 uses API key authentication. Through Truto, your end users provide their Mem0 API key during the connection flow, and Truto securely stores and injects it on every request so you never handle credentials directly.

### Can we isolate data per customer in a multi-tenant setup?

Yes. You can programmatically create Mem0 organizations and projects per tenant using the organization, project, and member endpoints, then scope memory operations with user_id, agent_id, run_id, and app_id filters.

### How fresh is the data when memories are created?

Mem0's memory creation pipeline is asynchronous. The create endpoint returns immediately, and you can poll the corresponding event by ID (or list events) to confirm when extraction and storage are complete.

### Which Mem0 operations are supported through Truto?

Truto exposes tools for memories (create, get, list, update, delete, bulk update, bulk delete, bulk delete by filter, search, and history), events, exports, feedback, webhooks, users, and full organization/project/member management.

### Can we let end users edit or delete what the AI remembers?

Yes. You can list memories, fetch a single memory, view its history, update it, or delete individually or in bulk — making it straightforward to build user-facing memory controls for transparency and compliance.

### How do we react to memory changes in real time?

Use the webhook endpoints to create and manage subscriptions in Mem0. When memories are extracted or modified, Mem0 will fire events to your endpoint so you can update downstream systems without polling.

## Related reading

- [Connect Mem0 to ChatGPT: Store, Search, and Sync Persistent Memory](https://truto.one/blog/connect-mem0-to-chatgpt-store-search-and-sync-persistent-memory/) — Learn how to connect Mem0 to ChatGPT using a managed MCP server. Execute hybrid searches, manage persistent AI memory, and automate context syncing.
- [Connect Mem0 to AI Agents: Bulk Edit, Export, and Control User Data](https://truto.one/blog/connect-mem0-to-ai-agents-bulk-edit-export-and-control-user-data/) — A technical guide to connecting Mem0 to AI agents using Truto. Learn how to bind Mem0 tools to LLMs, handle rate limits, and automate memory workflows.
