Papr Memory API (1.0.0)

API for managing memory, context, and retrieval for AI agents or apps 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
Production server
http://memory.papr.ai/

v1

Operations

Memory

Operations

User

Operations

Feedback

Operations

Document

Operations

Upload Document

Request

Upload and process documents using the pluggable architecture.

Authentication Required: Bearer token or API key

Supported Providers: TensorLake.ai, Reducto AI, Gemini Vision (fallback)

Features:

  • Multi-tenant organization/namespace scoping
  • Temporal workflow for durable execution
  • Real-time WebSocket status updates
  • Integration with Parse Server (Post/PostSocial/PageVersion)
  • Automatic fallback between providers
Bodymultipart/form-datarequired
filestring(binary)(File)required
preferred_providerPreferredProvider (string) or null
Any of:

Preferred provider for document processing.

string(PreferredProvider)

Preferred provider for document processing.

Enum"gemini""tensorlake""reducto""auto"
hierarchical_enabledboolean(Hierarchical Enabled)
Default true
schema_idSchema Id (string) or Schema Id (null)(Schema Id)
Any of:
string(Schema Id)
simple_schema_modeboolean(Simple Schema Mode)
Default false
graph_overrideGraph Override (string) or Graph Override (null)(Graph Override)
Any of:
string(Graph Override)
property_overridesProperty Overrides (string) or Property Overrides (null)(Property Overrides)
Any of:
string(Property Overrides)
namespaceNamespace (string) or Namespace (null)(Namespace)
Any of:
string(Namespace)
user_idUser Id (string) or User Id (null)(User Id)
Any of:
string(User Id)
end_user_idEnd User Id (string) or End User Id (null)(End User Id)
Any of:
string(End User Id)
webhook_urlWebhook Url (string) or Webhook Url (null)(Webhook Url)
Any of:
string(Webhook Url)
webhook_secretWebhook Secret (string) or Webhook Secret (null)(Webhook Secret)
Any of:
string(Webhook Secret)
metadataMetadata (string) or Metadata (null)(Metadata)
Any of:
string(Metadata)
curl -i -X POST \
  http://memory.papr.ai/v1/document \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F file=string \
  -F preferred_provider=gemini \
  -F hierarchical_enabled=true \
  -F schema_id=string \
  -F simple_schema_mode=false \
  -F graph_override=string \
  -F property_overrides=string \
  -F namespace=string \
  -F user_id=string \
  -F end_user_id=string \
  -F webhook_url=string \
  -F webhook_secret=string \
  -F metadata=string

Responses

Document upload started

Bodyapplication/json
codeinteger(Code)

HTTP status code

Default 200
statusstring(Status)

'success', 'processing', 'error', etc.

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)

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

document_statusobject(DocumentUploadStatus)required

Status and progress of the document upload

document_status.​progressnumber(Progress)required

0.0 to 1.0 for percentage

document_status.​current_pageCurrent Page (integer) or Current Page (null)(Current Page)
Any of:
integer(Current Page)
document_status.​total_pagesTotal Pages (integer) or Total Pages (null)(Total Pages)
Any of:
integer(Total Pages)
document_status.​current_filenameCurrent Filename (string) or Current Filename (null)(Current Filename)
Any of:
string(Current Filename)
document_status.​upload_idUpload Id (string) or Upload Id (null)(Upload Id)
Any of:
string(Upload Id)
document_status.​page_idPage Id (string) or Page Id (null)(Page Id)

Post ID in Parse Server (user-facing page ID)

Any of:

Post ID in Parse Server (user-facing page ID)

string(Page Id)

Post ID in Parse Server (user-facing page ID)

document_status.​status_typeDocumentUploadStatusType (string) or null

Processing status type

Any of:

Processing status type

string(DocumentUploadStatusType)

Processing status type

Enum"processing""completed""failed""not_found""queued""cancelled"
document_status.​errorError (string) or Error (null)(Error)

Error message if failed

Any of:

Error message if failed

string(Error)

Error message if failed

memory_itemsArray of objects(Memory Items)

List of memory items created from the document

memoriesArray of Memories (objects) or Memories (null)(Memories)

For backward compatibility

Any of:

For backward compatibility

Response
application/json
{ "code": 200, "status": "success", "message": "string", "error": "string", "details": {}, "document_status": { "progress": 0, "current_page": 0, "total_pages": 0, "current_filename": "string", "upload_id": "string", "page_id": "string", "status_type": "processing", "error": "string" }, "memory_items": [ {} ], "memories": [ {} ] }

Get Document Status

Request

Get processing status for an uploaded document

Path
upload_idstring(Upload Id)required
curl -i -X GET \
  'http://memory.papr.ai/v1/document/status/{upload_id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful Response

Bodyapplication/json
property name*anyadditional property
Response
application/json
{}

Cancel Document Processing

Request

Cancel document processing

Path
upload_idstring(Upload Id)required
curl -i -X DELETE \
  'http://memory.papr.ai/v1/document/{upload_id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful Response

Bodyapplication/json
property name*anyadditional property
Response
application/json
{}

Schema Management

Operations

GraphQL

Operations