API for managing personal memory items with authentication and user-specific data.
API for managing personal 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.
curl -i -X GET \
'https://memory.papr.ai/v1/memory/{memory_id}' \
-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" }
Add multiple memory items in a batch with size validation and background processing.
Authentication Required: One of the following authentication methods must be used:
Authorization
headerX-API-Key
headerX-Session-Token
headerRequired Headers:
The API validates individual memory content size against MAX_CONTENT_LENGTH environment variable (defaults to 15000 bytes).
Internal user ID for all memories in the batch. If not provided, developer's user ID will be used.
Internal user ID for all memories in the batch. If not provided, developer's user ID will be used.
Internal user ID for all memories in the batch. If not provided, developer's user ID will be used.
External user ID for all memories in the batch. If provided and user_id is not, will be resolved to internal user ID.
External user ID for all memories in the batch. If provided and user_id is not, will be resolved to internal user ID.
External user ID for all memories in the batch. If provided and user_id is not, will be resolved to internal user ID.
List of memory items to add in batch
The content of the memory item you want to add to memory
Valid memory types
Metadata used in Neo4J and Pinecone for a memory item
Metadata used in Neo4J and Pinecone for a memory item
Context can be conversation history or any relevant context for a memory item
Context can be conversation history or any relevant context for a memory item
Array of relationships that we can use in Graph DB (neo4J)
Array of relationships that we can use in Graph DB (neo4J)
Number of items to process in parallel
Number of items to process in parallel
Number of items to process in parallel
Optional webhook URL to notify when batch processing is complete. The webhook will receive a POST request with batch completion details.
Optional webhook URL to notify when batch processing is complete. The webhook will receive a POST request with batch completion details.
Optional webhook URL to notify when batch processing is complete. The webhook will receive a POST request with batch completion details.
Optional secret key for webhook authentication. If provided, will be included in the webhook request headers as 'X-Webhook-Secret'.
Optional secret key for webhook authentication. If provided, will be included in the webhook request headers as 'X-Webhook-Secret'.
Optional secret key for webhook authentication. If provided, will be included in the webhook request headers as 'X-Webhook-Secret'.
curl -i -X POST \
'https://memory.papr.ai/v1/memory/batch?skip_background_processing=false' \
-H 'Content-Type: application/json' \
-H 'X-API-Key: YOUR_API_KEY_HERE' \
-d '{
"batch_size": 10,
"external_user_id": "external_user_abcde",
"memories": [
{
"content": "Meeting notes from the product planning session",
"metadata": {
"createdAt": "2024-03-21T10:00:00Z",
"emoji tags": "📊,💡,📝",
"emotion tags": "focused, productive",
"hierarchical structures": "Business/Planning/Product",
"topics": "product, planning"
},
"type": "text"
},
{
"content": "Follow-up tasks from the planning meeting",
"metadata": {
"createdAt": "2024-03-21T11:00:00Z",
"emoji tags": "✅,📋",
"emotion tags": "organized",
"hierarchical structures": "Business/Tasks/Planning",
"topics": "tasks, planning"
},
"type": "text"
}
],
"user_id": "internal_user_id_12345"
}'
Memories successfully added
Human-readable status message
Human-readable status message
Human-readable status message
Batch-level error message, if any
Batch-level error message, if any
Batch-level error message, if any
Additional error details or context
Additional error details or context
Additional error details or context
{ "code": 200, "status": "success", "message": "string", "error": "string", "details": {}, "successful": [ { … } ], "errors": [ { … } ], "total_processed": 0, "total_successful": 0, "total_failed": 0, "total_content_size": 0, "total_storage_size": 0 }
Delete all memory items for a user.
Authentication Required: One of the following authentication methods must be used:
Authorization
headerX-API-Key
headerX-Session-Token
headerUser Resolution:
Required Headers:
WARNING: This operation cannot be undone. All memories for the resolved user will be permanently deleted.
Optional user ID to delete memories for (if not provided, uses authenticated user)
Optional user ID to delete memories for (if not provided, uses authenticated user)
Optional user ID to delete memories for (if not provided, uses authenticated user)
Optional external user ID to resolve and delete memories for
Optional external user ID to resolve and delete memories for
Optional external user ID to resolve and delete memories for
curl -i -X DELETE \
'https://memory.papr.ai/v1/memory/all?external_user_id=string&skip_parse=false&user_id=string' \
-H 'X-API-Key: YOUR_API_KEY_HERE'
All memories successfully deleted
Human-readable status message
Human-readable status message
Human-readable status message
Batch-level error message, if any
Batch-level error message, if any
Batch-level error message, if any
Additional error details or context
Additional error details or context
Additional error details or context
{ "code": 200, "status": "success", "message": "string", "error": "string", "details": {}, "successful": [ { … } ], "errors": [ { … } ], "total_processed": 0, "total_successful": 0, "total_failed": 0, "total_content_size": 0, "total_storage_size": 0 }