Dashboards

Create dashboard

POST
/workspaces/{workspaceId}/dashboards

Authorization

API key Dashboards: write
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: write

Path Parameters

workspaceId*string
Formatuuid

Request 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"            }          }        }      }    ]  }}