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.
Namespace name (e.g., 'acme-production')
Environment type: development, staging, production
Rate limits for this namespace (None values inherit from organization)
Rate limits for this namespace (None values inherit from organization)
curl -i -X POST \
https://memory.papr.ai/v1/namespace \
-H 'Content-Type: application/json' \
-H 'X-API-Key: string' \
-d '{
"environment_type": "production",
"is_active": true,
"name": "acme-production"
}'{ "code": 200, "status": "success", "data": { "objectId": "string", "name": "string", "environment_type": "string", "is_active": true, "rate_limits": { … }, "organization_id": "string", "instance_config": { … }, "default_policy": {}, "storageCount": 0, "memoriesCount": 0, "createdAt": "string", "updatedAt": "string" }, "error": "string", "details": {} }
curl -i -X GET \
'https://memory.papr.ai/v1/namespace?limit=20&skip=0' \
-H 'X-API-Key: string'Namespaces listed
Total matching namespaces
Total matching namespaces
Total matching namespaces
Current page (0-indexed skip)
Current page (0-indexed skip)
Current page (0-indexed skip)
Items per page
Items per page
Items per page
Error message if failed
Error message if failed
Error message if failed
{ "code": 200, "status": "success", "data": [ { … } ], "total": 0, "page": 0, "page_size": 0, "error": "string", "details": {} }
curl -i -X GET \
'https://memory.papr.ai/v1/namespace/{namespace_id}' \
-H 'X-API-Key: string'{ "code": 200, "status": "success", "data": { "objectId": "string", "name": "string", "environment_type": "string", "is_active": true, "rate_limits": { … }, "organization_id": "string", "instance_config": { … }, "default_policy": {}, "storageCount": 0, "memoriesCount": 0, "createdAt": "string", "updatedAt": "string" }, "error": "string", "details": {} }
Updated namespace name
Updated namespace name
Updated namespace name
Updated environment type
Updated environment type
Updated environment type
Whether this namespace is active
Whether this namespace is active
Whether this namespace is active
Updated rate limits (None values inherit from organization)
Updated rate limits (None values inherit from organization)
curl -i -X PUT \
'https://memory.papr.ai/v1/namespace/{namespace_id}' \
-H 'Content-Type: application/json' \
-H 'X-API-Key: string' \
-d '{
"environment_type": "staging",
"is_active": true,
"name": "acme-staging"
}'{ "code": 200, "status": "success", "data": { "objectId": "string", "name": "string", "environment_type": "string", "is_active": true, "rate_limits": { … }, "organization_id": "string", "instance_config": { … }, "default_policy": {}, "storageCount": 0, "memoriesCount": 0, "createdAt": "string", "updatedAt": "string" }, "error": "string", "details": {} }
curl -i -X DELETE \
'https://memory.papr.ai/v1/namespace/{namespace_id}?delete_memories=true&delete_neo4j_nodes=true&remove_acl_references=true' \
-H 'X-API-Key: string'Namespace deleted
ID of deleted namespace
ID of deleted namespace
ID of deleted namespace
Human-readable message
Human-readable message
Human-readable message
Cascade deletion details
Cascade deletion details
Error message if failed
Error message if failed
Error message if failed
{ "code": 200, "status": "success", "namespace_id": "string", "message": "string", "cascade": { "memories_deleted": 0, "memories_failed": 0, "neo4j_nodes_deleted": 0, "acl_read_cleaned": 0, "acl_write_cleaned": 0 }, "error": "string", "details": {} }
Mint a new API key bound to the given namespace. Caller must authenticate with any API key belonging to the same organization (typically the org-wide / default-namespace key).
Security: The full key is returned exactly once in this response. Store it immediately — it cannot be retrieved later. Subsequent reads expose only the masked key_prefix.
Human-readable name for the API key (shown in admin UIs).
Environment label: development, staging, or production.
curl -i -X POST \
'https://memory.papr.ai/v1/namespace/{namespace_id}/api-keys' \
-H 'Content-Type: application/json' \
-H 'X-API-Key: string' \
-d '{
"environment": "production",
"name": "Acme Production API Key",
"permissions": [
"read",
"write",
"delete"
]
}'{ "code": 200, "status": "success", "data": { "objectId": "string", "key": "string", "key_prefix": "string", "name": "string", "namespace_id": "string", "organization_id": "string", "environment": "string", "permissions": [ … ], "is_active": true, "createdAt": "string" }, "error": "string", "details": {} }