Docs·Workspace
PUT
/api/v1/spreelytics/references/:referenceIdUpdate a reference
Changes a reference. Send only the fields to change: "description": null clears the note, and "color": null goes back to the default colour.
It answers 404 when the id is not a reference 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 |
|---|---|---|---|
referenceId | path | string | The reference 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 |
|---|---|---|
title? | string | Optional. Trimmed, and a blank title answers 400. |
description? | string | Optional. null or an empty string clears it. |
date? | string | Optional. A new moment, read as on create. |
color? | string | Optional. A preset var(--chart-N), a #rrggbb hex, or null for the default colour. |
Response
| Prop | Type | Notes |
|---|---|---|
id | string | The reference id. |
title | string | The label shown on the marker. |
description | string | The longer note, or null. |
date | string | The marked moment. Create and update calls answer in ISO 8601, the list in the database form (2026-09-30 09:00:00+00). |
color | string | The marker colour: a preset such as var(--chart-1), a #rrggbb hex, or null for the default colour. |
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/references/:referenceId?contactListId=…' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{ … }'
const res = await fetch('https://app.spreelytics.com/api/v1/spreelytics/references/:referenceId', {
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/references/:referenceId",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={}, # see Request body above
)
data = res.json()
Response
{
"id": "string",
"title": "string",
"description": "string",
"date": "string",
"color": "string",
"createdAt": "string",
"updatedAt": "string"
}