Add Memory V1
Add a new memory item to the system with size validation and background processing.
**Authentication Required**:
One of the following authentication methods must be used:
- Bearer token in `Authorization` header
- API Key in `X-API-Key` header
- Session token in `X-Session-Token` header
**Required Headers**:
- Content-Type: application/json
- X-Client-Type: (e.g., 'papr_plugin', 'browser_extension')
**Role-Based Memory Categories**:
- **User memories**: preference, task, goal, facts, context
- **Assistant memories**: skills, learning
**New Metadata Fields**:
- `metadata.role`: Optional field to specify who generated the memory (user or assistant)
- `metadata.category`: Optional field for memory categorization based on role
- Both fields are stored within metadata at the same level as topics, location, etc.
The API validates content size against MAX_CONTENT_LENGTH environment variable (defaults to 15000 bytes).
Query parameters
If True, skips adding background tasks for processing
If True, skips adding background tasks for processing
Response format. Use 'omo' for Open Memory Object standard format (portable across platforms).
Response format. Use 'omo' for Open Memory Object standard format (portable across platforms).
Webhook URL to notify when background processing completes. Receives POST with {event, memory_id, status, completed_at}.
Webhook URL to notify when background processing completes. Receives POST with {event, memory_id, status, completed_at}.
Secret for webhook HMAC authentication. Sent as X-Webhook-Secret header and used to generate X-Webhook-Signature.
Secret for webhook HMAC authentication. Sent as X-Webhook-Secret header and used to generate X-Webhook-Signature.
Request body
Example request
{
"content": "Meeting with John Smith from Acme Corp about the Q4 project timeline",
"context": [
{
"content": "Let's discuss the Q4 project timeline with John",
"role": "user"
},
{
"content": "I'll help you prepare for the timeline discussion. What are your key milestones?",
"role": "assistant"
}
],
"external_user_id": "user_alice_123",
"metadata": {
"conversationId": "conv-123",
"customMetadata": {
"meeting_type": "planning",
"project_id": "q4-roadmap"
},
"emoji_tags": [
"📅",
"👥",
"📋"
],
"emotion_tags": [
"focused",
"productive"
],
"hierarchical_structures": "Business/Meetings/Project Planning",
"location": "Conference Room A",
"sourceUrl": "https://calendar.example.com/meeting/123",
"topics": [
"product",
"planning",
"meetings"
]
},
"policy": {
"acl": {
"read": [
"external_user:user_alice_123"
],
"write": [
"external_user:user_alice_123"
]
},
"consent": "implicit",
"graph": {
"link_to": [
"Person:name~John Smith",
"Company:name~Acme Corp",
"Meeting:title~Q4 project timeline"
],
"mode": "auto"
},
"risk": "none",
"transform_embedding": {
"domain_id": "general",
"mode": "auto"
}
},
"type": "text"
}Response
Memory successfully added