# Memory

## Get workspace-level memory analytics

> Get workspace-level memory analytics.\
> \
> Returns aggregate stats about the memory extraction pipeline:\
> per-dimension fact counts, coverage rates, source intelligence,\
> and recent activity. Cached in Valkey (60s TTL). Reads only Lakebase\
> memory projections on cache miss.\
> \
> Permissions: authenticated (any role).

```json
{"openapi":"3.1.0","info":{"title":"Platform API","version":"1.0.0"},"servers":[{"url":"https://api.platform.amigo.ai","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"API key issued via `POST /v1/{workspace_id}/api-keys`. Pass the returned `api_key` value as a Bearer token."}},"schemas":{"MemoryAnalyticsResponse":{"properties":{"total_entities_with_memory":{"type":"integer","title":"Total Entities With Memory"},"total_entities_in_workspace":{"type":"integer","title":"Total Entities In Workspace"},"coverage_rate":{"type":"number","title":"Coverage Rate"},"total_facts":{"type":"integer","title":"Total Facts"},"dimensions":{"items":{"$ref":"#/components/schemas/DimensionAnalytics"},"type":"array","title":"Dimensions"},"top_sources":{"items":{"$ref":"#/components/schemas/TopSource"},"type":"array","title":"Top Sources"},"facts_last_24h":{"type":"integer","title":"Facts Last 24H"},"facts_last_7d":{"type":"integer","title":"Facts Last 7D"},"facts_last_30d":{"type":"integer","title":"Facts Last 30D"},"active_dimensions":{"type":"integer","title":"Active Dimensions"},"builtin_dimensions":{"type":"integer","title":"Builtin Dimensions"},"custom_dimensions":{"type":"integer","title":"Custom Dimensions"},"llm_dimensions":{"type":"integer","title":"Llm Dimensions"}},"type":"object","required":["total_entities_with_memory","total_entities_in_workspace","coverage_rate","total_facts","dimensions","top_sources","facts_last_24h","facts_last_7d","facts_last_30d","active_dimensions","builtin_dimensions","custom_dimensions","llm_dimensions"],"title":"MemoryAnalyticsResponse"},"DimensionAnalytics":{"properties":{"dimension":{"type":"string","title":"Dimension"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"weight":{"type":"number","title":"Weight"},"extraction_mode":{"type":"string","title":"Extraction Mode"},"active":{"type":"boolean","title":"Active"},"builtin":{"type":"boolean","title":"Builtin"},"entity_count":{"type":"integer","title":"Entity Count"},"total_facts":{"type":"integer","title":"Total Facts"},"avg_facts_per_entity":{"type":"number","title":"Avg Facts Per Entity"},"avg_confidence":{"type":"number","title":"Avg Confidence"},"source_breakdown":{"additionalProperties":{"type":"integer"},"type":"object","title":"Source Breakdown"},"latest_fact_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Fact At"},"sample_facts":{"items":{"$ref":"#/components/schemas/SampleFact"},"type":"array","title":"Sample Facts","default":[]}},"type":"object","required":["dimension","name","description","weight","extraction_mode","active","builtin","entity_count","total_facts","avg_facts_per_entity","avg_confidence","source_breakdown","latest_fact_at"],"title":"DimensionAnalytics","description":"Per-dimension aggregate stats across all entities."},"SampleFact":{"properties":{"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"extracted_text":{"type":"string","title":"Extracted Text"},"confidence":{"type":"number","title":"Confidence"}},"type":"object","required":["entity_id","extracted_text","confidence"],"title":"SampleFact","description":"Representative fact snippet for a dimension (quality inspection / demos)."},"TopSource":{"properties":{"source":{"type":"string","title":"Source"},"fact_count":{"type":"integer","title":"Fact Count"},"entity_count":{"type":"integer","title":"Entity Count"}},"type":"object","required":["source","fact_count","entity_count"],"title":"TopSource"}}},"paths":{"/v1/{workspace_id}/memory/analytics":{"get":{"tags":["Memory"],"summary":"Get workspace-level memory analytics","description":"Get workspace-level memory analytics.\n\nReturns aggregate stats about the memory extraction pipeline:\nper-dimension fact counts, coverage rates, source intelligence,\nand recent activity. Cached in Valkey (60s TTL). Reads only Lakebase\nmemory projections on cache miss.\n\nPermissions: authenticated (any role).","operationId":"get-memory-analytics","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemoryAnalyticsResponse"}}}},"429":{"description":"Rate limited"}},"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}]}}}}
```

## Get memory dimension scores for an entity

> Get dimension completeness scores for an entity.\
> \
> Reads pre-computed aggregates from \`\`memory.patient\_dimensions\`\`.\
> All 6 built-in dimensions are always returned (0 facts for empty ones).\
> \
> Permissions: authenticated (any role).

```json
{"openapi":"3.1.0","info":{"title":"Platform API","version":"1.0.0"},"servers":[{"url":"https://api.platform.amigo.ai","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"API key issued via `POST /v1/{workspace_id}/api-keys`. Pass the returned `api_key` value as a Bearer token."}},"schemas":{"DimensionScoresResponse":{"properties":{"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"dimensions":{"items":{"$ref":"#/components/schemas/DimensionScore"},"type":"array","title":"Dimensions"},"total_facts":{"type":"integer","title":"Total Facts"}},"type":"object","required":["entity_id","dimensions","total_facts"],"title":"DimensionScoresResponse"},"DimensionScore":{"properties":{"dimension":{"type":"string","title":"Dimension"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"weight":{"type":"number","title":"Weight"},"fact_count":{"type":"integer","title":"Fact Count"},"avg_confidence":{"type":"number","title":"Avg Confidence"},"source_count":{"type":"integer","title":"Source Count"},"latest_fact_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Fact At"}},"type":"object","required":["dimension","name","description","weight","fact_count","avg_confidence","source_count","latest_fact_at"],"title":"DimensionScore"}}},"paths":{"/v1/{workspace_id}/memory/{entity_id}/dimensions":{"get":{"tags":["Memory"],"summary":"Get memory dimension scores for an entity","description":"Get dimension completeness scores for an entity.\n\nReads pre-computed aggregates from ``memory.patient_dimensions``.\nAll 6 built-in dimensions are always returned (0 facts for empty ones).\n\nPermissions: authenticated (any role).","operationId":"get-entity-dimension-scores","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id","description":"Entity UUID"},"description":"Entity UUID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionScoresResponse"}}}},"422":{"description":"Invalid entity_id"},"429":{"description":"Rate limited"}}}}}}
```

## Get memory facts for an entity

> Get extracted facts for an entity, optionally filtered by dimension.\
> \
> Reads pre-computed facts from \`\`memory.patient\_memory\`\`. Each row\
> includes the pre-extracted \`\`extracted\_text\`\` — no inline JSONB\
> extraction at query time.\
> \
> Permissions: authenticated (any role).

```json
{"openapi":"3.1.0","info":{"title":"Platform API","version":"1.0.0"},"servers":[{"url":"https://api.platform.amigo.ai","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"API key issued via `POST /v1/{workspace_id}/api-keys`. Pass the returned `api_key` value as a Bearer token."}},"schemas":{"MemoryFactsResponse":{"properties":{"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"dimension":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dimension"},"facts":{"items":{"$ref":"#/components/schemas/MemoryFact"},"type":"array","title":"Facts"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["entity_id","dimension","facts","total"],"title":"MemoryFactsResponse"},"MemoryFact":{"properties":{"dimension":{"type":"string","title":"Dimension"},"event_type":{"type":"string","title":"Event Type"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"confidence":{"type":"number","title":"Confidence"},"extracted_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extracted Text"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"},"ingested_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ingested At"}},"type":"object","required":["dimension","event_type","source","confidence","extracted_text","ingested_at"],"title":"MemoryFact"}}},"paths":{"/v1/{workspace_id}/memory/{entity_id}/facts":{"get":{"tags":["Memory"],"summary":"Get memory facts for an entity","description":"Get extracted facts for an entity, optionally filtered by dimension.\n\nReads pre-computed facts from ``memory.patient_memory``. Each row\nincludes the pre-extracted ``extracted_text`` — no inline JSONB\nextraction at query time.\n\nPermissions: authenticated (any role).","operationId":"get-entity-memory-facts","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id","description":"Entity UUID"},"description":"Entity UUID"},{"name":"dimension","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by dimension key (clinical, behavioral, etc.)","title":"Dimension"},"description":"Filter by dimension key (clinical, behavioral, etc.)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Max facts to return","default":50,"title":"Limit"},"description":"Max facts to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemoryFactsResponse"}}}},"422":{"description":"Invalid entity_id or dimension key"},"429":{"description":"Rate limited"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.amigo.ai/api-reference/readme/platform/memory.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
