Skip to content

Get All Device Details and Locations

This page assumes that the prerequisites to use have been met, and you have authenticated with Trimble ID. Reference documentation for all of the endpoints used is available here.


The current coordinates of a device can be found at GET /devices/{deviceId}/coordinates. If you already have a device ID, skip ahead to the final request.

Devices are grouped by the project and/or account that they reside in. This tutorial demonstrates the account-level requests, but an equivalent flow is available to get only the devices in a given project.

The overall flow is as follows:

  1. Get an account ID
  2. Get a list of devices in that account
  3. For each device, get its coordinates

The coordinates are a separate resource from the rest of the device details. This is because the location of a device is expected to change frequently as it moves around.

Use-cases like a dashboard can more efficiently check for each device’s up-to-date coordinates without re-fetching extra data.

You can get all available accounts by using GET /accounts, which returns:

{
"items": [
{
"id": "trn::profilex:us-west-2:account:854cffa4-7373-11f1-9d5e-c39c8f2ee466",
"name": "Charlie Trimble Consulting",
"links": { /* links omitted for brevity */ }
}
// other accounts will be listed here, if any are available
],
"pageIndex": 0,
"links": { /* links omitted for brevity */ }
}

The id field within each item in the list contains the account ID. Use that to request the devices in that account with GET /accounts/{accountId}/devices. This returns a paginated list of all devices in the account, in a similar shape to the previous response:

{
"items": [
{
"id": "trn::profilex:us-west-2:device:7b82b7f2-7373-11f1-b539-1f7cf99e6901",
"name": "EC520-1925",
"appName": "EC520",
"appVersion": "2.12.0",
"osName": "Android",
"osVersion": "7.0.1",
"locale": "en-US",
"associatedMachineId": "trn::profilex:us-west-2:device:7b82b7f2-7373-11f1-b539-1f7cf99e6901",
"links": { /* links omitted for brevity */ }
},
// other devices here
],
"pageIndex": 0,
"links": { /* links omitted for brevity */ }
}

As before, each item in this list contains an id field. You can use any id to make the following request: GET /devices/{deviceId}/coordinates. You will need to repeat this for each device individually. If you’re using a script, these requests can be made in parallel to save time.

Example output:

{
"deviceId": "trn::profilex:us-west-2:device:7b82b7f2-7373-11f1-b539-1f7cf99e6901",
"lat": -18.883762267986743,
"lon": 47.43835375121069,
"ellipsoidalHeight": 123.43499755859375,
"correctionSource": "Wifi,NetworkName",
"lastReportedAt": "2025-09-07T16:55:04.0000000+00:00",
"links": { /* links omitted for brevity */ }
}