DashboardsDigital Signs
Update dashboard digital signs
Replace all digital signs on a dashboard.
PUT /app/dashboards/{id}/digital-signs
Full replacement of the dashboard's digitalSigns array. Send the complete list on every save.
For per-sign logos, use upload-url to upload the image first, then include both logoKey and logoUrl from that response on the sign in this request.
Path parameters
| Parameter | Description |
|---|---|
id | The UUID of the dashboard. |
Request
See API Basics for required headers.
Request body
Full replacement of the signs array. Each sign object uses the same fields as Get dashboard digital signs under signs[].
| Field | Type | Required | Description |
|---|---|---|---|
signs | array | Yes | Complete list of digital signs for the dashboard. |
Validation
path— lowercase URL segment (1–48 chars); unique per dashboard; reserved paths rejected.darkMode— required boolean; controls light vs dark sign display (defaultfalsefor new signs).components— only component IDs wired on this dashboard.signs.length— must not exceedsignsPerDashboardplan limit.
Sample request
curl -X PUT https://api.statusdashboard.com/app/dashboards/a1b2c3d4-e5f6-7890-abcd-ef1234567890/digital-signs \
-H "Authorization: Bearer bcf847abf5c6:def456" \
-H "Content-Type: application/json" \
-d '{
"signs": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"path": "noc-lobby",
"enabled": true,
"title": "NOC Overview",
"message": "",
"compact": false,
"darkMode": false,
"groups": {
"enabled": true,
"items": [{ "id": "660e8400-e29b-41d4-a716-446655440001", "name": "Edge", "order": 1 }]
},
"components": {
"770e8400-e29b-41d4-a716-446655440002": { "displayOrder": 1, "groupId": "660e8400-e29b-41d4-a716-446655440001" }
}
}
]
}'Sample response
Status: 200 OK
{
"signs": [ /* updated array */ ]
}Error responses
| Status | When |
|---|---|
400 | Validation failure, unknown component, or logo fields without custom branding. |
403 | Feature disabled or over plan quota. |
404 | Dashboard not found. |

