Memory API

CRUD operations for memories

Add Memories

Extract and store memories from conversations.

POST /v1/memories

Request Body

FieldTypeRequiredDescription
messagesarrayYesConversation messages
user_idstringNoUser identifier
agent_idstringNoAgent identifier
inferbooleanNoExtract facts (default: true)
extract_graphbooleanNoExtract entities (default: false)
metadataobjectNoCustom key-value pairs

Example

curl -X POST https://api.memoid.dev/v1/memories 
  -H "Authorization: Bearer YOUR_API_KEY" 
  -H "Content-Type: application/json" 
  -d '{
    "messages": [
      {"role": "user", "content": "I love hiking"},
      {"role": "assistant", "content": "Great hobby!"}
    ],
    "user_id": "user_123"
  }'

Response

{
  "results": [
    {
      "id": "mem_abc123",
      "memory": "User loves hiking",
      "event": "ADD"
    }
  ]
}

List Memories

Retrieve memories with optional filters.

GET /v1/memories

Query Parameters

ParameterTypeDefaultDescription
user_idstring-Filter by user
agent_idstring-Filter by agent
limitint100Maximum results
offsetint0Pagination offset

Example

curl "https://api.memoid.dev/v1/memories?user_id=user_123&limit=10" 
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "results": [
    {
      "id": "mem_abc123",
      "memory": "User loves hiking",
      "user_id": "user_123",
      "created_at": "2024-01-15T10:30:00Z"
    }
  ],
  "total": 1
}

Get Memory

Retrieve a specific memory by ID.

GET /v1/memories/:id

Example

curl "https://api.memoid.dev/v1/memories/mem_abc123" 
  -H "Authorization: Bearer YOUR_API_KEY"

Update Memory

Update a memory’s content or metadata.

PUT /v1/memories/:id

Request Body

FieldTypeDescription
memorystringNew memory text
metadataobjectUpdated metadata

Delete Memory

Delete a specific memory.

DELETE /v1/memories/:id

Example

curl -X DELETE "https://api.memoid.dev/v1/memories/mem_abc123" 
  -H "Authorization: Bearer YOUR_API_KEY"

Delete All Memories

Delete memories matching filters.

DELETE /v1/memories

Query Parameters

ParameterTypeDescription
user_idstringDelete all for user
agent_idstringDelete all for agent

Example

curl -X DELETE "https://api.memoid.dev/v1/memories?user_id=user_123" 
  -H "Authorization: Bearer YOUR_API_KEY"

Memory History

Get change history for a memory.

GET /v1/memories/:id/history

Response

{
  "history": [
    {
      "memory": "User works at Google",
      "changed_at": "2024-01-15T10:30:00Z",
      "event": "UPDATE"
    },
    {
      "memory": "User works at startup",
      "changed_at": "2024-01-10T09:00:00Z",
      "event": "ADD"
    }
  ]
}