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 OAuth2 token from Auth0 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

Create User

Request

Create a new user or link existing user to developer

Headers
X-API-Keystring(X-Api-Key)required
Bodyapplication/jsonrequired
emailEmail (string) or Email (null)(Email)
Example: "user@example.com"
Any of:
string(Email)
external_idstring(External Id)required
Example: "user123"
metadataMetadata (object) or Metadata (null)(Metadata)
Example: {"name":"John Doe","preferences":{"theme":"dark"}}
Any of:
typestring(UserType)
Default "developerUser"
Enum"developerUser""user""agent"
Example: "developerUser"
curl -i -X POST \
  https://platform.papr.ai/_mock/apis/v1/user \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: string' \
  -d '{
    "email": "user@example.com",
    "external_id": "user123",
    "metadata": {
      "name": "John Doe",
      "preferences": {
        "theme": "dark"
      }
    },
    "type": "developerUser"
  }'

Responses

Successful Response

Bodyapplication/json
codeinteger(Code)required

HTTP status code

Example: 200
statusstring(Status)required

'success' or 'error'

Example: "success"
user_idUser Id (string) or User Id (null)(User Id)
Example: "abc123"
Any of:
string(User Id)
emailEmail (string) or Email (null)(Email)
Example: "user@example.com"
Any of:
string(Email)
external_idExternal Id (string) or External Id (null)(External Id)
Example: "user123"
Any of:
string(External Id)
metadataMetadata (object) or Metadata (null)(Metadata)
Example: {"name":"John Doe","preferences":{"theme":"dark"}}
Any of:
created_atCreated At (string) or Created At (null)(Created At)
Example: "2024-03-20T10:00:00.000Z"
Any of:
string(Created At)
updated_atUpdated At (string) or Updated At (null)(Updated At)
Example: "2024-03-20T10:00:00.000Z"
Any of:
string(Updated At)
errorError (string) or Error (null)(Error)
Any of:
string(Error)
detailsDetails (any) or Details (null)(Details)
Any of:
any(Details)
Response
application/json
{ "code": 200, "created_at": "2024-03-20T10:00:00.000Z", "email": "user@example.com", "external_id": "user123", "metadata": { "name": "John Doe", "preferences": {} }, "status": "success", "updated_at": "2024-03-20T10:00:00.000Z", "user_id": "abc123" }

List Users

Request

List users for a developer

Query
pageinteger(Page)>= 1
Default 1
page_sizeinteger(Page Size)[ 1 .. 100 ]
Default 10
external_idExternal Id (string) or External Id (null)(External Id)
Any of:
string(External Id)
emailEmail (string) or Email (null)(Email)
Any of:
string(Email)
Headers
X-API-Keystring(X-Api-Key)required
curl -i -X GET \
  'https://platform.papr.ai/_mock/apis/v1/user?email=string&external_id=string&page=1&page_size=10' \
  -H 'X-API-Key: string'

Responses

Successful Response

Bodyapplication/json
codeinteger(Code)required

HTTP status code

Example: 200
statusstring(Status)required

'success' or 'error'

Example: "success"
dataArray of Data (objects) or Data (null)(Data)
Example: [{"created_at":"2024-03-20T10:00:00.000Z","email":"user1@example.com","external_id":"user123","metadata":{"name":"John Doe","preferences":{"theme":"dark"}},"updated_at":"2024-03-20T10:00:00.000Z","user_id":"abc123"}]
Any of:
totalTotal (integer) or Total (null)(Total)
Example: 1
Any of:
integer(Total)
pagePage (integer) or Page (null)(Page)
Example: 1
Any of:
integer(Page)
page_sizePage Size (integer) or Page Size (null)(Page Size)
Example: 10
Any of:
integer(Page Size)
errorError (string) or Error (null)(Error)
Any of:
string(Error)
detailsDetails (any) or Details (null)(Details)
Any of:
any(Details)
Response
application/json
{ "code": 200, "data": [ {} ], "page": 1, "page_size": 10, "status": "success", "total": 1 }

Get User

Request

Get user details by user_id (_User.objectId) and developer association

Path
user_idstring(User Id)required
Headers
X-API-Keystring(X-Api-Key)required
curl -i -X GET \
  'https://platform.papr.ai/_mock/apis/v1/user/{user_id}' \
  -H 'X-API-Key: string'

Responses

Successful Response

Bodyapplication/json
codeinteger(Code)required

HTTP status code

Example: 200
statusstring(Status)required

'success' or 'error'

Example: "success"
user_idUser Id (string) or User Id (null)(User Id)
Example: "abc123"
Any of:
string(User Id)
emailEmail (string) or Email (null)(Email)
Example: "user@example.com"
Any of:
string(Email)
external_idExternal Id (string) or External Id (null)(External Id)
Example: "user123"
Any of:
string(External Id)
metadataMetadata (object) or Metadata (null)(Metadata)
Example: {"name":"John Doe","preferences":{"theme":"dark"}}
Any of:
created_atCreated At (string) or Created At (null)(Created At)
Example: "2024-03-20T10:00:00.000Z"
Any of:
string(Created At)
updated_atUpdated At (string) or Updated At (null)(Updated At)
Example: "2024-03-20T10:00:00.000Z"
Any of:
string(Updated At)
errorError (string) or Error (null)(Error)
Any of:
string(Error)
detailsDetails (any) or Details (null)(Details)
Any of:
any(Details)
Response
application/json
{ "code": 200, "created_at": "2024-03-20T10:00:00.000Z", "email": "user@example.com", "external_id": "user123", "metadata": { "name": "John Doe", "preferences": {} }, "status": "success", "updated_at": "2024-03-20T10:00:00.000Z", "user_id": "abc123" }

Update User

Request

Update user details by user_id (_User.objectId) and developer association

Path
user_idstring(User Id)required
Headers
X-API-Keystring(X-Api-Key)required
Bodyapplication/jsonrequired
emailEmail (string) or Email (null)(Email)
Example: "updated.user@example.com"
Any of:
string(Email)
external_idExternal Id (string) or External Id (null)(External Id)
Example: "updated_user_123"
Any of:
string(External Id)
metadataMetadata (object) or Metadata (null)(Metadata)
Example: {"name":"Updated User","preferences":{"theme":"light"}}
Any of:
typeUserType (string) or null
Example: "developerUser"
Any of:
string(UserType)
Enum"developerUser""user""agent"
curl -i -X PUT \
  'https://platform.papr.ai/_mock/apis/v1/user/{user_id}' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: string' \
  -d '{
    "email": "updated.user@example.com",
    "external_id": "updated_user_123",
    "metadata": {
      "name": "Updated User",
      "preferences": {
        "theme": "light"
      }
    },
    "type": "developerUser"
  }'

Responses

Successful Response

Bodyapplication/json
codeinteger(Code)required

HTTP status code

Example: 200
statusstring(Status)required

'success' or 'error'

Example: "success"
user_idUser Id (string) or User Id (null)(User Id)
Example: "abc123"
Any of:
string(User Id)
emailEmail (string) or Email (null)(Email)
Example: "user@example.com"
Any of:
string(Email)
external_idExternal Id (string) or External Id (null)(External Id)
Example: "user123"
Any of:
string(External Id)
metadataMetadata (object) or Metadata (null)(Metadata)
Example: {"name":"John Doe","preferences":{"theme":"dark"}}
Any of:
created_atCreated At (string) or Created At (null)(Created At)
Example: "2024-03-20T10:00:00.000Z"
Any of:
string(Created At)
updated_atUpdated At (string) or Updated At (null)(Updated At)
Example: "2024-03-20T10:00:00.000Z"
Any of:
string(Updated At)
errorError (string) or Error (null)(Error)
Any of:
string(Error)
detailsDetails (any) or Details (null)(Details)
Any of:
any(Details)
Response
application/json
{ "code": 200, "created_at": "2024-03-20T10:00:00.000Z", "email": "user@example.com", "external_id": "user123", "metadata": { "name": "John Doe", "preferences": {} }, "status": "success", "updated_at": "2024-03-20T10:00:00.000Z", "user_id": "abc123" }

Delete User

Request

Delete user association with developer and the user itself by , assume external user_id is provided, and resolve to internal user_id (_User.objectId)

Path
user_idstring(User Id)required
Query
is_externalboolean(Is External)

Is this an external user ID?

Default false
Headers
X-API-Keystring(X-Api-Key)required
curl -i -X DELETE \
  'https://platform.papr.ai/_mock/apis/v1/user/{user_id}?is_external=false' \
  -H 'X-API-Key: string'

Responses

Successful Response

Bodyapplication/json
codeinteger(Code)required

HTTP status code

Example: 200
statusstring(Status)required

'success' or 'error'

Example: "success"
user_idUser Id (string) or User Id (null)(User Id)

ID of the user attempted to delete

Example: "abc123"
Any of:

ID of the user attempted to delete

string(User Id)

ID of the user attempted to delete

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

Success or error message

Example: "User and association deleted successfully"
Any of:

Success or error message

string(Message)

Success or error message

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

Response
application/json
{ "code": 200, "message": "User and association deleted successfully", "status": "success", "user_id": "abc123" }

Create User Batch

Request

Create multiple users or link existing users to developer, and add each to the developer's workspace (if one exists).

Headers
X-API-Keystring(X-Api-Key)required
Bodyapplication/jsonrequired
usersArray of objects(Users)required
Example: [{"email":"user@example.com","external_id":"user123","metadata":{"name":"John Doe","preferences":{"theme":"dark"}},"type":"developerUser"}]
users[].​emailEmail (string) or Email (null)(Email)
Example: "user@example.com"
Any of:
string(Email)
users[].​external_idstring(External Id)required
Example: "user123"
users[].​metadataMetadata (object) or Metadata (null)(Metadata)
Example: {"name":"John Doe","preferences":{"theme":"dark"}}
Any of:
users[].​typestring(UserType)
Default "developerUser"
Enum"developerUser""user""agent"
Example: "developerUser"
curl -i -X POST \
  https://platform.papr.ai/_mock/apis/v1/user/batch \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: string' \
  -d '{
    "users": [
      {
        "email": "user@example.com",
        "external_id": "user123",
        "metadata": {
          "name": "John Doe",
          "preferences": {
            "theme": "dark"
          }
        },
        "type": "developerUser"
      }
    ]
  }'

Responses

Successful Response

Bodyapplication/json
codeinteger(Code)required

HTTP status code

Example: 200
statusstring(Status)required

'success' or 'error'

Example: "success"
dataArray of Data (objects) or Data (null)(Data)
Example: [{"created_at":"2024-03-20T10:00:00.000Z","email":"user1@example.com","external_id":"user123","metadata":{"name":"John Doe","preferences":{"theme":"dark"}},"updated_at":"2024-03-20T10:00:00.000Z","user_id":"abc123"}]
Any of:
totalTotal (integer) or Total (null)(Total)
Example: 1
Any of:
integer(Total)
pagePage (integer) or Page (null)(Page)
Example: 1
Any of:
integer(Page)
page_sizePage Size (integer) or Page Size (null)(Page Size)
Example: 10
Any of:
integer(Page Size)
errorError (string) or Error (null)(Error)
Any of:
string(Error)
detailsDetails (any) or Details (null)(Details)
Any of:
any(Details)
Response
application/json
{ "code": 200, "data": [ {} ], "page": 1, "page_size": 10, "status": "success", "total": 1 }

Add Memory V1

Request

Add a new memory item to the system with size validation and background processing.

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

Query
skip_background_processingboolean(Skip Background Processing)

If True, skips adding background tasks for processing

Default false
Bodyapplication/jsonrequired
contentstring(Content)required

The content of the memory item you want to add to memory

Example: "Meeting notes from the product planning session"
typestring(MemoryType)required

Valid memory types

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

Metadata used in Neo4J and Pinecone for a memory item

Example: {"conversationId":"conv-123","createdAt":"2024-03-21T10:00:00Z","emoji_tags":"📊,💡,📝","emotion_tags":"focused, productive","external_user_id":"external_user_123","external_user_read_access":["external_user_123","external_user_789"],"external_user_write_access":["external_user_123"],"hierarchical_structures":"Business/Planning/Product","location":"Conference Room A","sourceUrl":"https://meeting-notes.example.com/123","topics":"product, planning"}
Any of:

Metadata used in Neo4J and Pinecone for a memory item

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

Context can be conversation history or any relevant context for a memory item

Example: [{"content":"Let's discuss the Q2 product roadmap","role":"user"},{"content":"I'll help you plan the roadmap. What are your key objectives?","role":"assistant"}]
Any of:

Context can be conversation history or any relevant context for a memory item

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

Array of relationships that we can use in Graph DB (neo4J)

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

Array of relationships that we can use in Graph DB (neo4J)

curl -i -X POST \
  'https://platform.papr.ai/_mock/apis/v1/memory?skip_background_processing=false' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "content": "Meeting notes from the product planning session",
    "context": [
      {
        "content": "Let'\''s discuss the Q2 product roadmap",
        "role": "user"
      },
      {
        "content": "I'\''ll help you plan the roadmap. What are your key objectives?",
        "role": "assistant"
      }
    ],
    "metadata": {
      "conversationId": "conv-123",
      "createdAt": "2024-03-21T10:00:00Z",
      "emoji_tags": "📊,💡,📝",
      "emotion_tags": "focused, productive",
      "external_user_id": "external_user_123",
      "external_user_read_access": [
        "external_user_123",
        "external_user_789"
      ],
      "external_user_write_access": [
        "external_user_123"
      ],
      "hierarchical_structures": "Business/Planning/Product",
      "location": "Conference Room A",
      "sourceUrl": "https://meeting-notes.example.com/123",
      "topics": "product, planning"
    },
    "relationships_json": [
      {
        "metadata": {
          "relevance": "high"
        },
        "related_item_id": "previous_memory_item_id",
        "related_item_type": "TextMemoryItem",
        "relation_type": "follows"
      }
    ],
    "type": "text"
  }'

Responses

Memory successfully added

Bodyapplication/json
codeinteger(Code)

HTTP status code

Default 200
statusstring(Status)

'success' or 'error'

Default "success"
dataArray of Data (objects) or Data (null)(Data)

List of memory items if successful

Any of:

List of 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

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

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" }

Add Memory Batch V1

Request

Add multiple memory items in a batch with size validation and background processing.

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 individual memory content size against MAX_CONTENT_LENGTH environment variable (defaults to 15000 bytes).

Query
skip_background_processingboolean(Skip Background Processing)

If True, skips adding background tasks for processing

Default false
Bodyapplication/jsonrequired
user_idUser Id (string) or User Id (null)(User Id)

Internal user ID for all memories in the batch. If not provided, developer's user ID will be used.

Example: "internal_user_id_12345"
Any of:

Internal user ID for all memories in the batch. If not provided, developer's user ID will be used.

string(User Id)

Internal user ID for all memories in the batch. If not provided, developer's user ID will be used.

external_user_idExternal User Id (string) or External User Id (null)(External 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.

Example: "external_user_abcde"
Any of:

External user ID for all memories in the batch. If provided and user_id is not, will be resolved to internal user ID.

string(External 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.

memoriesArray of objects(Memories)[ 1 .. 50 ] itemsrequired

List of memory items to add in batch

Example: [{"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"}]
memories[].​contentstring(Content)required

The content of the memory item you want to add to memory

Example: "Meeting notes from the product planning session"
memories[].​typestring(MemoryType)required

Valid memory types

Enum"text""code_snippet""document"
Example: "text"
memories[].​metadataMemoryMetadata (object) or null

Metadata used in Neo4J and Pinecone for a memory item

Example: {"conversationId":"conv-123","createdAt":"2024-03-21T10:00:00Z","emoji_tags":"📊,💡,📝","emotion_tags":"focused, productive","external_user_id":"external_user_123","external_user_read_access":["external_user_123","external_user_789"],"external_user_write_access":["external_user_123"],"hierarchical_structures":"Business/Planning/Product","location":"Conference Room A","sourceUrl":"https://meeting-notes.example.com/123","topics":"product, planning"}
Any of:

Metadata used in Neo4J and Pinecone for a memory item

memories[].​contextArray of Context (objects) or Context (null)(Context)

Context can be conversation history or any relevant context for a memory item

Example: [{"content":"Let's discuss the Q2 product roadmap","role":"user"},{"content":"I'll help you plan the roadmap. What are your key objectives?","role":"assistant"}]
Any of:

Context can be conversation history or any relevant context for a memory item

memories[].​relationships_jsonArray of Relationships Json (objects) or Relationships Json (null)(Relationships Json)

Array of relationships that we can use in Graph DB (neo4J)

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

Array of relationships that we can use in Graph DB (neo4J)

batch_sizeBatch Size (integer) or Batch Size (null)(Batch Size)

Number of items to process in parallel

Default 10
Example: 10
Any of:

Number of items to process in parallel

[ 1 .. 50 ]
integer(Batch Size)[ 1 .. 50 ]

Number of items to process in parallel

Default 10
curl -i -X POST \
  'https://platform.papr.ai/_mock/apis/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"
  }'

Responses

Memories successfully added

Bodyapplication/json
codeinteger(Code)

HTTP status code for the batch operation

Default 200
statusstring(Status)

'success', 'partial', or 'error'

Default "success"
messageMessage (string) or Message (null)(Message)

Human-readable status message

Any of:

Human-readable status message

string(Message)

Human-readable status message

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

Batch-level error message, if any

Any of:

Batch-level error message, if any

string(Error)

Batch-level error message, if any

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

successfulArray of objects(Successful)

List of successful add responses

errorsArray of objects(Errors)

List of errors for failed items

total_processedinteger(Total Processed)
Default 0
total_successfulinteger(Total Successful)
Default 0
total_failedinteger(Total Failed)
Default 0
total_content_sizeinteger(Total Content Size)
Default 0
total_storage_sizeinteger(Total Storage Size)
Default 0
Response
application/json
{ "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 }

Search V1

Request

Search through memories with authentication required.

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

Recommended Headers:

Accept-Encoding: gzip

The API supports response compression for improved performance. Responses larger than 1KB will be automatically compressed when this header is present.

HIGHLY RECOMMENDED SETTINGS FOR BEST RESULTS:

  • Set enable_agentic_graph: true for intelligent, context-aware search that can understand ambiguous references
  • Use max_memories: 15-20 for comprehensive memory coverage
  • Use max_nodes: 10-15 for comprehensive graph entity relationships

Agentic Graph Benefits: When enabled, the system can understand vague references by first identifying specific entities from your memory graph, then performing targeted searches. For example:

  • "customer feedback" → identifies your customers first, then finds their specific feedback
  • "project issues" → identifies your projects first, then finds related issues
  • "team meeting notes" → identifies your team members first, then finds meeting notes

User Resolution Precedence:

  • If both user_id and external_user_id are provided, user_id takes precedence.
  • If only external_user_id is provided, it will be resolved to the internal user.
  • If neither is provided, the authenticated user is used.
Query
max_memoriesinteger(Max Memories)[ 10 .. 50 ]

HIGHLY RECOMMENDED: Maximum number of memories to return. Use at least 15-20 for comprehensive results. Lower values (5-10) may miss relevant information. Default is 20 for optimal coverage.

Default 20
max_nodesinteger(Max Nodes)[ 10 .. 50 ]

HIGHLY RECOMMENDED: Maximum number of neo nodes to return. Use at least 10-15 for comprehensive graph results. Lower values may miss important entity relationships. Default is 15 for optimal coverage.

Default 15
Headers
Accept-Encodingstring

Recommended to use 'gzip' for response compression

Default gzip
Bodyapplication/jsonrequired
querystring(Query)required

Detailed search query describing what you're looking for. For best results, write 2-3 sentences that include specific details, context, and time frame. Examples: 'Find recurring customer complaints about API performance from the last month. Focus on issues where customers specifically mentioned timeout errors or slow response times in their conversations.' 'What are the main issues and blockers in my current projects? Focus on technical challenges and timeline impacts.' 'Find insights about team collaboration and communication patterns from recent meetings and discussions.'

Example: "Find recurring customer complaints about API performance from the last month. Focus on issues that multiple customers have mentioned and any specific feature requests or workflow improvements they've suggested."
rank_resultsboolean(Rank Results)

Whether to enable additional ranking of search results. Default is false because results are already ranked when using an LLM for search (recommended approach). Only enable this if you're not using an LLM in your search pipeline and need additional result ranking.

Default false
enable_agentic_graphboolean(Enable Agentic Graph)

HIGHLY RECOMMENDED: Enable agentic graph search for intelligent, context-aware results. When enabled, the system can understand ambiguous references by first identifying specific entities from your memory graph, then performing targeted searches. Examples: 'customer feedback' → identifies your customers first, then finds their specific feedback; 'project issues' → identifies your projects first, then finds related issues; 'team meeting notes' → identifies team members first, then finds meeting notes. This provides much more relevant and comprehensive results. Set to false only if you need faster, simpler keyword-based search.

Default false
Example: true
user_idUser Id (string) or User Id (null)(User Id)

Optional internal user ID to filter search results 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.

Example: "user123"
Any of:

Optional internal user ID to filter search results 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.

string(User Id)

Optional internal user ID to filter search results 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.

external_user_idExternal User Id (string) or External User Id (null)(External User Id)

Optional external user ID to filter search results by a specific external user. If both user_id and external_user_id are provided, user_id takes precedence.

Example: "external_abc"
Any of:

Optional external user ID to filter search results by a specific external user. If both user_id and external_user_id are provided, user_id takes precedence.

string(External User Id)

Optional external user ID to filter search results by a specific external user. If both user_id and external_user_id are provided, user_id takes precedence.

metadataMemoryMetadata (object) or null

Optional metadata filter. Any field in MemoryMetadata (including custom fields) can be used for filtering.

Example: {"customMetadata":{"priority":"high"},"location":"US","topics":"API performance"}
Any of:

Optional metadata filter. Any field in MemoryMetadata (including custom fields) can be used for filtering.

curl -i -X POST \
  'https://platform.papr.ai/_mock/apis/v1/memory/search?max_memories=20&max_nodes=15' \
  -H 'Accept-Encoding: gzip' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "enable_agentic_graph": true,
    "external_user_id": "external_abc",
    "metadata": {
      "customMetadata": {
        "priority": "high"
      },
      "location": "US",
      "topics": "API performance"
    },
    "query": "Find recurring customer complaints about API performance from the last month. Focus on issues that multiple customers have mentioned and any specific feature requests or workflow improvements they'\''ve suggested.",
    "rank_results": false,
    "user_id": "user123"
  }'

Responses

Successfully retrieved memories

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" }

Submit Feedback V1

Request

Submit feedback on search results to help improve model performance.

This endpoint allows developers to provide feedback on:

  • Overall answer quality (thumbs up/down, ratings)
  • Specific memory relevance and accuracy
  • User engagement signals (copy, save, create document actions)
  • Corrections and improvements

The feedback is used to train and improve:

  • Router model tier predictions
  • Memory retrieval ranking
  • Answer generation quality
  • Agentic graph search performance

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')
Bodyapplication/jsonrequired
search_idstring(Search Id)required

The search_id from SearchResponse that this feedback relates to

Example: "abc123def456"
feedbackDataobject(FeedbackData)required

The feedback data containing all feedback information

Example: {"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"}}
feedbackData.​userMessageParsePointer (object) or null
Example: {"__type":"Pointer","className":"PostMessage","objectId":"abc123def456"}
Any of:

A pointer to a Parse object

feedbackData.​assistantMessageParsePointer (object) or null
Example: {"__type":"Pointer","className":"PostMessage","objectId":"abc123def456"}
Any of:

A pointer to a Parse object

feedbackData.​feedbackTypestring(FeedbackType)required

Types of feedback that can be provided

Enum"thumbs_up""thumbs_down""rating""correction""report""copy_action""save_action""create_document""memory_relevance""answer_quality"
Example: "thumbs_up"
feedbackData.​feedbackValueFeedbackvalue (string) or Feedbackvalue (null)(Feedbackvalue)
Example: "helpful"
Any of:
string(Feedbackvalue)
feedbackData.​feedbackScoreFeedbackscore (number) or Feedbackscore (null)(Feedbackscore)
Example: 1
Any of:
number(Feedbackscore)
feedbackData.​feedbackTextFeedbacktext (string) or Feedbacktext (null)(Feedbacktext)
Example: "This answer was very helpful and accurate"
Any of:
string(Feedbacktext)
feedbackData.​feedbackSourcestring(FeedbackSource)required

Where the feedback was provided from

Enum"inline""post_query""session_end""memory_citation""answer_panel"
Example: "inline"
feedbackData.​citedMemoryIdsArray of Citedmemoryids (strings) or Citedmemoryids (null)(Citedmemoryids)
Example: ["mem_123","mem_456"]
Any of:
feedbackData.​citedNodeIdsArray of Citednodeids (strings) or Citednodeids (null)(Citednodeids)
Example: ["node_123","node_456"]
Any of:
feedbackData.​feedbackProcessedFeedbackprocessed (boolean) or Feedbackprocessed (null)(Feedbackprocessed)
Example: true
Any of:
boolean(Feedbackprocessed)
feedbackData.​feedbackImpactFeedbackimpact (string) or Feedbackimpact (null)(Feedbackimpact)
Example: "positive"
Any of:
string(Feedbackimpact)
user_idUser Id (string) or User Id (null)(User Id)

Internal user ID (if not provided, will be resolved from authentication)

Example: "abc123def456"
Any of:

Internal user ID (if not provided, will be resolved from authentication)

string(User Id)

Internal user ID (if not provided, will be resolved from authentication)

external_user_idExternal User Id (string) or External User Id (null)(External User Id)

External user ID for developer API keys acting on behalf of end users

Example: "dev_api_key_123"
Any of:

External user ID for developer API keys acting on behalf of end users

string(External User Id)

External user ID for developer API keys acting on behalf of end users

curl -i -X POST \
  https://platform.papr.ai/_mock/apis/v1/feedback \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "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"
  }'

Responses

Feedback submitted successfully

Bodyapplication/json
codeinteger(Code)required

HTTP status code

statusstring(Status)required

'success' or 'error'

feedback_idFeedback Id (string) or Feedback Id (null)(Feedback Id)

Unique feedback ID

Any of:

Unique feedback ID

string(Feedback Id)

Unique feedback ID

messagestring(Message)required

Human-readable message

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

Error message if status is 'error'

Any of:

Error message if status is 'error'

string(Error)

Error message if status is 'error'

detailsDetails (object) or Details (null)(Details)

Additional error details

Any of:

Additional error details

Response
application/json
{ "code": 200, "status": "success", "feedback_id": "fb_123456789", "message": "Feedback submitted successfully and will be processed for model improvement" }

Submit Batch Feedback V1

Request

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:

  • 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')
Bodyapplication/jsonrequired
feedback_itemsArray of objects(Feedback Items)[ 1 .. 100 ] itemsrequired

List of feedback items to submit

Example: [{"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"}]
feedback_items[].​search_idstring(Search Id)required

The search_id from SearchResponse that this feedback relates to

Example: "abc123def456"
feedback_items[].​feedbackDataobject(FeedbackData)required

The feedback data containing all feedback information

Example: {"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"}}
feedback_items[].​feedbackData.​userMessageParsePointer (object) or null
Example: {"__type":"Pointer","className":"PostMessage","objectId":"abc123def456"}
Any of:

A pointer to a Parse object

feedback_items[].​feedbackData.​assistantMessageParsePointer (object) or null
Example: {"__type":"Pointer","className":"PostMessage","objectId":"abc123def456"}
Any of:

A pointer to a Parse object

feedback_items[].​feedbackData.​feedbackTypestring(FeedbackType)required

Types of feedback that can be provided

Enum"thumbs_up""thumbs_down""rating""correction""report""copy_action""save_action""create_document""memory_relevance""answer_quality"
Example: "thumbs_up"
feedback_items[].​feedbackData.​feedbackValueFeedbackvalue (string) or Feedbackvalue (null)(Feedbackvalue)
Example: "helpful"
Any of:
string(Feedbackvalue)
feedback_items[].​feedbackData.​feedbackScoreFeedbackscore (number) or Feedbackscore (null)(Feedbackscore)
Example: 1
Any of:
number(Feedbackscore)
feedback_items[].​feedbackData.​feedbackTextFeedbacktext (string) or Feedbacktext (null)(Feedbacktext)
Example: "This answer was very helpful and accurate"
Any of:
string(Feedbacktext)
feedback_items[].​feedbackData.​feedbackSourcestring(FeedbackSource)required

Where the feedback was provided from

Enum"inline""post_query""session_end""memory_citation""answer_panel"
Example: "inline"
feedback_items[].​feedbackData.​citedMemoryIdsArray of Citedmemoryids (strings) or Citedmemoryids (null)(Citedmemoryids)
Example: ["mem_123","mem_456"]
Any of:
feedback_items[].​feedbackData.​citedNodeIdsArray of Citednodeids (strings) or Citednodeids (null)(Citednodeids)
Example: ["node_123","node_456"]
Any of:
feedback_items[].​feedbackData.​feedbackProcessedFeedbackprocessed (boolean) or Feedbackprocessed (null)(Feedbackprocessed)
Example: true
Any of:
boolean(Feedbackprocessed)
feedback_items[].​feedbackData.​feedbackImpactFeedbackimpact (string) or Feedbackimpact (null)(Feedbackimpact)
Example: "positive"
Any of:
string(Feedbackimpact)
feedback_items[].​user_idUser Id (string) or User Id (null)(User Id)

Internal user ID (if not provided, will be resolved from authentication)

Example: "abc123def456"
Any of:

Internal user ID (if not provided, will be resolved from authentication)

string(User Id)

Internal user ID (if not provided, will be resolved from authentication)

feedback_items[].​external_user_idExternal User Id (string) or External User Id (null)(External User Id)

External user ID for developer API keys acting on behalf of end users

Example: "dev_api_key_123"
Any of:

External user ID for developer API keys acting on behalf of end users

string(External User Id)

External user ID for developer API keys acting on behalf of end users

session_contextSession Context (object) or Session Context (null)(Session Context)

Session-level context for batch feedback

Any of:

Session-level context for batch feedback

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

Responses

Batch feedback processed successfully

Bodyapplication/json
codeinteger(Code)required

HTTP status code

statusstring(Status)required

'success' or 'error'

feedback_idsArray of strings(Feedback Ids)

List of feedback IDs

successful_countinteger(Successful Count)

Number of successfully processed feedback items

Default 0
failed_countinteger(Failed Count)

Number of failed feedback items

Default 0
errorsArray of objects(Errors)

List of error details

messagestring(Message)required

Human-readable message

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

Error message if status is 'error'

Any of:

Error message if status is 'error'

string(Error)

Error message if status is 'error'

Response
application/json
{ "code": 200, "status": "success", "feedback_ids": [ "fb_123", "fb_456" ], "successful_count": 2, "failed_count": 0, "errors": [], "message": "Processed 2 feedback items successfully" }

Get Feedback By Id V1

Request

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:

  • 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
feedback_idstring(Feedback Id)required
curl -i -X GET \
  'https://platform.papr.ai/_mock/apis/v1/feedback/{feedback_id}' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Feedback retrieved successfully

Bodyapplication/json
codeinteger(Code)required

HTTP status code

statusstring(Status)required

'success' or 'error'

feedback_idFeedback Id (string) or Feedback Id (null)(Feedback Id)

Unique feedback ID

Any of:

Unique feedback ID

string(Feedback Id)

Unique feedback ID

messagestring(Message)required

Human-readable message

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

Error message if status is 'error'

Any of:

Error message if status is 'error'

string(Error)

Error message if status is 'error'

detailsDetails (object) or Details (null)(Details)

Additional error details

Any of:

Additional error details

Response
application/json
{ "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" } }

User

Operations

Memory

Operations

Feedback

Operations