Push images
Use the push endpoint to display a 64×32 image immediately or add it to a device's regular content rotation. PNG, WebP, and GIF inputs are supported.
/v1/devices/{deviceId}/pushDisplay a temporary image or create a persistent rotation entry.
POST /v1/devices/{deviceId}/push
Authorization: Bearer <API key>
Content-Type: application/json
Request body
| Field | Type | Required | Behavior |
|---|---|---|---|
image | string | Yes | Base64 or a PNG/WebP/GIF data URL. The image must be 64×32 and at most 192 KiB. PNG and GIF input is converted to lossless WebP. |
duration | number | No | Temporary display duration in seconds. Defaults to 5; allowed values are 5, 10, 15, 30, 35, 40, and 45. Ignored when installationId is present. |
installationId | string | No | Creates or updates a persistent entry in the device's rotation. |
background | boolean | No | When true, updates a persistent installation without displaying it immediately. Use with installationId. |
A successful request returns 200 {}. Invalid requests return 400, missing
devices return 404, and requests without permission to update the device
return 403.
Display a temporary image
Omit installationId to display the image immediately for a limited time. The
device resumes its regular rotation when the duration ends. A newer push
replaces any temporary image currently on the display.
{
"image": "data:image/webp;base64,<base64 WebP>",
"duration": 10
}
If you omit duration, the image is shown for 5 seconds.
Create a persistent installation
Include installationId to add the image to the device's content rotation.
Choose a stable identifier from your application so you can update or delete
the same installation later.
{
"image": "data:image/png;base64,<base64 PNG>",
"installationId": "daily-metrics"
}
The image is displayed immediately, then appears in the regular rotation. Its
initial display duration uses the device's configured scheduleInterval.
Sending another request with the same installationId replaces the existing
image.
To update the rotation without interrupting the current display, set
background to true:
{
"image": "data:image/png;base64,<base64 PNG>",
"installationId": "daily-metrics",
"background": true
}
Use the delete installation endpoint when you no longer want the image in the device's rotation.