v1
Memory
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).
post/v1/memory
Query parameters
skip_background_processingboolean
If True, skips adding background tasks for processing
If True, skips adding background tasks for processing
enable_holographicboolean
If True, applies holographic neural transforms and stores in holographic collection
If True, applies holographic neural transforms and stores in holographic collection
formatstring nullable
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).
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"
}
],
"graph_override": {
"nodes": [
{
"id": "person_john_smith",
"label": "Person",
"properties": {
"name": "John Smith",
"role": "Project Manager",
"description": "Senior PM at Acme Corp"
}
},
{
"id": "company_acme_corp",
"label": "Company",
"properties": {
"name": "Acme Corp",
"description": "Client company for Q4 project"
}
}
],
"relationships": [
{
"properties": {
"role": "Project Manager"
},
"relationship_type": "WORKS_FOR",
"source_node_id": "person_john_smith",
"target_node_id": "company_acme_corp"
}
]
},
"metadata": {
"conversationId": "conv-123",
"createdAt": "2024-10-04T10:00:00Z",
"emoji_tags": "📅,👥,📋",
"emotion_tags": "focused, productive",
"external_user_id": "external_user_123",
"external_user_read_access": [
"external_user_123",
"external_user_789"
],
"external_user_write_access": [
"external_user_123"
],
"hierarchical_structures": "Business/Meetings/Project Planning",
"location": "Conference Room A",
"sourceUrl": "https://calendar.example.com/meeting/123",
"topics": [
"product",
"planning"
]
},
"type": "text"
}Response
Memory successfully added