Dashboards
Explore the API
Launch the OpenAPI Explorer to browse the live REST specs, inspect request and response schemas, and execute calls against your environment with an API key.
Dashboard endpoints let you hydrate the backend dashboard UI, customize layouts, and introspect widget availability per user or role.
export BASE_URL="http://localhost:3000/api"
export API_KEY="<paste your API key secret here>"
export WIDGET_ID="<dashboard item uuid>"
export ROLE_ID="<role uuid>"
export USER_ID="<user uuid>"
Mint an API key with dashboard features as described in Managing API keys before running these requests.
Fetch Layout — GET /dashboards/layout
Feature: dashboard.widgets.view
curl -X GET "$BASE_URL/dashboards/layout" \
-H "X-Api-Key: $API_KEY" \
-H "Accept: application/json"
Response (trimmed):
{
"widgets": [
{
"id": "8f221a66-08c3-4ef8-92af-dfb5eca80a2f",
"definitionId": "core.stats.summary",
"grid": { "x": 0, "y": 0, "w": 4, "h": 3 },
"config": { "range": "30d" }
}
]
}
Update Layout — PUT /dashboards/layout
Feature: dashboard.widgets.manage
curl -X PUT "$BASE_URL/dashboards/layout" \
-H "X-Api-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"widgets": [
{
"id": "8f221a66-08c3-4ef8-92af-dfb5eca80a2f",
"definitionId": "core.stats.summary",
"grid": { "x": 0, "y": 0, "w": 6, "h": 4 },
"config": { "range": "90d" }
}
]
}'
Response:
{ "ok": true }
Retrieve Widget — GET /dashboards/layout/{itemId}
Feature: dashboard.widgets.view
curl -X GET "$BASE_URL/dashboards/layout/$WIDGET_ID" \
-H "X-Api-Key: $API_KEY" \
-H "Accept: application/json"
Response:
{
"id": "8f221a66-08c3-4ef8-92af-dfb5eca80a2f",
"definitionId": "core.stats.summary",
"grid": { "x": 0, "y": 0, "w": 6, "h": 4 },
"config": { "range": "90d" }
}
Delete Widget — DELETE /dashboards/layout/{itemId}
Feature: dashboard.widgets.manage
curl -X DELETE "$BASE_URL/dashboards/layout/$WIDGET_ID" \
-H "X-Api-Key: $API_KEY" \
-H "Accept: application/json"
Response:
{ "ok": true }
Role Widgets — GET /dashboards/roles/widgets
Feature: dashboard.widgets.view
Use this endpoint to preview which widgets a role will expose.
curl -X GET "$BASE_URL/dashboards/roles/widgets?roleId=$ROLE_ID" \
-H "X-Api-Key: $API_KEY" \
-H "Accept: application/json"
Sample response:
{
"items": [
{
"definitionId": "core.stats.summary",
"title": "Summary",
"description": "Key metrics for the tenant"
}
]
}
User Widgets — GET /dashboards/users/widgets
Feature: dashboard.widgets.view
curl -X GET "$BASE_URL/dashboards/users/widgets?userId=$USER_ID" \
-H "X-Api-Key: $API_KEY" \
-H "Accept: application/json"
Response mirrors the role endpoint but reflects direct user overrides. Combine both responses to build a complete widget catalog for custom dashboards.