diff --git a/docs/api-reference/entities/delete-user.mdx b/docs/api-reference/entities/delete-user.mdx new file mode 100644 index 00000000..65af2949 --- /dev/null +++ b/docs/api-reference/entities/delete-user.mdx @@ -0,0 +1,4 @@ +--- +title: 'Delete User' +openapi: delete /entities/{entity_type}/{entity_id}/ +--- \ No newline at end of file diff --git a/docs/api-reference/entities/get-users.mdx b/docs/api-reference/entities/get-users.mdx new file mode 100644 index 00000000..a23a5c00 --- /dev/null +++ b/docs/api-reference/entities/get-users.mdx @@ -0,0 +1,4 @@ +--- +title: 'Get Users' +openapi: get /entities/ +--- \ No newline at end of file diff --git a/docs/api-reference/memory/add-memories.mdx b/docs/api-reference/memory/add-memories.mdx new file mode 100644 index 00000000..d07ffd29 --- /dev/null +++ b/docs/api-reference/memory/add-memories.mdx @@ -0,0 +1,4 @@ +--- +title: 'Add Memories' +openapi: post /memories/ +--- \ No newline at end of file diff --git a/docs/api-reference/memory/delete-memories.mdx b/docs/api-reference/memory/delete-memories.mdx new file mode 100644 index 00000000..4b856fd2 --- /dev/null +++ b/docs/api-reference/memory/delete-memories.mdx @@ -0,0 +1,4 @@ +--- +title: 'Delete Memories' +openapi: delete /memories/ +--- diff --git a/docs/api-reference/memory/delete-memory.mdx b/docs/api-reference/memory/delete-memory.mdx new file mode 100644 index 00000000..f72c0ced --- /dev/null +++ b/docs/api-reference/memory/delete-memory.mdx @@ -0,0 +1,4 @@ +--- +title: 'Delete Memory' +openapi: delete /memories/{memory_id}/ +--- \ No newline at end of file diff --git a/docs/api-reference/memory/get-memories.mdx b/docs/api-reference/memory/get-memories.mdx new file mode 100644 index 00000000..c8b79266 --- /dev/null +++ b/docs/api-reference/memory/get-memories.mdx @@ -0,0 +1,4 @@ +--- +title: 'Get Memories' +openapi: get /memories/ +--- diff --git a/docs/api-reference/memory/get-memory.mdx b/docs/api-reference/memory/get-memory.mdx new file mode 100644 index 00000000..a45702ff --- /dev/null +++ b/docs/api-reference/memory/get-memory.mdx @@ -0,0 +1,4 @@ +--- +title: 'Get Memory' +openapi: get /memories/{memory_id}/ +--- \ No newline at end of file diff --git a/docs/api-reference/memory/history-memory.mdx b/docs/api-reference/memory/history-memory.mdx new file mode 100644 index 00000000..f9c0e6c8 --- /dev/null +++ b/docs/api-reference/memory/history-memory.mdx @@ -0,0 +1,4 @@ +--- +title: 'Memory History' +openapi: get /memories/{memory_id}/history/ +--- \ No newline at end of file diff --git a/docs/api-reference/memory/search-memories.mdx b/docs/api-reference/memory/search-memories.mdx new file mode 100644 index 00000000..0391c4d6 --- /dev/null +++ b/docs/api-reference/memory/search-memories.mdx @@ -0,0 +1,4 @@ +--- +title: 'Search Memories' +openapi: post /memories/search/ +--- \ No newline at end of file diff --git a/docs/api-reference/memory/update-memory.mdx b/docs/api-reference/memory/update-memory.mdx new file mode 100644 index 00000000..632f4db7 --- /dev/null +++ b/docs/api-reference/memory/update-memory.mdx @@ -0,0 +1,4 @@ +--- +title: 'Update Memory' +openapi: put /memories/{memory_id}/ +--- \ No newline at end of file diff --git a/docs/api-reference/overview.mdx b/docs/api-reference/overview.mdx new file mode 100644 index 00000000..44305f71 --- /dev/null +++ b/docs/api-reference/overview.mdx @@ -0,0 +1,34 @@ +# Mem0 API Overview + +Mem0 provides a powerful set of APIs that allow you to integrate advanced memory management capabilities into your applications. Our APIs are designed to be intuitive, efficient, and scalable, enabling you to create, retrieve, update, and delete memories across various entities such as users, agents, apps, and runs. + +## Key Features + +- **Memory Management**: Add, retrieve, update, and delete memories with ease. +- **Entity-based Operations**: Perform operations on memories associated with specific users, agents, apps, or runs. +- **Advanced Search**: Utilize our search API to find relevant memories based on various criteria. +- **History Tracking**: Access the history of memory interactions for comprehensive analysis. +- **User Management**: Manage user entities and their associated memories. + +## API Structure + +Our API is organized into several main categories: + +1. **Memory APIs**: Core operations for managing individual memories and collections. +2. **Entities APIs**: Manage different entity types (users, agents, etc.) and their associated memories. +3. **Search API**: Advanced search functionality to retrieve relevant memories. +4. **History API**: Track and retrieve the history of memory interactions. + +## Authentication + +All API requests require authentication using HTTP Basic Auth. Ensure you include your API key in the Authorization header of each request. + +## Getting Started + +To begin using the Mem0 API, you'll need to: + +1. Sign up for a [Mem0 account](https://app.mem0.ai) and obtain your API key. +2. Familiarize yourself with the API endpoints and their functionalities. +3. Make your first API call to add or retrieve a memory. + +Explore the detailed documentation for each API endpoint to learn more about request/response formats, parameters, and example usage. diff --git a/docs/mint.json b/docs/mint.json index cd4af29c..8f98fd55 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -26,6 +26,11 @@ "icon": "chart-simple", "url": "https://app.mem0.ai" }, + { + "name": "API Reference", + "url": "api-reference", + "icon": "square-terminal" + }, { "name": "Discord", "icon": "discord", @@ -125,6 +130,32 @@ } ] }, + { + "group": "API Reference", + "pages": [ + "api-reference/overview", + { + "group": "Memory APIs", + "pages": [ + "api-reference/memory/get-memories", + "api-reference/memory/add-memories", + "api-reference/memory/delete-memories", + "api-reference/memory/get-memory", + "api-reference/memory/update-memory", + "api-reference/memory/delete-memory", + "api-reference/memory/search-memories", + "api-reference/memory/history-memory" + ] + }, + { + "group": "Entities APIs", + "pages": [ + "api-reference/entities/get-users", + "api-reference/entities/delete-user" + ] + } + ] + }, { "group": "Integrations", "pages": [ diff --git a/docs/openapi.json b/docs/openapi.json new file mode 100644 index 00000000..9aad932f --- /dev/null +++ b/docs/openapi.json @@ -0,0 +1,1321 @@ +{ + "openapi":"3.0.1", + "info":{ + "title":"Mem0 API Docs", + "description":"mem0.ai API Docs", + "contact":{ + "email":"deshraj@mem0.ai" + }, + "license":{ + "name":"Apache 2.0" + }, + "version":"v1" + }, + "servers":[ + { + "url":"https://api.mem0.ai/v1" + } + ], + "security":[ + { + "Basic":[] + } + ], + "paths":{ + "/agents/":{ + "post":{ + "tags":[ + "agents" + ], + "description":"Create a new Agent.", + "operationId":"agents_create", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/CreateAgent" + } + } + }, + "required":true + }, + "responses":{ + "201":{ + "description":"", + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/CreateAgent" + } + } + } + } + }, + "x-codegen-request-body-name":"data" + } + }, + "/apps/":{ + "post":{ + "tags":[ + "apps" + ], + "description":"Create a new App.", + "operationId":"apps_create", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/CreateApp" + } + } + }, + "required":true + }, + "responses":{ + "201":{ + "description":"", + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/CreateApp" + } + } + } + } + }, + "x-codegen-request-body-name":"data" + } + }, + "/entities/":{ + "get":{ + "tags":[ + "entities" + ], + "operationId":"entities_list", + "responses":{ + "200":{ + "description":"", + "content":{ + "application/json":{ + "schema":{ + "type":"array", + "items":{ + "type":"object", + "properties":{ + "id":{ + "type":"string", + "description":"Unique identifier for the entity" + }, + "name":{ + "type":"string", + "description":"Name of the entity" + }, + "created_at":{ + "type":"string", + "format":"date-time", + "description":"Timestamp of when the entity was created" + }, + "updated_at":{ + "type":"string", + "format":"date-time", + "description":"Timestamp of when the entity was last updated" + }, + "total_memories":{ + "type":"integer", + "description":"Total number of memories associated with the entity" + }, + "owner":{ + "type":"string", + "description":"Owner of the entity" + }, + "organization":{ + "type":"string", + "description":"Organization the entity belongs to" + }, + "metadata":{ + "type":"object", + "description":"Additional metadata associated with the entity" + }, + "type":{ + "type":"string", + "description":"Type of the entity (e.g., 'user', 'agent')" + } + }, + "required":[ + "id", + "name", + "created_at", + "updated_at", + "total_memories", + "owner", + "organization", + "type" + ] + } + } + } + } + } + } + } + }, + "/entities/filters/":{ + "get":{ + "tags":[ + "entities" + ], + "operationId":"entities_filters_list", + "responses":{ + "200":{ + "description":"", + "content":{ + } + } + } + } + }, + "/entities/{entity_type}/{entity_id}/":{ + "get":{ + "tags":[ + "entities" + ], + "operationId":"entities_read", + "responses":{ + "200":{ + "description":"", + "content":{ + } + } + } + }, + "delete":{ + "tags":[ + "entities" + ], + "operationId":"entities_delete", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/EntityInput" + } + } + }, + "required":true + }, + "responses":{ + "204":{ + "description":"Entity deleted successfully!", + "content":{ + "application/json":{ + "schema":{ + "type":"object", + "properties":{ + "message":{ + "type":"string", + "example":"Entity deleted successfully!" + } + } + } + } + } + } + } + } + }, + "/events/":{ + "get":{ + "tags":[ + "events" + ], + "summary":"Retrieve all events for the currently logged-in user.", + "description":"This endpoint returns a paginated list of events associated with the authenticated user.\nYou can filter the events by event type, start date, and end date.\n\nQuery Parameters:\n- event_type: Filter by event type (ADD or SEARCH)\n- start_date: Filter events after this date (format: YYYY-MM-DD)\n- end_date: Filter events before this date (format: YYYY-MM-DD)\n- page: Page number for pagination\n- page_size: Number of items per page (default: 50, max: 100)", + "operationId":"events_list", + "responses":{ + "200":{ + "description":"", + "content":{ + } + } + } + } + }, + "/memories/":{ + "get":{ + "tags":[ + "memories" + ], + "description":"Get all memories", + "operationId":"memories_list", + "responses":{ + "200":{ + "description":"", + "content":{ + "application/json":{ + "schema":{ + "type":"array", + "items":{ + "type":"object", + "properties":{ + "id":{ + "type":"string" + }, + "name":{ + "type":"string" + }, + "created_at":{ + "type":"string", + "format":"date-time" + }, + "updated_at":{ + "type":"string", + "format":"date-time" + }, + "total_memories":{ + "type":"integer" + }, + "owner":{ + "type":"string" + }, + "organization":{ + "type":"string" + }, + "metadata":{ + "type":"object" + }, + "type":{ + "type":"string", + "enum":[ + "user", + "agent" + ] + } + }, + "required":[ + "id", + "name", + "created_at", + "updated_at", + "total_memories", + "owner", + "organization", + "type" + ] + } + } + } + } + } + } + }, + "post":{ + "tags":[ + "memories" + ], + "description":"Add memories", + "operationId":"memories_create", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/MemoryInput" + } + } + }, + "required":true + }, + "responses":{ + "200":{ + "description":"Successful memory creation", + "content":{ + "application/json":{ + "schema":{ + "type":"object", + "properties":{ + "message":{ + "type":"string", + "example":"ok" + } + } + } + } + } + }, + "400":{ + "description":"Bad Request. Invalid input data. Please refer to the memory creation documentation at https://docs.mem0.ai/platform/quickstart#4-1-create-memories for correct formatting and required fields.", + "content":{ + "application/json":{ + "schema":{ + "type":"object", + "required":[ + "error", + "details" + ], + "example":{ + "error":"400 Bad Request", + "details":{ + "message":"Invalid input data. Please refer to the memory creation documentation at https://docs.mem0.ai/platform/quickstart#4-1-create-memories for correct formatting and required fields." + } + } + } + } + } + } + }, + "x-codegen-request-body-name":"data" + }, + "delete":{ + "tags":[ + "memories" + ], + "description":"Delete memories", + "operationId":"memories_delete", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/DeleteMemoriesInput" + } + } + }, + "required":true + }, + "responses":{ + "204":{ + "description":"Successful deletion of memories", + "content":{ + "application/json":{ + "schema":{ + "type":"object", + "properties":{ + "message":{ + "type":"string", + "example":"Memories deleted successfully!" + } + } + } + } + } + } + } + } + }, + "/memories/events/":{ + "get":{ + "tags":[ + "memories" + ], + "operationId":"memories_events_list", + "responses":{ + "200":{ + "description":"", + "content":{ + } + } + } + } + }, + "/memories/search/":{ + "post":{ + "tags":[ + "memories" + ], + "description":"Perform a semantic search on memories.", + "operationId":"memories_search_create", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/MemorySearchInput" + } + } + }, + "required":true + }, + "responses":{ + "200":{ + "description":"", + "content":{ + "application/json":{ + "schema":{ + "type":"array", + "items":{ + "type":"object", + "properties":{ + "id":{ + "type":"string", + "format":"uuid", + "description":"Unique identifier for the memory" + }, + "memory":{ + "type":"string", + "description":"The content of the memory" + }, + "input":{ + "type":"array", + "items":{ + "type":"object", + "properties":{ + "role":{ + "type":"string", + "enum":[ + "user", + "assistant" + ], + "description":"The role of the speaker in the conversation" + }, + "content":{ + "type":"string", + "description":"The content of the message" + } + }, + "required":[ + "role", + "content" + ] + }, + "description":"The conversation input that was used to generate this memory" + }, + "user_id":{ + "type":"string", + "description":"The identifier of the user associated with this memory" + }, + "hash":{ + "type":"string", + "description":"A hash of the memory content" + }, + "metadata":{ + "type":"object", + "nullable":true, + "description":"Additional metadata associated with the memory" + }, + "created_at":{ + "type":"string", + "format":"date-time", + "description":"The timestamp when the memory was created" + }, + "updated_at":{ + "type":"string", + "format":"date-time", + "description":"The timestamp when the memory was last updated" + } + }, + "required":[ + "id", + "memory", + "input", + "user_id", + "hash", + "created_at", + "updated_at" + ] + } + } + } + } + }, + "400":{ + "description":"Bad Request", + "content":{ + "application/json":{ + "schema":{ + "type":"object", + "properties":{ + "message":{ + "type":"string", + "example":"At least one of the filters: agent_id, user_id, app_id, run_id is required!" + } + } + } + } + } + } + }, + "x-codegen-request-body-name":"data" + } + }, + "/memories/{entity_type}/{entity_id}/":{ + "get":{ + "tags":[ + "memories" + ], + "operationId":"memories_read", + "responses":{ + "200":{ + "description":"", + "content":{ + } + } + } + }, + "parameters":[ + { + "name":"entity_type", + "in":"path", + "required":true, + "schema":{ + "type":"string" + } + }, + { + "name":"entity_id", + "in":"path", + "required":true, + "schema":{ + "type":"string" + } + } + ] + }, + "/memories/{memory_id}/":{ + "get":{ + "tags":[ + "memories" + ], + "description":"Get a memory.", + "operationId":"memories_read", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/GetMemoryInput" + } + } + }, + "required":true + }, + "responses":{ + "200":{ + "description":"Successfully retrieved the memory", + "content":{ + "application/json":{ + "schema":{ + "type":"object", + "properties":{ + "id":{ + "type":"string", + "format":"uuid", + "description":"Unique identifier for the memory" + }, + "memory":{ + "type":"string", + "description":"The content of the memory" + }, + "user_id":{ + "type":"string", + "description":"Identifier of the user associated with this memory" + }, + "agent_id":{ + "type":"string", + "nullable":true, + "description":"The agent ID associated with the memory, if any" + }, + "app_id":{ + "type":"string", + "nullable":true, + "description":"The app ID associated with the memory, if any" + }, + "run_id":{ + "type":"string", + "nullable":true, + "description":"The run ID associated with the memory, if any" + }, + "hash":{ + "type":"string", + "description":"Hash of the memory content" + }, + "metadata":{ + "type":"object", + "description":"Additional metadata associated with the memory" + }, + "created_at":{ + "type":"string", + "format":"date-time", + "description":"Timestamp of when the memory was created" + }, + "updated_at":{ + "type":"string", + "format":"date-time", + "description":"Timestamp of when the memory was last updated" + } + } + } + } + } + }, + "404":{ + "description":"Memory not found", + "content":{ + "application/json":{ + "schema":{ + "type":"object", + "properties":{ + "error":{ + "type":"string", + "example":"Memory not found!" + } + } + } + } + } + } + } + }, + "put":{ + "tags":[ + "memories" + ], + "description":"Get or Update or delete a memory.", + "operationId":"memories_update", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/UpdateMemoryInput" + } + } + }, + "required":true + }, + "responses":{ + "200":{ + "description":"Successfully updated memory", + "content":{ + "application/json":{ + "schema":{ + "type":"object", + "properties":{ + "id":{ + "type":"string", + "format":"uuid", + "description":"The unique identifier of the updated memory" + }, + "text":{ + "type":"string", + "description":"The updated text content of the memory" + }, + "user_id":{ + "type":"string", + "nullable":true, + "description":"The user ID associated with the memory, if any" + }, + "agent_id":{ + "type":"string", + "nullable":true, + "description":"The agent ID associated with the memory, if any" + }, + "app_id":{ + "type":"string", + "nullable":true, + "description":"The app ID associated with the memory, if any" + }, + "run_id":{ + "type":"string", + "nullable":true, + "description":"The run ID associated with the memory, if any" + }, + "hash":{ + "type":"string", + "description":"Hash of the memory content" + }, + "metadata":{ + "type":"object", + "description":"Additional metadata associated with the memory" + }, + "created_at":{ + "type":"string", + "format":"date-time", + "description":"Timestamp of when the memory was created" + }, + "updated_at":{ + "type":"string", + "format":"date-time", + "description":"Timestamp of when the memory was last updated" + } + } + } + } + } + } + }, + "x-codegen-request-body-name":"data" + }, + "delete":{ + "tags":[ + "memories" + ], + "description":"Get or Update or delete a memory.", + "operationId":"memories_delete", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/GetMemoryInput" + } + } + }, + "required":true + }, + "responses":{ + "204":{ + "description":"Successful deletion of memory", + "content":{ + "application/json":{ + "schema":{ + "type":"object", + "properties":{ + "message":{ + "type":"string", + "example":"Memory deleted successfully!" + } + } + } + } + } + } + } + } + }, + "/memories/{memory_id}/history/":{ + "get":{ + "tags":[ + "memories" + ], + "description":"Retrieve the history of a memory.", + "operationId":"memories_history_list", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/GetMemoryInput" + } + } + }, + "required":true + }, + "responses":{ + "200":{ + "description":"Successfully retrieved the memory history", + "content":{ + "application/json":{ + "schema":{ + "type":"array", + "items":{ + "type":"object", + "properties":{ + "id":{ + "type":"string", + "format":"uuid", + "description":"Unique identifier for the history entry" + }, + "memory_id":{ + "type":"string", + "format":"uuid", + "description":"Unique identifier of the associated memory" + }, + "input":{ + "type":"array", + "items":{ + "type":"object", + "properties":{ + "role":{ + "type":"string", + "enum":[ + "user", + "assistant" + ], + "description":"The role of the speaker in the conversation" + }, + "content":{ + "type":"string", + "description":"The content of the message" + } + }, + "required":[ + "role", + "content" + ] + }, + "description":"The conversation input that led to this memory change" + }, + "old_memory":{ + "type":"string", + "nullable":true, + "description":"The previous state of the memory, if applicable" + }, + "new_memory":{ + "type":"string", + "description":"The new or updated state of the memory" + }, + "user_id":{ + "type":"string", + "description":"The identifier of the user associated with this memory" + }, + "event":{ + "type":"string", + "enum":[ + "ADD", + "UPDATE", + "DELETE" + ], + "description":"The type of event that occurred" + }, + "metadata":{ + "type":"object", + "nullable":true, + "description":"Additional metadata associated with the memory change" + }, + "created_at":{ + "type":"string", + "format":"date-time", + "description":"The timestamp when this history entry was created" + }, + "updated_at":{ + "type":"string", + "format":"date-time", + "description":"The timestamp when this history entry was last updated" + } + }, + "required":[ + "id", + "memory_id", + "input", + "new_memory", + "user_id", + "event", + "created_at", + "updated_at" + ] + } + } + } + } + } + } + } + }, + "/runs/":{ + "post":{ + "tags":[ + "runs" + ], + "description":"Create a new Agent Run.", + "operationId":"runs_create", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/CreateRun" + } + } + }, + "required":true + }, + "responses":{ + "201":{ + "description":"", + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/CreateRun" + } + } + } + } + }, + "x-codegen-request-body-name":"data" + } + }, + "/stats/":{ + "get":{ + "tags":[ + "stats" + ], + "summary":"Retrieve memory-related statistics for the authenticated user.", + "description":"This endpoint returns the following statistics:\n- Total number of memories created\n- Total number of search events\n- Total number of add events", + "operationId":"stats_list", + "responses":{ + "200":{ + "description":"", + "content":{ + } + } + } + } + }, + "/users/":{ + "post":{ + "tags":[ + "users" + ], + "description":"Create a new User.", + "operationId":"users_create", + "requestBody":{ + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/CreateUser" + } + } + }, + "required":true + }, + "responses":{ + "201":{ + "description":"", + "content":{ + "application/json":{ + "schema":{ + "$ref":"#/components/schemas/CreateUser" + } + } + } + } + }, + "x-codegen-request-body-name":"data" + } + } + }, + "components":{ + "schemas":{ + "CreateAgent":{ + "required":[ + "agent_id" + ], + "type":"object", + "properties":{ + "agent_id":{ + "title":"Agent id", + "minLength":1, + "type":"string" + }, + "name":{ + "title":"Name", + "minLength":1, + "type":"string" + }, + "metadata":{ + "title":"Metadata", + "type":"object", + "properties":{ + + } + } + } + }, + "CreateApp":{ + "required":[ + "app_id" + ], + "type":"object", + "properties":{ + "app_id":{ + "title":"App id", + "minLength":1, + "type":"string" + }, + "name":{ + "title":"Name", + "minLength":1, + "type":"string" + }, + "metadata":{ + "title":"Metadata", + "type":"object", + "properties":{ + + } + } + } + }, + "MemoryInput":{ + "type":"object", + "properties":{ + "messages":{ + "description":"An array of message objects representing the content of the memory. Each message object typically contains 'role' and 'content' fields, where 'role' indicates the sender (e.g., 'user', 'assistant', 'system') and 'content' contains the actual message text. This structure allows for the representation of conversations or multi-part memories.", + "type":"array", + "items":{ + "type":"object", + "additionalProperties":{ + "type":"string", + "nullable":true + } + } + }, + "agent_id":{ + "description":"The unique identifier of the agent associated with this memory.", + "title":"Agent id", + "type":"string", + "nullable":true + }, + "user_id":{ + "description":"The unique identifier of the user associated with this memory.", + "title":"User id", + "type":"string", + "nullable":true + }, + "app_id":{ + "description":"The unique identifier of the application associated with this memory.", + "title":"App id", + "type":"string", + "nullable":true + }, + "run_id":{ + "description":"The unique identifier of the run associated with this memory.", + "title":"Run id", + "type":"string", + "nullable":true + }, + "metadata":{ + "description":"Additional metadata associated with the memory, which can be used to store any additional information or context about the memory.", + "title":"Metadata", + "type":"object", + "properties":{ + + }, + "nullable":true + }, + "includes":{ + "title":"Includes", + "minLength":1, + "type":"string", + "nullable":true + }, + "excludes":{ + "title":"Excludes", + "minLength":1, + "type":"string", + "nullable":true + }, + "infer":{ + "description":"Wether to infer the memories or directly store the messages.", + "title":"Infer", + "type":"boolean", + "default":true + }, + "custom_categories":{ + "description":"A comma-separated list of categories to include in the memory.", + "title":"Custom categories", + "type":"object", + "properties":{ + + }, + "nullable":true + } + } + }, + "MemorySearchInput":{ + "required":[ + "query" + ], + "type":"object", + "properties":{ + "query":{ + "title":"Query", + "minLength":1, + "type":"string", + "description":"The query to search for in the memory." + }, + "agent_id":{ + "title":"Agent id", + "type":"string", + "nullable":true, + "description":"The agent ID associated with the memory." + }, + "user_id":{ + "title":"User id", + "type":"string", + "nullable":true, + "description":"The user ID associated with the memory." + }, + "app_id":{ + "title":"App id", + "type":"string", + "nullable":true, + "description":"The app ID associated with the memory." + }, + "run_id":{ + "title":"Run id", + "type":"string", + "nullable":true, + "description":"The run ID associated with the memory." + }, + "metadata":{ + "title":"Metadata", + "type":"object", + "properties":{ + + }, + "nullable":true, + "description":"Additional metadata associated with the memory." + }, + "rerank":{ + "title":"Rerank", + "type":"boolean", + "default":false, + "description":"Whether to rerank the memories." + } + } + }, + "CreateRun":{ + "required":[ + "run_id" + ], + "type":"object", + "properties":{ + "run_id":{ + "title":"Run id", + "minLength":1, + "type":"string" + }, + "name":{ + "title":"Name", + "minLength":1, + "type":"string" + }, + "metadata":{ + "title":"Metadata", + "type":"object", + "properties":{ + + } + } + } + }, + "CreateUser":{ + "required":[ + "user_id" + ], + "type":"object", + "properties":{ + "user_id":{ + "title":"User id", + "minLength":1, + "type":"string" + }, + "metadata":{ + "title":"Metadata", + "type":"object", + "properties":{ + + } + } + } + }, + "DeleteMemoriesInput":{ + "type":"object", + "description":"Input for deleting memories associated with a specific user, agent, app, or run.", + "properties":{ + "user_id":{ + "type":"string", + "description":"The unique identifier of the user whose memories should be deleted.", + "nullable":true + }, + "agent_id":{ + "type":"string", + "description":"The unique identifier of the agent whose memories should be deleted.", + "nullable":true + }, + "app_id":{ + "type":"string", + "description":"The unique identifier of the application whose memories should be deleted.", + "nullable":true + }, + "run_id":{ + "type":"string", + "description":"The unique identifier of the run whose memories should be deleted.", + "nullable":true + } + }, + "anyOf":[ + { + "required":[ + "user_id" + ] + }, + { + "required":[ + "agent_id" + ] + }, + { + "required":[ + "app_id" + ] + }, + { + "required":[ + "run_id" + ] + } + ], + "minProperties":1, + "maxProperties":4 + }, + "GetMemoryInput":{ + "type":"object", + "required":[ + "memory_id" + ], + "properties":{ + "memory_id":{ + "type":"string", + "format":"uuid", + "description":"The unique identifier of the memory" + } + } + }, + "UpdateMemoryInput":{ + "type":"object", + "description":"Input for updating an existing memory.", + "required":[ + "memory_id", + "text" + ], + "properties":{ + "memory_id":{ + "type":"string", + "format":"uuid", + "description":"The unique identifier of the memory to update" + }, + "text":{ + "type":"string", + "description":"The new text content to update the memory with" + } + } + }, + "EntityInput":{ + "type":"object", + "description":"Input for specifying an entity.", + "required":[ + "entity_type", + "entity_id" + ], + "properties":{ + "entity_type":{ + "type":"string", + "enum":[ + "user", + "agent", + "run", + "app" + ], + "description":"The type of the entity" + }, + "entity_id":{ + "type":"string", + "format":"uuid", + "description":"The unique identifier of the entity (memory_id)" + } + } + } + }, + "securitySchemes":{ + "Basic":{ + "type":"http", + "scheme":"basic" + } + } + }, + "x-original-swagger-version":"2.0" +} \ No newline at end of file