API for managing enterprise context and memory items with authentication and user-specific data.
API for managing enterprise context and memory items with authentication and user-specific data.
This API supports three authentication methods:
X-API-Key headerX-API-Key: <your-api-key>X-Session-Token headerX-Session-Token: <your-session-token>Authorization headerAuthorization: Bearer <token>All endpoints require one of these authentication methods.
Update an existing memory item by ID.
Authentication Required: One of the following authentication methods must be used:
Authorization headerX-API-Key headerX-Session-Token headerRequired Headers:
The API validates content size against MAX_CONTENT_LENGTH environment variable (defaults to 15000 bytes).
If True, re-processes holographic neural transforms after content update
Frequency schema for holographic embedding (e.g. 'cosqa', 'scifact').
Frequency schema for holographic embedding (e.g. 'cosqa', 'scifact').
Frequency schema for holographic embedding (e.g. 'cosqa', 'scifact').
Unified processing policy: transform_embedding, graph, consent, risk, acl.
Unified processing policy: transform_embedding, graph, consent, risk, acl.
The new content of the memory item
The new content of the memory item
The new content of the memory item
Content type of the memory item
Content type of the memory item
Content type of the memory item
Updated metadata for Neo4J and Pinecone
Updated metadata for Neo4J and Pinecone
Updated context for the memory item
Updated context for the memory item
Updated relationships for Graph DB (neo4J)
Updated relationships for Graph DB (neo4J)
Optional organization ID for multi-tenant memory scoping. When provided, update is scoped to memories within this organization.
Optional organization ID for multi-tenant memory scoping. When provided, update is scoped to memories within this organization.
Optional organization ID for multi-tenant memory scoping. When provided, update is scoped to memories within this organization.
Optional namespace ID for multi-tenant memory scoping. When provided, update is scoped to memories within this namespace.
Optional namespace ID for multi-tenant memory scoping. When provided, update is scoped to memories within this namespace.
Optional namespace ID for multi-tenant memory scoping. When provided, update is scoped to memories within this namespace.
DEPRECATED: Use 'policy' instead. Legacy graph + OMO policy. Use mode='auto' (LLM extraction, constraints applied if provided) or 'manual' (exact nodes). Includes consent, risk, and ACL settings. If schema_id is set, schema's memory_policy is used as defaults.
DEPRECATED: Use 'policy' instead. Legacy graph + OMO policy. Use mode='auto' (LLM extraction, constraints applied if provided) or 'manual' (exact nodes). Includes consent, risk, and ACL settings. If schema_id is set, schema's memory_policy is used as defaults.
DEPRECATED: Use policy.graph.link_to instead. Shorthand DSL for node/edge constraints (same as node_constraints, compact syntax). Expands and merges into memory_policy.node_constraints and edge_constraints at resolve time. Default create is upsert; use dict form with create='lookup' (or legacy 'never') for link-only. Formats: - String: 'Task:title' (semantic match on Task.title, upsert by default) - List: ['Task:title', 'Person:email'] (multiple constraints) - Dict: {'Task:title': {'set': {...}, 'create': 'lookup'}} (full options) Syntax: - Node: 'Type:property', 'Type:prop=value' (exact), 'Type:prop~value' (semantic) - Edge: 'Source->EDGE->Target:property' (arrow syntax) - Via: 'Type.via(EDGE->Target:prop)' (relationship traversal) - Special: '$this', '$previous', '$context:N' Example lookup-only: {'SecurityPolicy:name': {'create': 'lookup'}}
DEPRECATED: Use policy.graph.link_to instead. Shorthand DSL for node/edge constraints (same as node_constraints, compact syntax). Expands and merges into memory_policy.node_constraints and edge_constraints at resolve time. Default create is upsert; use dict form with create='lookup' (or legacy 'never') for link-only. Formats: - String: 'Task:title' (semantic match on Task.title, upsert by default) - List: ['Task:title', 'Person:email'] (multiple constraints) - Dict: {'Task:title': {'set': {...}, 'create': 'lookup'}} (full options) Syntax: - Node: 'Type:property', 'Type:prop=value' (exact), 'Type:prop~value' (semantic) - Edge: 'Source->EDGE->Target:property' (arrow syntax) - Via: 'Type.via(EDGE->Target:prop)' (relationship traversal) - Special: '$this', '$previous', '$context:N' Example lookup-only: {'SecurityPolicy:name': {'create': 'lookup'}}
DEPRECATED: Use policy.graph.link_to instead. Shorthand DSL for node/edge constraints (same as node_constraints, compact syntax). Expands and merges into memory_policy.node_constraints and edge_constraints at resolve time. Default create is upsert; use dict form with create='lookup' (or legacy 'never') for link-only. Formats: - String: 'Task:title' (semantic match on Task.title, upsert by default) - List: ['Task:title', 'Person:email'] (multiple constraints) - Dict: {'Task:title': {'set': {...}, 'create': 'lookup'}} (full options) Syntax: - Node: 'Type:property', 'Type:prop=value' (exact), 'Type:prop~value' (semantic) - Edge: 'Source->EDGE->Target:property' (arrow syntax) - Via: 'Type.via(EDGE->Target:prop)' (relationship traversal) - Special: '$this', '$previous', '$context:N' Example lookup-only: {'SecurityPolicy:name': {'create': 'lookup'}}
DEPRECATED: Use 'memory_policy' instead. Legacy graph generation configuration. If both memory_policy and graph_generation are provided, memory_policy takes precedence.
DEPRECATED: Use 'memory_policy' instead. Legacy graph generation configuration. If both memory_policy and graph_generation are provided, memory_policy takes precedence.
curl -i -X PUT \
'https://memory.papr.ai/v1/memory/{memory_id}?enable_holographic=false&frequency_schema_id=string' \
-H 'Content-Type: application/json' \
-H 'X-API-Key: YOUR_API_KEY_HERE' \
-d '{
"content": "Updated meeting notes from the product planning session",
"context": [
{
"content": "Let'\''s update the Q2 product roadmap",
"role": "user"
},
{
"content": "I'\''ll help you update the roadmap. What changes would you like to make?",
"role": "assistant"
}
],
"metadata": {
"emoji tags": "📊,💡,📝,✨",
"emotion tags": "focused, productive, satisfied",
"hierarchical structures": "Business/Planning/Product/Updates",
"topics": "product, planning, updates"
},
"relationships_json": [
{
"metadata": {
"relevance": "high"
},
"related_item_id": "previous_memory_item_id",
"related_item_type": "TextMemoryItem",
"relation_type": "updates"
}
],
"type": "text"
}'Memory successfully updated
List of updated memory items if successful
List of updated memory items if successful
Error message if failed
Error message if failed
Error message if failed
Additional error details or context
Additional error details or context
Additional error details or context
Status message
Status message
Status message
{ "code": 200, "status": "success", "memory_items": [ { … } ], "error": "string", "details": {}, "message": "string", "status_obj": { "pinecone": false, "neo4j": false, "parse": false } }
curl -i -X DELETE \
'https://memory.papr.ai/v1/memory/{memory_id}?skip_parse=false' \
-H 'X-API-Key: YOUR_API_KEY_HERE'{ "code": 200, "status": "success", "message": "string", "error": "string", "memoryId": "", "objectId": "", "deletion_status": { "pinecone": false, "neo4j": false, "parse": false, "qdrant": false, "holographic": false }, "details": {} }
If true, return 404 if the memory has consent='none'. Ensures only consented memories are returned.
If true, return 404 if the memory has risk='flagged'. Filters out flagged content.
Maximum risk level allowed. Values: 'none', 'sensitive', 'flagged'. If memory exceeds this, return 404.
Maximum risk level allowed. Values: 'none', 'sensitive', 'flagged'. If memory exceeds this, return 404.
Maximum risk level allowed. Values: 'none', 'sensitive', 'flagged'. If memory exceeds this, return 404.
curl -i -X GET \
'https://memory.papr.ai/v1/memory/{memory_id}?exclude_flagged=false&max_risk=string&require_consent=false' \
-H 'X-API-Key: YOUR_API_KEY_HERE'Memory successfully retrieved
Search results if successful
Search results if successful
Error message if failed
Error message if failed
Error message if failed
Additional error details or context
Additional error details or context
Additional error details or context
Unique identifier for this search query, maps to QueryLog objectId in Parse Server
Unique identifier for this search query, maps to QueryLog objectId in Parse Server
Unique identifier for this search query, maps to QueryLog objectId in Parse Server
{ "code": 200, "data": { "memories": [], "nodes": [] }, "search_id": "abc123def456", "status": "success" }