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.
Submit multiple feedback items in a single request.
Useful for submitting session-end feedback or bulk feedback collection. Each feedback item is processed independently, so partial success is possible.
Authentication Required: One of the following authentication methods must be used:
Authorization headerX-API-Key headerX-Session-Token headerRequired Headers:
List of feedback items to submit
The search_id from SearchResponse that this feedback relates to
The feedback data containing all feedback information
A pointer to a Parse object
A pointer to a Parse object
Types of feedback that can be provided
Where the feedback was provided from
Internal user ID (if not provided, will be resolved from authentication)
Internal user ID (if not provided, will be resolved from authentication)
Internal user ID (if not provided, will be resolved from authentication)
External user ID for developer API keys acting on behalf of end users
External user ID for developer API keys acting on behalf of end users
External user ID for developer API keys acting on behalf of end users
Optional organization ID for multi-tenant feedback scoping. When provided, feedback is scoped to this organization.
Optional organization ID for multi-tenant feedback scoping. When provided, feedback is scoped to this organization.
Optional organization ID for multi-tenant feedback scoping. When provided, feedback is scoped to this organization.
Optional namespace ID for multi-tenant feedback scoping. When provided, feedback is scoped to this namespace.
Optional namespace ID for multi-tenant feedback scoping. When provided, feedback is scoped to this namespace.
Optional namespace ID for multi-tenant feedback scoping. When provided, feedback is scoped to this namespace.
curl -i -X POST \
http://memory.papr.ai/v1/feedback/batch \
-H 'Content-Type: application/json' \
-H 'X-API-Key: YOUR_API_KEY_HERE' \
-d '{
"feedback_items": [
{
"external_user_id": "dev_api_key_123",
"feedbackData": {
"assistantMessage": {
"__type": "Pointer",
"className": "PostMessage",
"objectId": "abc123def456"
},
"citedMemoryIds": [
"mem_123",
"mem_456"
],
"citedNodeIds": [
"node_123",
"node_456"
],
"feedbackImpact": "positive",
"feedbackProcessed": true,
"feedbackScore": 1,
"feedbackSource": "inline",
"feedbackText": "This answer was very helpful and accurate",
"feedbackType": "thumbs_up",
"feedbackValue": "helpful",
"userMessage": {
"__type": "Pointer",
"className": "PostMessage",
"objectId": "abc123def456"
}
},
"search_id": "abc123def456",
"user_id": "abc123def456"
}
],
"session_context": {}
}'{ "code": 200, "status": "success", "feedback_ids": [ "fb_123", "fb_456" ], "successful_count": 2, "failed_count": 0, "errors": [], "message": "Processed 2 feedback items successfully" }
Retrieve feedback by ID.
This endpoint allows developers to fetch feedback details by feedback ID. Only the user who created the feedback or users with appropriate permissions can access it.
Authentication Required: One of the following authentication methods must be used:
Authorization headerX-API-Key headerX-Session-Token headerRequired Headers:
curl -i -X GET \
'http://memory.papr.ai/v1/feedback/{feedback_id}' \
-H 'X-API-Key: YOUR_API_KEY_HERE'{ "code": 200, "status": "success", "feedback_id": "fb_123456789", "message": "Feedback retrieved successfully", "details": { "feedback_type": "thumbs_up", "feedback_score": 1, "feedback_text": "This was helpful!", "search_id": "search_123", "created_at": "2024-01-17T17:30:45.123456Z" } }
Max Tier 0 items (goals/OKRs/use-cases)
Optional workspace id to scope tiers
Optional workspace id to scope tiers
Optional workspace id to scope tiers
Optional internal user ID to filter tiers by a specific user. If not provided, results are not filtered by user. If both user_id and external_user_id are provided, user_id takes precedence.
Optional internal user ID to filter tiers by a specific user. If not provided, results are not filtered by user. If both user_id and external_user_id are provided, user_id takes precedence.
Optional internal user ID to filter tiers by a specific user. If not provided, results are not filtered by user. If both user_id and external_user_id are provided, user_id takes precedence.
Optional external user ID to filter tiers by a specific external user. If both user_id and external_user_id are provided, user_id takes precedence.
Optional external user ID to filter tiers by a specific external user. If both user_id and external_user_id are provided, user_id takes precedence.
Optional external user ID to filter tiers by a specific external user. If both user_id and external_user_id are provided, user_id takes precedence.
Optional organization ID for multi-tenant scoping. When provided, tiers are scoped to memories within this organization.
Optional organization ID for multi-tenant scoping. When provided, tiers are scoped to memories within this organization.
Optional organization ID for multi-tenant scoping. When provided, tiers are scoped to memories within this organization.
Optional namespace ID for multi-tenant scoping. When provided, tiers are scoped to memories within this namespace.
Optional namespace ID for multi-tenant scoping. When provided, tiers are scoped to memories within this namespace.
Optional namespace ID for multi-tenant scoping. When provided, tiers are scoped to memories within this namespace.
Include embeddings in the response. Format controlled by embedding_format parameter.
Embedding format: 'int8' (quantized, 4x smaller, default for efficiency), 'float32' (full precision, recommended for CoreML/ANE fp16 models). Only applies to Tier1; Tier0 always uses float32 when embeddings are included.
Embedding model hint: 'sbert' or 'bigbird' or 'Qwen4B'
curl -i -X POST \
http://memory.papr.ai/v1/sync/tiers \
-H 'Content-Type: application/json' \
-H 'X-API-Key: YOUR_API_KEY_HERE' \
-d '{
"embed_limit": 200,
"embed_model": "sbert",
"external_user_id": "external_user_abc",
"include_embeddings": false,
"max_tier0": 300,
"max_tier1": 1000,
"user_id": "internal_user_123",
"workspace_id": "workspace_123"
}'Tier assignments returned
Tier 0 items (goals/OKRs/use-cases)
Tier 1 items (hot memories)
Cursor for pagination
Cursor for pagination
Cursor for pagination
Error message if failed
Error message if failed
Error message if failed
{ "code": 200, "has_more": false, "status": "success", "tier0": [ { … } ], "tier1": [ { … } ], "transitions": [] }