Dashboards
Create dashboard
Authorization
API key Dashboards: writeAuthorizationBearer <token>
API key (sf_...) with any of the required scopes. Generate it in the Spotflow portal on the settings page.
In: header
Scope: Dashboards: write
Path Parameters
workspaceId*string
Format
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
name*string
description?null|string
definition*JsonElement
Response Body
application/json
application/problem+json
curl -X POST "https://example.com/workspaces/00000000-0000-0000-0000-000000000001/dashboards" \ -H "Content-Type: application/json" \ -d '{ "name": "Smart locks analytics", "description": "Monitors the behavior of the smart lock product.", "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" } } } } ] } }'Created dashboard.
{ "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" } } } } ] }}