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
Production server
https://memoryserver-staging-223473570766.us-west1.run.app/

v1

Operations

Update Namespace

Request

Update an existing namespace.

Path
namespace_idstring(Namespace Id)required
Headers
X-API-Keystring(X-Api-Key)required
Bodyapplication/jsonrequired
nameName (string) or Name (null)(Name)

Updated namespace name

Example: "acme-staging"
Any of:

Updated namespace name

[ 1 .. 128 ] characters
string(Name)[ 1 .. 128 ] characters

Updated namespace name

environment_typeEnvironmentType (string) or null

Updated environment type

Example: "staging"
Any of:

Updated environment type

string(EnvironmentType)

Updated environment type

Enum"development""staging""production"
is_activeIs Active (boolean) or Is Active (null)(Is Active)

Whether this namespace is active

Example: true
Any of:

Whether this namespace is active

boolean(Is Active)

Whether this namespace is active

rate_limitsRate Limits (object) or Rate Limits (null)(Rate Limits)

Updated rate limits (None values inherit from organization)

Any of:

Updated rate limits (None values inherit from organization)

curl -i -X PUT \
  'https://memoryserver-staging-223473570766.us-west1.run.app/v1/namespace/{namespace_id}' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: string' \
  -d '{
    "environment_type": "staging",
    "is_active": true,
    "name": "acme-staging"
  }'

Responses

Namespace updated

Bodyapplication/json
codeinteger(Code)

HTTP status code

Default 200
statusstring(Status)

'success' or 'error'

Default "success"
dataNamespaceItem (object) or null

Namespace data if successful

Any of:

Namespace data 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": { "objectId": "string", "name": "string", "environment_type": "string", "is_active": true, "rate_limits": {}, "organization_id": "string", "instance_config": {}, "storageCount": 0, "memoriesCount": 0, "createdAt": "string", "updatedAt": "string" }, "error": "string", "details": {} }

Delete Namespace

Request

Delete a namespace and optionally cascade-delete all memories, Neo4j nodes, and ACL references associated with it.

Path
namespace_idstring(Namespace Id)required
Query
delete_memoriesboolean(Delete Memories)

Delete all memories in this namespace

Default true
delete_neo4j_nodesboolean(Delete Neo4J Nodes)

Delete all Neo4j nodes in this namespace

Default true
remove_acl_referencesboolean(Remove Acl References)

Remove namespace from ACL arrays on remaining nodes

Default true
Headers
X-API-Keystring(X-Api-Key)required
curl -i -X DELETE \
  'https://memoryserver-staging-223473570766.us-west1.run.app/v1/namespace/{namespace_id}?delete_memories=true&delete_neo4j_nodes=true&remove_acl_references=true' \
  -H 'X-API-Key: string'

Responses

Namespace deleted

Bodyapplication/json
codeinteger(Code)

HTTP status code

Default 200
statusstring(Status)

'success' or 'error'

Default "success"
namespace_idNamespace Id (string) or Namespace Id (null)(Namespace Id)

ID of deleted namespace

Any of:

ID of deleted namespace

string(Namespace Id)

ID of deleted namespace

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

Human-readable message

Any of:

Human-readable message

string(Message)

Human-readable message

cascadeCascadeDeletionResult (object) or null

Cascade deletion details

Any of:

Cascade deletion details

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", "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": {} }

List all frequency schemas

Request

Returns all built-in frequency schemas with their field definitions and operational configuration. Use the schema_id or a shorthand alias when adding or searching memories with holographic embedding enabled.

Headers
X-API-KeyX-Api-Key (string) or X-Api-Key (null)(X-Api-Key)
Any of:
string(X-Api-Key)
curl -i -X GET \
  https://memoryserver-staging-223473570766.us-west1.run.app/v1/frequencies \
  -H 'X-API-Key: string'

Responses

Successful Response

Bodyapplication/json
successboolean(Success)
Default true
schemasArray of objects(Schemas)required
schemas[].​schema_idstring(Schema Id)required

Unique schema ID (domain:name:version)

schemas[].​namestring(Name)required

Schema name

schemas[].​domainstring(Domain)required

Domain (e.g. code_search, biomedical)

schemas[].​versionstring(Version)required

Schema version

schemas[].​descriptionstring(Description)

Human-readable description

Default ""
schemas[].​num_frequenciesinteger(Num Frequencies)required

Number of frequency bands

schemas[].​frequenciesArray of objects(Frequencies)required

Frequency band definitions

schemas[].​frequencies[].​frequency_hznumber(Frequency Hz)required

Frequency in Hz (brain-inspired band)

schemas[].​frequencies[].​namestring(Name)required

Field name extracted at this frequency

schemas[].​frequencies[].​typestring(Type)required

Field type: ENUM, FREE_TEXT, NUMERIC, DATE, MULTI_VALUE

schemas[].​frequencies[].​descriptionstring(Description)

Human-readable field description

Default ""
schemas[].​frequencies[].​weightnumber(Weight)

Default weight for this frequency band

Default 1
schemas[].​configobject(SchemaConfigResponse)required

Operational configuration

schemas[].​config.​dspy_model_pathDspy Model Path (string) or Dspy Model Path (null)(Dspy Model Path)

Path to DSPy-optimized extractor model (null = use direct LLM)

Any of:

Path to DSPy-optimized extractor model (null = use direct LLM)

string(Dspy Model Path)

Path to DSPy-optimized extractor model (null = use direct LLM)

schemas[].​config.​llm_metadata_modelstring(Llm Metadata Model)

LLM model for metadata extraction

Default "gpt-5-mini"
schemas[].​config.​weight_modestring(Weight Mode)

Frequency weight mode (legacy_sparse, code_search_v2, hybrid_optimized_v2)

Default "legacy_sparse"
schemas[].​config.​contrast_gammanumber(Contrast Gamma)

Contrast enhancement gamma

Default 2
schemas[].​config.​use_sparse_weightsboolean(Use Sparse Weights)

Enable sparse frequency weights

Default true
schemas[].​config.​use_complex_interferenceboolean(Use Complex Interference)

Enable complex interference scoring (PDCI, SFI)

Default true
schemas[].​config.​use_adaptive_weightsboolean(Use Adaptive Weights)

Enable query-adaptive frequency weights

Default true
schemas[].​config.​cross_encoder_modelstring(Cross Encoder Model)

Cross-encoder reranking model

Default "Qwen/Qwen3-Reranker-4B"
schemas[].​config.​cross_encoder_topkinteger(Cross Encoder Topk)

Number of candidates for cross-encoder reranking

Default 25
schemas[].​config.​qdrant_topkinteger(Qdrant Topk)

Over-fetch count from Qdrant for reranking

Default 50
schemas[].​config.​enable_entailment_rerankboolean(Enable Entailment Rerank)

Enable entailment-gated reranking (EGR)

Default true
schemas[].​config.​default_scoring_methodstring(Default Scoring Method)

Default scoring method for this schema

Default "egr_rerank"
totalinteger(Total)required
shortcutsobject(Shortcuts)

Shorthand aliases (e.g. 'cosqa' -> 'code_search:cosqa:2.0.0')

Response
application/json
{ "success": true, "schemas": [ {} ], "total": 0, "shortcuts": { "property1": "string", "property2": "string" } }

Memory

Operations

Memory Status

Operations

User

Operations

Feedback

Operations

Schema Management

Operations

Messages

Operations

omo

Operations

Namespace

Operations

Frequency Schemas

Operations

Holographic Transform

Operations

Instance Configuration

Operations

AI Proxy

Operations

Sync

Operations

Telemetry

Operations

Document

Operations

GraphQL

Operations

Authentication

Operations