Skip to main content

Dashboard

The Dashboard API provides observability into your Memsolus workspace — memory creation trends, search quality, token usage, top queries, and actionable alerts. All endpoints require dashboard.read.

Endpoint Overview

MethodPathDescription
GET/v1/dashboard/summaryKPIs with period-over-period comparison
GET/v1/dashboard/activityPaginated recent activity feed
GET/v1/dashboard/charts/memoriesTime series of memory creation
GET/v1/dashboard/charts/requestsTime series of API requests
GET/v1/dashboard/charts/tokensTime series of token consumption
GET/v1/dashboard/qualitySearch quality and token usage metrics
GET/v1/dashboard/categoriesMemory category distribution
GET/v1/dashboard/top-queriesMost frequent search queries
GET/v1/dashboard/alertsActionable workspace alerts
GET/v1/dashboard/search-diagnosisWorst-performing and zero-result queries

Common Query Parameters

Most endpoints accept these parameters for scoping the time window:

ParameterTypeDescription
workspace_idstring (UUID)Scope metrics to a specific workspace. Defaults to the workspace associated with the API key.
daysnumberRolling time window in days (e.g., 7, 30, 90). Used by summary and most chart endpoints.
start_datestring (ISO 8601)Start of the date range (alternative to `days`)
end_datestring (ISO 8601)End of the date range
granularityenumChart granularity: `day`, `week`, or `month`

Dashboard Summary

GET/v1/dashboard/summary
API Key

KPIs with comparison to the previous period and quota usage

curl "https://api.memsolus.com/v1/dashboard/summary?days=30" \
-H "X-Api-Key: msk_live_..."
200Success
{
"period": {
"start": "2026-05-08T00:00:00.000Z",
"end": "2026-06-07T23:59:59.000Z"
},
"memories": {
"current": 142,
"previous_period": 130,
"delta_pct": 9.23,
"direction": "UP",
"target": 500,
"status": "OK"
},
"requests": {
"current": 1840,
"previous_period": 1650,
"delta_pct": 11.52,
"direction": "UP",
"target": 10000,
"status": "OK"
},
"search_quality": {
"current": 0.87,
"previous_period": 0.82,
"delta_pct": 6.1,
"direction": "UP",
"target": 0.9,
"status": "WARNING"
},
"zero_result_rate": {
"current": 0.03,
"previous_period": 0.05,
"delta_pct": -40.0,
"direction": "DOWN"
},
"quota": {
"memories_used": 142,
"memories_limit": 500,
"requests_used": 1840,
"requests_limit": 10000,
"tokens_used": 48000,
"tokens_limit": 100000
}
}

KPI status values: OK, WARNING, CRITICAL. Status is determined relative to the target for each KPI.

Delta direction: UP or DOWN relative to the previous period. For zero_result_rate, DOWN is positive.


Activity Feed

GET/v1/dashboard/activity
API Key

Paginated feed of recent workspace events

ParameterTypeDescription
limitnumberNumber of events to return, max 100 (default: 20)
pagenumberPage number (default: 1)
curl "https://api.memsolus.com/v1/dashboard/activity?limit=10" \
-H "X-Api-Key: msk_live_..."
200Success
{
"data": [
{
"id": "evt-uuid-1",
"event_type": "memory.created",
"label": "Memory created",
"user_id": "user-123",
"resource_id": "mem-uuid-here",
"created_at": "2026-06-07T14:30:00.000Z"
},
{
"id": "evt-uuid-2",
"event_type": "knowledge.updated",
"label": "Knowledge base updated",
"user_id": "user-123",
"resource_id": null,
"created_at": "2026-06-07T14:28:00.000Z"
}
],
"total": 48,
"page": 1,
"page_size": 10
}

Memories Chart

GET/v1/dashboard/charts/memories
API Key

Time series of memory creation grouped by granularity

ParameterTypeDescription
daysnumberRolling time window in days (default: 30)
granularityenumBucket size: `day` (default), `week`, or `month`
curl "https://api.memsolus.com/v1/dashboard/charts/memories?days=30&granularity=day" \
-H "X-Api-Key: msk_live_..."
200Success
[
{ "date": "2026-06-01", "count": 12 },
{ "date": "2026-06-02", "count": 8 },
{ "date": "2026-06-03", "count": 21 },
{ "date": "2026-06-04", "count": 5 }
]

Requests Chart

GET/v1/dashboard/charts/requests
API Key

Time series of API requests grouped by granularity

curl "https://api.memsolus.com/v1/dashboard/charts/requests?days=7&granularity=day" \
-H "X-Api-Key: msk_live_..."
200Success
[
{ "date": "2026-06-01", "count": 234 },
{ "date": "2026-06-02", "count": 198 },
{ "date": "2026-06-03", "count": 312 }
]

Tokens Chart

GET/v1/dashboard/charts/tokens
API Key

Time series of token consumption (input + output)

curl "https://api.memsolus.com/v1/dashboard/charts/tokens?days=30" \
-H "X-Api-Key: msk_live_..."
200Success
[
{ "date": "2026-06-01", "input_tokens": 4200, "output_tokens": 1800, "total": 6000 },
{ "date": "2026-06-02", "input_tokens": 3800, "output_tokens": 1500, "total": 5300 },
{ "date": "2026-06-03", "input_tokens": 6100, "output_tokens": 2400, "total": 8500 }
]

Quality Metrics

GET/v1/dashboard/quality
API Key

Search quality scores and token usage per operation type

ParameterTypeDescription
daysnumberRolling time window in days (default: 30)
curl "https://api.memsolus.com/v1/dashboard/quality?days=30" \
-H "X-Api-Key: msk_live_..."
200Success
{
"avg_search_score": 0.87,
"zero_result_rate": 0.03,
"total_searches": 1240,
"token_usage_by_operation": {
"embedding": { "input": 42000, "output": 0 },
"enrichment": { "input": 18000, "output": 6000 },
"consolidation": { "input": 9000, "output": 3000 }
}
}

Category Distribution

GET/v1/dashboard/categories
API Key

Distribution of memories across categories

curl "https://api.memsolus.com/v1/dashboard/categories?days=30" \
-H "X-Api-Key: msk_live_..."
200Success
{
"categories": [
{ "name": "architecture", "count": 47, "pct": 33.1 },
{ "name": "preferences", "count": 38, "pct": 26.8 },
{ "name": "security", "count": 22, "pct": 15.5 },
{ "name": "tech-stack", "count": 18, "pct": 12.7 },
{ "name": "uncategorized", "count": 17, "pct": 12.0 }
],
"total": 142
}

Top Queries

GET/v1/dashboard/top-queries
API Key

Most frequent search queries by count and average relevance score

ParameterTypeDescription
daysnumberRolling time window in days (default: 30)
limitnumberNumber of queries to return, max 100 (default: 20)
curl "https://api.memsolus.com/v1/dashboard/top-queries?days=30&limit=10" \
-H "X-Api-Key: msk_live_..."
200Success
{
"data": [
{ "query": "authentication setup", "count": 84, "avg_score": 0.91 },
{ "query": "deployment process", "count": 61, "avg_score": 0.88 },
{ "query": "database schema", "count": 47, "avg_score": 0.84 }
],
"total": 3
}

Alerts

GET/v1/dashboard/alerts
API Key

Actionable alerts derived from KPIs and usage trends

ParameterTypeDescription
daysnumberTime window for deriving alerts (default: 30)
curl "https://api.memsolus.com/v1/dashboard/alerts?days=30" \
-H "X-Api-Key: msk_live_..."
200Success
[
{
"type": "QUOTA_WARNING",
"severity": "WARNING",
"title": "Approaching memory limit",
"message": "You have used 142 of 500 memories (28.4%). At the current growth rate, you will reach the limit in approximately 45 days.",
"created_at": "2026-06-07T00:00:00.000Z"
},
{
"type": "SEARCH_QUALITY_DROP",
"severity": "INFO",
"title": "Search quality below target",
"message": "Average search score is 0.87, below the target of 0.90. Consider reviewing your top queries.",
"created_at": "2026-06-07T00:00:00.000Z"
}
]

Search Diagnosis

GET/v1/dashboard/search-diagnosis
API Key

Queries with the worst average scores and queries returning zero results

ParameterTypeDescription
daysnumberRolling time window in days (default: 30)
limitnumberNumber of queries per list (default: 10)
curl "https://api.memsolus.com/v1/dashboard/search-diagnosis?days=30" \
-H "X-Api-Key: msk_live_..."
200Success
{
"worst_queries": [
{ "query": "legacy migration plan", "count": 12, "avg_score": 0.31 },
{ "query": "terraform configuration", "count": 7, "avg_score": 0.44 }
],
"zero_result_queries": [
{ "query": "kubernetes helm charts", "count": 5 },
{ "query": "github actions workflow", "count": 3 }
]
}

Use the zero_result_queries list to identify gaps in your memory base. Queries that consistently return zero results are candidates for new memory creation.