API for managing personal memory items with authentication and user-specific data.
API for managing personal memory items with authentication and user-specific data.
This API supports three authentication methods:
X-API-Key headerX-API-Key: <your-api-key>X-Session-Token headerX-Session-Token: <your-session-token>Authorization headerAuthorization: Bearer <token>All endpoints require one of these authentication methods.
Query text (string) or QueryItem with pre-computed artifacts.
Query text (string) or QueryItem with pre-computed artifacts.
Query text (string) or QueryItem with pre-computed artifacts.
Candidate documents (string or DocumentInput with pre-computed artifacts).
Return at most this many results. Defaults to len(documents).
Return at most this many results. Defaults to len(documents).
Return at most this many results. Defaults to len(documents).
Domain shortname or full schema id controlling which frequency bands and extraction rules are used. Built-in shortnames: "general" (default), "code", "cosqa", "codetrans", "codetransocean", "codetransocean_hybrid", "text2sql", "scifact", "nfcorpus", "fiqa", "legal", "medical", "ecommerce", "coffee_shops". You can also pass a full schema id (e.g. "code_search:cosqa:2.0.0") or a custom domain_id registered via POST /v1/graph/domains.
Domain shortname or full schema id controlling which frequency bands and extraction rules are used. Built-in shortnames: "general" (default), "code", "cosqa", "codetrans", "codetransocean", "codetransocean_hybrid", "text2sql", "scifact", "nfcorpus", "fiqa", "legal", "medical", "ecommerce", "coffee_shops". You can also pass a full schema id (e.g. "code_search:cosqa:2.0.0") or a custom domain_id registered via POST /v1/graph/domains.
Domain shortname or full schema id controlling which frequency bands and extraction rules are used. Built-in shortnames: "general" (default), "code", "cosqa", "codetrans", "codetransocean", "codetransocean_hybrid", "text2sql", "scifact", "nfcorpus", "fiqa", "legal", "medical", "ecommerce", "coffee_shops". You can also pass a full schema id (e.g. "code_search:cosqa:2.0.0") or a custom domain_id registered via POST /v1/graph/domains.
Public: enhanced or max (CE reranker). Accepts deprecated 'fast'/'enhanced' aliases.
Embedder for per-band signal vectors when extracting query/docs. 'sbert' (384d, default) is ~10x cheaper to store than 'qwen' (2560d). Must match the embedder used for any BYO signal_embeddings.
Hard cutoffs on per-frequency signals, e.g. {'domain_match': 0.6}. Docs below are dropped.
Hard cutoffs on per-frequency signals, e.g. {'domain_match': 0.6}. Docs below are dropped.
Per-frequency scoring weight multipliers. Keys may be field names (e.g. 'claim_stance', 'causal_verb') or Hz-strings (e.g. '19.0'). Values: 'auto' (default) or 1.0 = unchanged, 2.0 = 2x boost, 0.0 = disable that band. Fields not specified default to 'auto'. Stacks on top of the schema-level FrequencyField.weight multipliers; request-level overrides win on conflict.
Per-frequency scoring weight multipliers. Keys may be field names (e.g. 'claim_stance', 'causal_verb') or Hz-strings (e.g. '19.0'). Values: 'auto' (default) or 1.0 = unchanged, 2.0 = 2x boost, 0.0 = disable that band. Fields not specified default to 'auto'. Stacks on top of the schema-level FrequencyField.weight multipliers; request-level overrides win on conflict.
Per-request CAESAR-VIII routing overrides. Stacks on top of domain defaults and MongoDB graph_domains.routing_config.
Per-request CAESAR-VIII routing overrides. Stacks on top of domain defaults and MongoDB graph_domains.routing_config.
If true, each result carries signal_scores (method-level scores like base_sim, caesar8_score) and signal_scores_by_band (per-frequency band alignments such as key_apis, language).
If true, echo back each input document in the result.
curl -i -X POST \
https://memory.papr.ai/v1/graph/rerank \
-H 'Content-Type: application/json' \
-H 'X-API-Key: YOUR_API_KEY_HERE' \
-d '{
"query": "string",
"documents": [
"string"
],
"top_k": 1,
"domain_id": "general",
"method": "fast",
"signal_embedder": "sbert",
"signal_filters": {
"property1": 0,
"property2": 0
},
"signal_multipliers": {},
"routing_config": {
"disabled_rules": [
"string"
],
"enabled_rule_packs": [
"string"
],
"threshold_overrides": {
"property1": 0,
"property2": 0
},
"enhanced_initial_source": "string",
"holographic_floor": true,
"ce_gate_min_phi": 0,
"egr_lambda_ce": 0,
"caesar4_source": "string"
},
"return_signal_scores": false,
"return_documents": false,
"return_debug": false
}'Successful Response
Doc id if input was an object, else null.
Doc id if input was an object, else null.
Doc id if input was an object, else null.
Final ranked score — the real similarity from the CAESAR-8 routed method.
Which method CAESAR-8 routed to for this query (e.g. 'caesar7', 'baseline_rerank'). Tells you what kind of signal relevance_score reflects.
Which method CAESAR-8 routed to for this query (e.g. 'caesar7', 'baseline_rerank'). Tells you what kind of signal relevance_score reflects.
Which method CAESAR-8 routed to for this query (e.g. 'caesar7', 'baseline_rerank'). Tells you what kind of signal relevance_score reflects.
Stable, documented signals (only if return_signal_scores=true). Always includes base_sim and caesar8_score. On enhanced method, also includes rot_k{32,128,256,512}_sim low-rank rotation variants.
Stable, documented signals (only if return_signal_scores=true). Always includes base_sim and caesar8_score. On enhanced method, also includes rot_k{32,128,256,512}_sim low-rank rotation variants.
Per-band signal similarities, keyed by band name (e.g. {'causal_agent': 0.83, 'causal_verb': 0.91}). Only set if return_signal_scores=true and the pipeline computed gated SFI.
Per-band signal similarities, keyed by band name (e.g. {'causal_agent': 0.83, 'causal_verb': 0.91}). Only set if return_signal_scores=true and the pipeline computed gated SFI.
Kitchen-sink: every *_sim signal computed by the pipeline. Only if return_debug=true. NOT a stable contract — keys may change.
Kitchen-sink: every *_sim signal computed by the pipeline. Only if return_debug=true. NOT a stable contract — keys may change.
Cohere/Voyage-compatible usage block, e.g. {'search_units': 1, 'docs_scored': 100}. Populated for /v1/graph/rerank and /v1/graph/search.
Cohere/Voyage-compatible usage block, e.g. {'search_units': 1, 'docs_scored': 100}. Populated for /v1/graph/rerank and /v1/graph/search.
Latency breakdown in milliseconds. Top-level keys: services_init, pipeline, total. Optional phases is a nested dict with per-stage timings: query_processing, retrieval, rerank, caesar_routing.
Debug payload when return_debug=true. Includes: selection_signals (scalar routing inputs), v3a_routing / v4a_routing (method selection diagnostics), routing_signals (method_bgrs, method_t1lrs, pool quality), spread_signals (gauss/sfi/hcond spread boosters), signal_multipliers, signal_weights, signal_weights_sparse, routing_config, domain_method_priors, doc_scores (per-doc method score vectors), router_state (v4a EMA snapshot), rule_fired, zone, caesar8_mode. Per-phase timings live in timing_ms.phases.
Debug payload when return_debug=true. Includes: selection_signals (scalar routing inputs), v3a_routing / v4a_routing (method selection diagnostics), routing_signals (method_bgrs, method_t1lrs, pool quality), spread_signals (gauss/sfi/hcond spread boosters), signal_multipliers, signal_weights, signal_weights_sparse, routing_config, domain_method_priors, doc_scores (per-doc method score vectors), router_state (v4a EMA snapshot), rule_fired, zone, caesar8_mode. Per-phase timings live in timing_ms.phases.
{ "id": "string", "results": [ { … } ], "meta": { "domain_id": "string", "method_used": "enhanced", "billed_units": 0, "usage": {}, "timing_ms": {}, "debug": {} } }
curl -i -X GET \
https://memory.papr.ai/v1/graph/domains \
-H 'X-API-Key: YOUR_API_KEY_HERE'Successful Response
Hz band mapping (0.1 … 70.0). Auto-assigned if omitted.
Hz band mapping (0.1 … 70.0). Auto-assigned if omitted.
Hz band mapping (0.1 … 70.0). Auto-assigned if omitted.
Extraction / phase type for this signal.
Domain-level default signal multipliers (see GraphDomainCreate).
Domain-level default signal multipliers (see GraphDomainCreate).
Domain-level CAESAR-VIII routing config (see GraphDomainRoutingConfig).
Domain-level CAESAR-VIII routing config (see GraphDomainRoutingConfig).
Catalog settings (see DomainCatalogConfig).
Catalog settings (see DomainCatalogConfig).
Curated catalog of signal values in this domain's frequency space.
Curated catalog of signal values in this domain's frequency space.
Buffered raw signals awaiting LLM clustering (internal).
True for built-in domains shipped with Papr (read-only).
Workspace that owns this domain. Domains are scoped to workspace when set.
Workspace that owns this domain. Domains are scoped to workspace when set.
Workspace that owns this domain. Domains are scoped to workspace when set.
{ "domains": [ { … } ] }
Per-domain signal definitions.
Hz band mapping (0.1 … 70.0). Auto-assigned if omitted.
Hz band mapping (0.1 … 70.0). Auto-assigned if omitted.
Hz band mapping (0.1 … 70.0). Auto-assigned if omitted.
Extraction / phase type for this signal.
For type='enum': allowed vocabulary.
For type='enum': allowed vocabulary.
Domain-level default signal weight multipliers. Applied automatically on every rerank/search request for this domain (unless the caller supplies their own signal_multipliers, which take priority). Keys are field names (e.g. 'key_claim') or Hz-strings (e.g. '70.0'). Values: 0.0 = disable band, 1.0 = unchanged, 2.0 = 2× boost.
Domain-level default signal weight multipliers. Applied automatically on every rerank/search request for this domain (unless the caller supplies their own signal_multipliers, which take priority). Keys are field names (e.g. 'key_claim') or Hz-strings (e.g. '70.0'). Values: 0.0 = disable band, 1.0 = unchanged, 2.0 = 2× boost.
Domain-level CAESAR-VIII routing config: disabled global rules, enabled domain rule packs, optional threshold overrides.
Domain-level CAESAR-VIII routing config: disabled global rules, enabled domain rule packs, optional threshold overrides.
Catalog settings. When enabled (default), raw signal values are auto-accumulated on every transform call and periodically clustered by an LLM for introspection. Pass {enabled: false} to disable.
Catalog settings. When enabled (default), raw signal values are auto-accumulated on every transform call and periodically clustered by an LLM for introspection. Pass {enabled: false} to disable.
curl -i -X POST \
https://memory.papr.ai/v1/graph/domains \
-H 'Content-Type: application/json' \
-H 'X-API-Key: YOUR_API_KEY_HERE' \
-d '{
"domain_id": "string",
"name": "string",
"description": "string",
"signals": [
{
"name": "string",
"description": "string",
"weight": 1,
"frequency_hz": 0,
"type": "enum",
"allowed_values": [
"string"
],
"required": false
}
],
"signal_multipliers": {
"property1": 0,
"property2": 0
},
"routing_config": {
"disabled_rules": [
"string"
],
"enabled_rule_packs": [
"string"
],
"threshold_overrides": {
"property1": 0,
"property2": 0
},
"enhanced_initial_source": "string",
"holographic_floor": true,
"ce_gate_min_phi": 0,
"egr_lambda_ce": 0,
"caesar4_source": "string"
},
"catalog_config": {
"enabled": true,
"refresh_every_n": 50
}
}'Successful Response
Hz band mapping (0.1 … 70.0). Auto-assigned if omitted.
Hz band mapping (0.1 … 70.0). Auto-assigned if omitted.
Hz band mapping (0.1 … 70.0). Auto-assigned if omitted.
Extraction / phase type for this signal.
For type='enum': allowed vocabulary.
For type='enum': allowed vocabulary.
Domain-level default signal multipliers (see GraphDomainCreate).
Domain-level default signal multipliers (see GraphDomainCreate).
Domain-level CAESAR-VIII routing config (see GraphDomainRoutingConfig).
Domain-level CAESAR-VIII routing config (see GraphDomainRoutingConfig).
Catalog settings (see DomainCatalogConfig).
Catalog settings (see DomainCatalogConfig).
Curated catalog of signal values in this domain's frequency space.
Curated catalog of signal values in this domain's frequency space.
Buffered raw signals awaiting LLM clustering (internal).
Workspace that owns this domain. Domains are scoped to workspace when set.
Workspace that owns this domain. Domains are scoped to workspace when set.
Workspace that owns this domain. Domains are scoped to workspace when set.
{ "domain_id": "string", "name": "string", "description": "string", "signals": [ { … } ], "signal_multipliers": { "property1": 0, "property2": 0 }, "routing_config": { "disabled_rules": [ … ], "enabled_rule_packs": [ … ], "threshold_overrides": { … }, "enhanced_initial_source": "string", "holographic_floor": true, "ce_gate_min_phi": 0, "egr_lambda_ce": 0, "caesar4_source": "string" }, "catalog_config": { "enabled": true, "refresh_every_n": 50 }, "catalog": { "entity_clusters": [ … ], "relationship_patterns": [ … ], "domain_distribution": { … }, "signal_value_counts": { … }, "total_documents": 0, "last_refreshed": "string", "last_updated": "string" }, "catalog_buffer": [ { … } ], "builtin": false, "created_at": "string", "owner_user_id": "string", "owner_workspace_id": "string", "owner_organization_id": "string", "owner_namespace_id": "string" }