Docs·Dashboards
PUT
/api/v1/spreelytics/dashboards/:dashboardIdRename a dashboard
Renames a dashboard. The name is the only thing a dashboard holds, so it is the only field, and you must send it: a body without name answers 400 ("Nothing to update"), even though the schema marks it optional. The reports on the board are not touched.
It answers 404 when the id is not a dashboard in this audience. Needs the Editor or Admin role in the workspace that owns the audience. A Viewer gets 403.
Keys: an account key. Getting started explains both kinds.
Parameters
| Prop | In | Type | Notes |
|---|---|---|---|
dashboardId | path | string | The dashboard id. |
contactListId | query | string | The audience id, a UUID. With an audience key it must be that key's own audience. |
Request body
| Prop | Type | Notes |
|---|---|---|
name? | string | The new name. Trimmed, and a blank name answers 400. |
Response
| Prop | Type | Notes |
|---|---|---|
id | string | The dashboard id. |
name | string | The name as saved, trimmed. |
createdAt | string | When it was created. Only the create call answers in ISO 8601 (2026-09-30T09:00:00.000Z). Every other call returns the database form (2026-09-30 09:00:00+00), so parse both. |
updatedAt | string | When it last changed. Create and update calls answer in ISO 8601, lists and reads in the database form, as with createdAt. |
Request
curl -X PUT 'https://app.spreelytics.com/api/v1/spreelytics/dashboards/:dashboardId?contactListId=…' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{ … }'
const res = await fetch('https://app.spreelytics.com/api/v1/spreelytics/dashboards/:dashboardId', {
method: 'PUT',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ /* see Request body above */ }),
});
const data = await res.json();
import requests
res = requests.put(
"https://app.spreelytics.com/api/v1/spreelytics/dashboards/:dashboardId",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={}, # see Request body above
)
data = res.json()
Response
{
"id": "string",
"name": "string",
"createdAt": "string",
"updatedAt": "string"
}