Dashboards

Get dashboard

GET
/workspaces/{workspaceId}/dashboards/{dashboardId}

Authorization

API key Dashboards: read
AuthorizationBearer <token>

API key (sf_...) with any of the required scopes. Generate it in the Spotflow portal on the settings page.

In: header

Scope: Dashboards: read

Path Parameters

workspaceId*string
Formatuuid
dashboardId*string

Response Body

application/json

application/problem+json

curl -X GET "https://example.com/workspaces/00000000-0000-0000-0000-000000000001/dashboards/j5Vd71rKw4Xc"

Dashboard detail including its definition.

{  "id": "j5Vd71rKw4Xc",  "name": "Smart locks analytics",  "description": "Monitors the behavior of the smart lock product.",  "createdAt": "2026-01-04T08:00:00+00:00",  "updatedAt": "2026-01-11T16:42:00+00:00",  "creatorSubjectId": "00000000-0000-0000-0000-0000000000aa",  "updaterSubjectId": "00000000-0000-0000-0000-0000000000bb",  "definition": {    "version": 1,    "widgets": [      {        "id": "0c1d500a-e457-4bd2-98ee-9e86cec88148",        "name": "Unlocks by mechanism",        "description": "",        "query": {          "type": "queryBuilder",          "queryBuilderDefinition": {            "metricName": "sample_unlock_attempt",            "filters": [],            "connectors": [],            "summarize": {              "groupBy": [                "mechanism"              ],              "aggregation": "count"            }          }        },        "position": {          "x": 0,          "y": 0,          "width": 3,          "height": 6        },        "visualizationOptions": {          "type": "bar",          "stacked": true,          "series": {            "type": "dynamic",            "valueColumn": {              "type": "number",              "dimensionName": "value"            },            "xAxisColumn": {              "type": "time",              "dimensionName": "timestamp"            }          }        }      }    ]  }}