Outcome
Composes the organization’s entitled services, launcher preferences, users and store icons.
Before you start
- Verify the intended environment, authenticated identity and explicitly authorized ownership context.
- This route checks credential-scoped ownership and source access at runtime; validate the exact plan and resource binding.
Discover the target
topolo whoami --json
topolo actions get app_topolo_one.dashboard.get --detail --json
Request
GET /api/dashboard
Input fields
| Field | Required | Meaning | Constraints |
|---|---|---|---|
org_id | Optional | Organization requested for composition, subject to the active credential’s ownership checks. | {"type":"string","minLength":1} |
Interpret the response
Inspect data.services, availableServices and appSwitcherPreferences separately. A service returned by this read is not evidence that a downstream launch or API call succeeded.
Inspect the declared output schema and captured variants.
Worked examples
Actual exported One Worker with local Miniflare D1/KV. Authentication, application discovery, checkout, billing and remote widget providers are controlled synthetic responses; outbound access is sealed. No live provider outcome is established.
Save the reviewed input below as payload.json; substitute discovered identifiers and bind credential/resource context separately. CLI:
topolo actions validate app_topolo_one.dashboard.get --data @payload.json --json
topolo actions plan app_topolo_one.dashboard.get --data @payload.json --json
topolo actions call app_topolo_one.dashboard.get --data @payload.json --detail --json
MCP planning and execution use the same reviewed input:
{
"tool": "topolo_prepare_action",
"arguments": {
"actionId": "app_topolo_one.dashboard.get",
"input": {}
}
}
{
"tool": "topolo_read_action",
"arguments": {
"actionId": "app_topolo_one.dashboard.get",
"input": {},
"detail": true
}
}
Successful response · HTTP 200
Input · payload.json:
{}
Captured response:
{
"data": {
"services": [
{
"id": "fixture_mail",
"app_id": "app_topolo_mail",
"service_name": "Mail",
"base_url": "https://mail.test",
"service_status": "active",
"enabled": 1
}
],
"availableServices": [],
"appSwitcherPreferences": {
"pinnedServiceIds": [
"fixture_mail"
]
},
"orgId": "org_int_1"
}
}
Inspect data.services, availableServices and appSwitcherPreferences separately. A service returned by this read is not evidence that a downstream launch or API call succeeded.
Refused request · HTTP 401 · auth_error
Input · payload.json:
{}
Captured response:
{
"error": "Token validation failed"
}
Authenticate using the required credential type for this action; service-only actions require the registered Auth service identity.
Verify the result
- Inspect data.services, availableServices and appSwitcherPreferences separately. A service returned by this read is not evidence that a downstream launch or API call succeeded.
Errors and recovery
auth_error(HTTP 401): Authenticate using the required credential type for this action; service-only actions require the registered Auth service identity.
These are observed local refusals; inspect the raw error body because one SDK code can represent several handler messages. Preserve the request id when available.
Recovery boundary
Re-read in the intended identity and organization context; inspect upstream availability for missing data.
Evidence
Actual exported One Worker with local Miniflare D1/KV. Authentication, application discovery, checkout, billing and remote widget providers are controlled synthetic responses; outbound access is sealed. No live provider outcome is established.