---
title: "Get details of Current Device State"
method: GET
path: "/device/v0/devices/{id}/devicestate"
tags: ["device_Device"]
---

# Get details of Current Device State

`GET /device/v0/devices/{id}/devicestate`

Retrieves the current settings and state snapshot for a single device.

Returns the DeviceSettings object representing the device's live configuration state, distinct from the broader device record returned by the main device detail endpoint.

**About Get Device State**

While GET /device/v0/devices/{id}/ returns a device's overall record (hardware, OS, blueprint assignment, and so on), this endpoint returns its current settings state specifically. It's a lighter-weight check when the only thing you need is the device's live configuration snapshot rather than its full profile.

**Common Use Cases**

Checking a device's current settings state without pulling its full device record

Confirming a configuration change has actually taken effect on the device

**Best Practices**

Use this endpoint instead of the full device detail endpoint when polling repeatedly for state changes, to reduce response size

Compare the returned state against the blueprint version a device was converged to, to confirm the Converge action applied as expected

**Workflow**

Obtain the device id

Call this endpoint to retrieve its current state

Compare against the expected blueprint or command outcome to confirm the change took effect

## Path parameters

- `id` string, uuid, required

## Response `200`

Details of the current device state

- DeviceDeviceSettings
  - `gps_state` 'LOCATION_MODE_HIGH_ACCURACY' | 'LOCATION_MODE_SENSORS_ONLY' | 'LOCATION_MODE_BATTERY_SAVING' | 'LOCATION_MODE_OFF' | 'LOCATION_MODE_ON' — GPS state of the device
  - `wifi_state` boolean — WiFi state of the device
  - `adb_enabled` boolean — ADB state of the device
  - `adb_timeout` integer — ADB timeout value for the device
  - `remote_adb_enabled` boolean — Remote ADB state for the device
  - `remote_adb_ip` string — Remote ADB IP for the device
  - `remote_adb_port` integer — Remote ADB port for the device
  - `audio_settings` object — Different Audio types and respective values
  - `rotation_state` 'AUTO' | 'PORTRAIT_ONLY' | 'LANDSCAPE_ONLY' | 'INVERTED_PORTRAIT_ONLY' | 'INVERTED_LANDSCAPE_ONLY' — Display rotation of the device
  - `bluetooth_state` boolean — Bluetooth state of device
  - `brightness_scale` integer — Brightess value for the device it will be in range 0 to 100
  - `screen_off_timeout` integer — Device screen off timeout
  - `use_only_saved_ap` boolean — Whether device is allowed to connect to only saved Wifi APs

## Other responses

- `400` — Bad Request
- `401` — Authorization information is missing or invalid.
- `404` — Not found
- `500` — Internal Server Error

---

[API](https://skmtc.net/esper/apis/esper-api-reference.md) · [All operations](https://skmtc.net/esper/apis/esper-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/esper/esper-api-reference/revisions/e1f64cbb488e/schema)
