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

Get a frequency schema by ID or shorthand

Request

Retrieve a specific frequency schema by its full ID (e.g. 'code_search:cosqa:2.0.0') or shorthand alias (e.g. 'cosqa').

Path
frequency_schema_idstring(Frequency Schema Id)required
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/{frequency_schema_id}' \
  -H 'X-API-Key: string'

Responses

Successful Response

Bodyapplication/json
schema_idstring(Schema Id)required

Unique schema ID (domain:name:version)

namestring(Name)required

Schema name

domainstring(Domain)required

Domain (e.g. code_search, biomedical)

versionstring(Version)required

Schema version

descriptionstring(Description)

Human-readable description

Default ""
num_frequenciesinteger(Num Frequencies)required

Number of frequency bands

frequenciesArray of objects(Frequencies)required

Frequency band definitions

frequencies[].​frequency_hznumber(Frequency Hz)required

Frequency in Hz (brain-inspired band)

frequencies[].​namestring(Name)required

Field name extracted at this frequency

frequencies[].​typestring(Type)required

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

frequencies[].​descriptionstring(Description)

Human-readable field description

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

Default weight for this frequency band

Default 1
configobject(SchemaConfigResponse)required

Operational configuration

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)

config.​llm_metadata_modelstring(Llm Metadata Model)

LLM model for metadata extraction

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

Frequency weight mode (legacy_sparse, code_search_v2, hybrid_optimized_v2)

Default "legacy_sparse"
config.​contrast_gammanumber(Contrast Gamma)

Contrast enhancement gamma

Default 2
config.​use_sparse_weightsboolean(Use Sparse Weights)

Enable sparse frequency weights

Default true
config.​use_complex_interferenceboolean(Use Complex Interference)

Enable complex interference scoring (PDCI, SFI)

Default true
config.​use_adaptive_weightsboolean(Use Adaptive Weights)

Enable query-adaptive frequency weights

Default true
config.​cross_encoder_modelstring(Cross Encoder Model)

Cross-encoder reranking model

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

Number of candidates for cross-encoder reranking

Default 25
config.​qdrant_topkinteger(Qdrant Topk)

Over-fetch count from Qdrant for reranking

Default 50
config.​enable_entailment_rerankboolean(Enable Entailment Rerank)

Enable entailment-gated reranking (EGR)

Default true
config.​default_scoring_methodstring(Default Scoring Method)

Default scoring method for this schema

Default "egr_rerank"
Response
application/json
{ "schema_id": "string", "name": "string", "domain": "string", "version": "string", "description": "", "num_frequencies": 0, "frequencies": [ {} ], "config": { "dspy_model_path": "string", "llm_metadata_model": "gpt-5-mini", "weight_mode": "legacy_sparse", "contrast_gamma": 2, "use_sparse_weights": true, "use_complex_interference": true, "use_adaptive_weights": true, "cross_encoder_model": "Qwen/Qwen3-Reranker-4B", "cross_encoder_topk": 25, "qdrant_topk": 50, "enable_entailment_rerank": true, "default_scoring_method": "egr_rerank" } }

Transform text + embedding into holographic embeddings

Request

Core BYOE endpoint. Send text content and your base embedding (any dimensions) to get back holographic-transformed embeddings. Use output to control which fields are returned. Default: rotation_v3 + metadata.

Bodyapplication/jsonrequired
contentstring(Content)required

Text content for LLM metadata extraction

Example: "The patient presents with elevated troponin levels indicating myocardial damage"
embeddingArray of numbers(Embedding)required

Base embedding vector (any dimensionality)

Example: [0.1,-0.2,0.3]
domainDomain (string) or Domain (null)(Domain)

Domain for frequency schema selection (e.g. 'biomedical', 'code', 'general')

Default "general"
Example: "biomedical"
Any of:

Domain for frequency schema selection (e.g. 'biomedical', 'code', 'general')

string(Domain)

Domain for frequency schema selection (e.g. 'biomedical', 'code', 'general')

Default "general"
frequency_schema_idFrequency Schema Id (string) or Frequency Schema Id (null)(Frequency Schema Id)

Specific frequency schema ID override (e.g. 'biomedical:scifact:2.0.0'). Takes precedence over domain.

Any of:

Specific frequency schema ID override (e.g. 'biomedical:scifact:2.0.0'). Takes precedence over domain.

string(Frequency Schema Id)

Specific frequency schema ID override (e.g. 'biomedical:scifact:2.0.0'). Takes precedence over domain.

outputArray of Output (strings) or Output (null)(Output)

Which output fields to return. Default: ['rotation_v3', 'metadata']. Request only what you need to minimize response size.

Example: ["rotation_v3","phases","metadata"]
Any of:

Which output fields to return. Default: ['rotation_v3', 'metadata']. Request only what you need to minimize response size.

context_metadataContext Metadata (object) or Context Metadata (null)(Context Metadata)

Optional context metadata (createdAt, sourceType, customMetadata, etc.) to improve LLM extraction accuracy, especially for dates and entities.

Example: {"createdAt":"2026-03-15T14:30:00Z","sourceType":"pubmed"}
Any of:

Optional context metadata (createdAt, sourceType, customMetadata, etc.) to improve LLM extraction accuracy, especially for dates and entities.

curl -i -X POST \
  https://memoryserver-staging-223473570766.us-west1.run.app/v1/holographic/transform \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "content": "The patient presents with elevated troponin levels indicating myocardial damage",
    "context_metadata": {
      "createdAt": "2026-03-15T14:30:00Z",
      "sourceType": "pubmed"
    },
    "domain": "biomedical",
    "embedding": [
      0.1,
      -0.2,
      0.3
    ],
    "output": [
      "rotation_v3",
      "phases",
      "metadata"
    ]
  }'

Responses

Successful Response

Bodyapplication/json
statusstring(Status)
Default "success"
dataobject(TransformData)required

Inner data for transform response — only requested fields are populated.

data.​baseArray of Base (numbers) or Base (null)(Base)

Original embedding echoed back

Any of:

Original embedding echoed back

data.​rotation_v1Array of Rotation V1 (numbers) or Rotation V1 (null)(Rotation V1)

Rotation V1 transform (same dims as input)

Any of:

Rotation V1 transform (same dims as input)

data.​rotation_v2Array of Rotation V2 (numbers) or Rotation V2 (null)(Rotation V2)

Rotation V2 transform (same dims as input)

Any of:

Rotation V2 transform (same dims as input)

data.​rotation_v3Array of Rotation V3 (numbers) or Rotation V3 (null)(Rotation V3)

Rotation V3 transform (recommended for search, same dims as input)

Any of:

Rotation V3 transform (recommended for search, same dims as input)

data.​concatArray of Concat (numbers) or Concat (null)(Concat)

Concatenation transform (input_dims + 196)

Any of:

Concatenation transform (input_dims + 196)

data.​phasesArray of Phases (numbers) or Phases (null)(Phases)

14 raw phase values for on-device reconstruction and fast-path rerank

Any of:

14 raw phase values for on-device reconstruction and fast-path rerank

data.​metadataMetadata (object) or Metadata (null)(Metadata)

LLM-extracted metadata keyed by frequency field name

Any of:

LLM-extracted metadata keyed by frequency field name

data.​metadata_embeddingsMetadata Embeddings (object) or Metadata Embeddings (null)(Metadata Embeddings)

Per-frequency metadata embeddings

Any of:

Per-frequency metadata embeddings

data.​domainstring(Domain)required

Domain used for this transform

data.​frequency_schema_idstring(Frequency Schema Id)required

Exact frequency schema ID used

data.​base_diminteger(Base Dim)required

Input embedding dimensionality

data.​timing_msnumber(Timing Ms)required

Server-side processing time in milliseconds

Response
application/json
{ "status": "success", "data": { "base_dim": 2560, "domain": "biomedical", "frequency_schema_id": "biomedical:scifact:2.0.0", "metadata": {}, "phases": [], "rotation_v3": [], "timing_ms": 142.3 } }

Batch transform multiple items

Request

Transform up to 50 items in a single request. Same as /transform but batched.

Bodyapplication/jsonrequired
itemsArray of objects(Items)<= 50 itemsrequired

Items to transform (max 50)

items[].​idstring(Id)required

Unique identifier for this item

items[].​contentstring(Content)required

Text content for metadata extraction

items[].​embeddingArray of numbers(Embedding)required

Base embedding vector

items[].​context_metadataContext Metadata (object) or Context Metadata (null)(Context Metadata)

Optional context metadata for this item (createdAt, sourceType, etc.)

Any of:

Optional context metadata for this item (createdAt, sourceType, etc.)

domainDomain (string) or Domain (null)(Domain)

Domain for all items

Default "general"
Any of:

Domain for all items

string(Domain)

Domain for all items

Default "general"
frequency_schema_idFrequency Schema Id (string) or Frequency Schema Id (null)(Frequency Schema Id)

Schema override for all items

Any of:

Schema override for all items

string(Frequency Schema Id)

Schema override for all items

outputArray of Output (strings) or Output (null)(Output)

Which output fields to return for each item

Any of:

Which output fields to return for each item

curl -i -X POST \
  https://memoryserver-staging-223473570766.us-west1.run.app/v1/holographic/transform/batch \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "items": [
      {
        "id": "string",
        "content": "string",
        "embedding": [
          0
        ],
        "context_metadata": {}
      }
    ],
    "domain": "general",
    "frequency_schema_id": "string",
    "output": [
      "base"
    ]
  }'

Responses

Successful Response

Bodyapplication/json
statusstring(Status)
Default "success"
resultsArray of objects(Results)required
results[].​idstring(Id)required
results[].​dataobject(TransformData)required

Inner data for transform response — only requested fields are populated.

results[].​data.​baseArray of Base (numbers) or Base (null)(Base)

Original embedding echoed back

Any of:

Original embedding echoed back

results[].​data.​rotation_v1Array of Rotation V1 (numbers) or Rotation V1 (null)(Rotation V1)

Rotation V1 transform (same dims as input)

Any of:

Rotation V1 transform (same dims as input)

results[].​data.​rotation_v2Array of Rotation V2 (numbers) or Rotation V2 (null)(Rotation V2)

Rotation V2 transform (same dims as input)

Any of:

Rotation V2 transform (same dims as input)

results[].​data.​rotation_v3Array of Rotation V3 (numbers) or Rotation V3 (null)(Rotation V3)

Rotation V3 transform (recommended for search, same dims as input)

Any of:

Rotation V3 transform (recommended for search, same dims as input)

results[].​data.​concatArray of Concat (numbers) or Concat (null)(Concat)

Concatenation transform (input_dims + 196)

Any of:

Concatenation transform (input_dims + 196)

results[].​data.​phasesArray of Phases (numbers) or Phases (null)(Phases)

14 raw phase values for on-device reconstruction and fast-path rerank

Any of:

14 raw phase values for on-device reconstruction and fast-path rerank

results[].​data.​metadataMetadata (object) or Metadata (null)(Metadata)

LLM-extracted metadata keyed by frequency field name

Any of:

LLM-extracted metadata keyed by frequency field name

results[].​data.​metadata_embeddingsMetadata Embeddings (object) or Metadata Embeddings (null)(Metadata Embeddings)

Per-frequency metadata embeddings

Any of:

Per-frequency metadata embeddings

results[].​data.​domainstring(Domain)required

Domain used for this transform

results[].​data.​frequency_schema_idstring(Frequency Schema Id)required

Exact frequency schema ID used

results[].​data.​base_diminteger(Base Dim)required

Input embedding dimensionality

results[].​data.​timing_msnumber(Timing Ms)required

Server-side processing time in milliseconds

totalinteger(Total)required
timing_msnumber(Timing Ms)required
Response
application/json
{ "status": "success", "results": [ {} ], "total": 0, "timing_ms": 0 }

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