Devices

Update a device

The same settings as the device page. Keys the device cannot take (custom dimensions on a fixed-size model, appearance on a native device) are dropped; a native device can only switch between the OG models.

patch/api/devices/{id}

Request

  • Base URL: https://trmnl.com
  • URL: https://trmnl.com/api/devices/{id}
  • Auth: HTTP bearer

Request body

namestring
refresh_intervalinteger

Seconds between check-ins, 300 to 86400

orientationinteger
sleep_mode_enabledboolean
sleep_screen_enabledboolean
sleep_start_timeinteger

Minutes after midnight, 0 to 1439

sleep_end_timeinteger

Minutes after midnight, 0 to 1439

sleep_untilstring nullable

Sleep once, from the next check-in until this ISO 8601 time (at most a year out); no offset means the account time zone, null cancels. Any later check-in, such as a button press, wakes the device

ota_enabledboolean
low_battery_notification_enabledboolean
low_battery_notification_emailstring nullable
low_battery_screen_disabledboolean
percent_chargednumber
visibility'standalone' | 'sharable'
model_idinteger

listModels; a BYOD device can take any model

firmware_channel'development' | 'test' | 'staging' | 'production'
special_functionstring nullable
touchbar_mode'tap' | 'swipe'
temperature_profile'default' | 'a' | 'b'
waits_for_next_renderboolean
refreshing_screen_disabledboolean
maximum_compatibilityboolean
guest_mode_item_idinteger nullable
guest_mode_item_durationinteger nullable
palette_idstring

listPalettes

font_familystring
text_scale'small' | 'regular' | 'large' | 'xlarge'
themestring
auto_advanceboolean

Beta: may change or go away. false keeps the current screen until a button press; taken only when management.writable_fields lists it

playlist_item_ttl24 | 48 | 72 | 96 | 120 | 144 | 168 nullable

Hours a playlist item can go without a new screen before it is skipped; null never skips

custom_widthinteger

byod_custom model only

custom_heightinteger

byod_custom model only

custom_formatstring

byod_custom model only

framework_size'sm' | 'md' | 'lg'

byod_custom model only

maximum_image_bytesinteger

byod_custom model only

dither_pixel_rationumber

byod_custom model only

scale_factornumber

BYOD only

ui_scalenumber

BYOD only

rotateinteger

Example request

{
  "name": "Kitchen TRMNL",
  "refresh_interval": 900,
  "sleep_mode_enabled": true,
  "sleep_screen_enabled": true,
  "sleep_start_time": 1320,
  "sleep_end_time": 480,
  "sleep_until": "2026-10-01T17:00",
  "ota_enabled": true,
  "low_battery_notification_enabled": true,
  "percent_charged": 69,
  "palette_id": "bw",
  "font_family": "classic"
}

Response

Updated

Example response

{
  "data": {
    "id": 123,
    "name": "My TRMNL",
    "friendly_id": "ABC-123",
    "mac_address": "••:••:••:••:9A:BC",
    "firmware_version": "1.8.14",
    "firmware_channel": "production",
    "ota_enabled": true,
    "pinned_firmware_version": "1.8.14",
    "battery_voltage": 3.7,
    "rssi": -70,
    "wifi_band": "5",
    "refresh_interval": 900,
    "sleep_screen_enabled": true,
    "low_battery_notification_enabled": true,
    "sleep_start_time": 1320,
    "sleep_end_time": 480,
    "sleep_until": "2026-10-01T15:00:00.000Z",
    "last_ping_at": "2026-03-31T14:30:00.000Z",
    "hardware_last_ping_at": "2026-03-31T14:30:00.000Z",
    "percent_charged": 85,
    "wifi_strength": 75,
    "mashup_layouts": {
      "1Lx1R": [
        "a",
        "b"
      ],
      "2x2": [
        "a",
        "b",
        "c",
        "d"
      ]
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.