Device telemetry API: only latest event available — historical and range queries not supported
Android
Title: Device telemetry API returns only the latest event — no historical range queriesWhen querying the Esper device telemetry API, only the most recent status snapshot is returned, regardless of the query parameters used. Attempts to retrieve historical data or filter by time range return the same single event, and the /api/v2/devices/{device_id}/telemetry/ endpoint returns no data at all.
Why this happens
The device status API is designed to report current device state, not to store or serve event history. Both ?latest_event=1 and ?latest_event=0 resolve to the same most-recent snapshot because the endpoint holds only one record per device at a time. The /api/v2/devices/{device_id}/telemetry/ path is not a supported endpoint and cannot be activated through any API key configuration.
What the status API returns
The supported endpoint returns current-state values only. Available fields include:
- Battery temperature, current, voltage, and charging state
- Cellular signal strength
- RAM and storage usage
- CPU statistics
Pagination, time-range filtering, and historical event windows are not available through the API.
Retrieve current device status via the API
- Make a
GETrequest to the supported status endpoint:
ReplaceGET /api/enterprise/{eid}/device/{device_id}/status/?latest_event=1{eid}with your enterprise ID and{device_id}with the target device ID. - Confirm the response body contains the telemetry fields required for your use case. If specific fields such as cellular signal or CPU statistics are absent, field availability varies by device hardware and installed Esper Agent version — see Missing telemetry fields below.
200 with a JSON body containing at minimum battery and storage fields. The values reflect the device's state at the time of its last check-in.
View historical device health trends in the Esper Console
If trend analysis over time is required, the Device Graphs view in the Esper Console is the only supported interface for historical hardware-health data.
- In the Esper Console, navigate to Devices & Groups and select the target device.
- Open the Graphs tab on the device detail page.
- Review historical trends for battery, CPU, RAM, storage, temperature, and cellular signal across the available time window.
Avoid rate limiting when polling large fleets
For fleets with thousands of devices, polling the status endpoint at high frequency may trigger rate limiting. Use the longest polling interval your monitoring requirements allow rather than polling continuously. Stagger requests across devices rather than querying all devices simultaneously.
If telemetry fields are missing from the response
If expected fields are absent for specific devices, collect the following before contacting support:
- Device ID and enterprise ID
- Device OEM and model
- Esper Agent version (visible under Devices & Groups → [Device Name] → Device Info)
- The full API response body showing the missing fields
If a 403 Forbidden error is returned
A 403 Forbidden response on GET /api/enterprise/{eid}/device/{device_id}/status/ indicates the API key does not have the required permission scopes. Contact Esper Support with your enterprise ID and the API key identifier so the scopes can be reviewed.
If this doesn't resolve it
If the status endpoint returns unexpected results, fields remain missing after verifying hardware compatibility, or you need to discuss historical data requirements for compliance or reporting purposes, submit a request to Esper Support. Include your enterprise ID, the target device ID, the full API response, and a description of the data you need.
Still need help?
If the steps above don't resolve the issue, submit a support ticket with your device model, Android version, Esper Agent version, and a description of what you've already tried — this helps the support team investigate without a follow-up.
Please sign in to leave a comment.
Comments
0 comments