Skip to main content
GET
TRMNL display poll

Authorizations

Access-Token
string
header
required

Response

OK

Response to GET /api/display.

Tells the device what to draw next, how long to wait before checking again, and (optionally) whether to take firmware action.

image_url
string
required

Absolute URL the device should fetch and paint. Currently a Django view that streams the rendered 2-bit PNG.

filename
string
required

Suggested filename for the device's local cache (the device de-dupes by this name).

refresh_rate
integer
required

Seconds the device should wait before polling /api/display again. Bounded to [60s, 24h].

Required range: 60 <= x <= 86400
device_status
enum<string>
required

Closient-side lifecycle state of this device. Non-standard extension to the TRMNL response — TRMNL firmware ignores it; dashboards consume it for status badges.

Available options:
unclaimed,
claimed,
disabled
status
integer
default:0

TRMNL display status code. 0 means "image ready"; non-zero values are reserved for future TRMNL extensions.

reset_firmware
boolean
default:false

Whether the device should reset to first-boot state on next reboot. Unused in Phase 1.

update_firmware
boolean
default:false

Whether the device should fetch new firmware. Unused in Phase 1 — Closient does not host firmware images.

firmware_url
string
default:""

URL of new firmware to fetch when update_firmware is true. Empty in Phase 1.