Papr Memory API (1.0.0)

API for managing personal memory items with authentication and user-specific data.

Authentication

This API supports three authentication methods:

  • API Key: Include your API key in the X-API-Key header
    X-API-Key: <your-api-key>
  • Session Token: Include your session token in the X-Session-Token header
    X-Session-Token: <your-session-token>
  • Bearer Token: Include your bearer token in the Authorization header
    Authorization: Bearer <token>

All endpoints require one of these authentication methods.

Download OpenAPI description
Languages
Servers
Papr Memory API
https://platform.papr.ai/_mock/apis/
Production server
https://memory.papr.ai/

v1

Operations

Update Memory V1

Request

Update an existing memory item by ID.

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')

The API validates content size against MAX_CONTENT_LENGTH environment variable (defaults to 15000 bytes).

Path
memory_idstring(Memory Id)required
Bodyapplication/jsonrequired
contentContent (string) or Content (null)(Content)

The new content of the memory item

Example: "Updated meeting notes from the product planning session"
Any of:

The new content of the memory item

string(Content)

The new content of the memory item

typeMemoryType (string) or null

Content type of the memory item

Example: "text"
Any of:

Content type of the memory item

string(MemoryType)

Content type of the memory item

Enum"text""code_snippet""document"
metadataMemoryMetadata (object) or null

Updated metadata for Neo4J and Pinecone

Example: {"emoji tags":"📊,💡,📝,✨","emotion tags":"focused, productive, satisfied","hierarchical structures":"Business/Planning/Product/Updates","topics":"product, planning, updates"}
Any of:

Updated metadata for Neo4J and Pinecone

contextArray of Context (objects) or Context (null)(Context)

Updated context for the memory item

Example: [{"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"}]
Any of:

Updated context for the memory item

relationships_jsonArray of Relationships Json (objects) or Relationships Json (null)(Relationships Json)

Updated relationships for Graph DB (neo4J)

Example: [{"metadata":{"relevance":"high"},"related_item_id":"previous_memory_item_id","related_item_type":"TextMemoryItem","relation_type":"updates"}]
Any of:

Updated relationships for Graph DB (neo4J)

curl -i -X PUT \
  'https://platform.papr.ai/_mock/apis/v1/memory/{memory_id}' \
  -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"
  }'

Responses

Memory successfully updated

Bodyapplication/json
codeinteger(Code)

HTTP status code

Default 200
statusstring(Status)

'success' or 'error'

Default "success"
memory_itemsArray of Memory Items (objects) or Memory Items (null)(Memory Items)

List of updated memory items if successful

Any of:

List of updated memory items if successful

errorError (string) or Error (null)(Error)

Error message if failed

Any of:

Error message if failed

string(Error)

Error message if failed

detailsDetails (any) or Details (null)(Details)

Additional error details or context

Any of:

Additional error details or context

any(Details)

Additional error details or context

messageMessage (string) or Message (null)(Message)

Status message

Any of:

Status message

string(Message)

Status message

status_objSystemUpdateStatus (object) or null

System update status (pinecone, neo4j, parse)

Any of:

System update status (pinecone, neo4j, parse)

Response
application/json
{ "code": 200, "status": "success", "memory_items": [ {} ], "error": "string", "details": {}, "message": "string", "status_obj": { "pinecone": false, "neo4j": false, "parse": false } }

Delete Memory V1

Request

Delete a memory item by ID.

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:

  • X-Client-Type: (e.g., 'papr_plugin', 'browser_extension')
Path
memory_idstring(Memory Id)required
Query
skip_parseboolean(Skip Parse)

Skip Parse Server deletion

Default false
curl -i -X DELETE \
  'https://platform.papr.ai/_mock/apis/v1/memory/{memory_id}?skip_parse=false' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Memory successfully deleted

Bodyapplication/json
codeinteger(Code)

HTTP status code

Default 200
statusstring(Status)

'success' or 'error'

Default "success"
messageMessage (string) or Message (null)(Message)
Any of:
string(Message)
errorError (string) or Error (null)(Error)
Any of:
string(Error)
memoryIdstring(Memoryid)
Default ""
objectIdstring(Objectid)
Default ""
deletion_statusDeletionStatus (object) or null
Any of:
detailsDetails (any) or Details (null)(Details)
Any of:
any(Details)
Response
application/json
{ "code": 200, "status": "success", "message": "string", "error": "string", "memoryId": "", "objectId": "", "deletion_status": { "pinecone": false, "neo4j": false, "parse": false, "qdrant": false }, "details": {} }

Get Memory V1

Request

Retrieve a memory item by ID.

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:

  • X-Client-Type: (e.g., 'papr_plugin', 'browser_extension')
Path
memory_idstring(Memory Id)required
curl -i -X GET \
  'https://platform.papr.ai/_mock/apis/v1/memory/{memory_id}' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Memory successfully retrieved

Bodyapplication/json
codeinteger(Code)

HTTP status code

Default 200
Example: 200
statusstring(Status)

'success' or 'error'

Default "success"
Example: "success"
dataSearchResult (object) or null

Search results if successful

Example: {"memories":[],"nodes":[]}
Any of:

Search results if successful

errorError (string) or Error (null)(Error)

Error message if failed

Any of:

Error message if failed

string(Error)

Error message if failed

detailsDetails (any) or Details (null)(Details)

Additional error details or context

Any of:

Additional error details or context

any(Details)

Additional error details or context

search_idSearch Id (string) or Search Id (null)(Search Id)

Unique identifier for this search query, maps to QueryLog objectId in Parse Server

Example: "abc123def456"
Any of:

Unique identifier for this search query, maps to QueryLog objectId in Parse Server

string(Search Id)

Unique identifier for this search query, maps to QueryLog objectId in Parse Server

Response
application/json
{ "code": 200, "data": { "memories": [], "nodes": [] }, "search_id": "abc123def456", "status": "success" }

Memory

Operations

User

Operations

Feedback

Operations