Data & variables
THE CORE ENDPOINT
POST
/v1/displays/:id/dataMerge variable values into the displayvarsRequired. Key → value map, merged into existing vars — send only what changed.max 32 keysPer request. More returns 422.key patternLetters, digits, underscore and dots — [\w.]+unknown keyKeys with no matching {{key}} in the display text return 422. Checked across the text and every playlist message, including disabled ones.canvasCanvas displays do not read variables — any non-null value returns 422. null still deletes.valuesstring, number or null. null deletes the key.200 charsString values are truncated to 200 characters. applied.vars echoes the truncated values.curl -X POST https://useglowbit.com/api/v1/displays/YOUR_DISPLAY_ID/data \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "vars": { "number": "043" } }'RESPONSE · 200
{
"ok": true,
"display": "1KpZ2xN0aQ7RtY8uVw3Fb",
"applied": { "vars": { "number": "043" } },
"screens_notified": 2
}RESPONSE · 422
{
"error": {
"code": "validation_failed",
"message": "Unknown var 'counter' — no {{counter}} in display text"
}
}screens_notified is the number of live viewers connected at that moment — screens that are open re-render in under a second, screens that connect later pick up the new values on load.