devices

Description

The /devices endpoint enables retrieval of a user's device information, including G6, and G7 standalone receivers and the G6, and G7, Dexcom ONE, and Dexcom ONE+ mobile apps, and transmitters. The response is an array of all receiver-type devices contributing data to the specified time window, including the alerts and settings associated with each receiver. Scopes and Access

Resource

GET /v3/users/self/devices

Authorization

OAuth 2.0 bearer token; see the Authentication section for details on this workflow.

Query Parameters

There are no query parameters for the devices endpoint. The response will return all devices associated with a Dexcom account along with the settings for each device.

Notes

The unit enumerations vary between endpoints. For devices, the values are as follows:

  • unknown
  • grams
  • mg/dL
  • mmol/L
  • mg/dL/min
  • mmol/L/min
  • minutes
  • units

For the systemTime and displayTime response fields, records sourced from mobile apps (with displayDevice of “iOS” or “android”) will have UTC offsets; records sourced from receivers (with displayDevice of “receiver”) will not have UTC offsets.

SecurityBearerAuth
Responses
200

Ok

Response Schema: application/json
recordType
required
string

The type of records that will be returned in this response. Example: “device”

recordVersion
required
string

The version of records that will be returned in this response. Example: “3.0”

userId
required
string

This ID is unique on a per-Dexcom account, per-client basis, and will thus not be the same for a user across clients (even if the clients are owned by the same developer).

required
Array of objects (com.dexcom.partner.api.models.proto.v3.device.Device)

Array of devices. The size of the array will be zero if there are no devices. Example: devices[]

Array
lastUploadDate
required
string <date-time>

Server timestamp, in UTC, of last upload event for the device that contributed data in the specified time window; note that this may be outside the range defined by the startDate and endDate query parameters.

transmitterId
string or null

A hashed and encrypted version of the unique ID of the transmitter. This may be used to determine uniqueness of transmitter or associate multiple records with the same transmitter, but it cannot be matched to the real transmitter ID.

transmitterGeneration
required
string

The generation of transmitter that was associated with this upload.

Enum: "unknown" "g4" "g5" "g6" "g6+" "dexcomPro" "g7"
displayDevice
required
string

Type of display device used to receive the transmitter signal. Enum: "unknown""receiver" "iOS" "android"

displayApp
string or null

App that is installed on display Device. For example, G6, G7, DexcomOne, D1G7.

required
Array of objects (com.dexcom.partner.api.models.proto.v3.alert_schedule.DeviceAlertSchedule)

Array of alert schedules and settings for the device as of the lastUploadDate.

Array
required
object (com.dexcom.partner.api.models.proto.v3.alert_schedule.DeviceAlertScheduleSettings)
alertScheduleName
required
string

Name of the alert schedule

isEnabled
required
boolean

If the user has enabled the alert schedule setting on their display device (This refers specifically to a timed schedule. If the user doesn't have a timed schedule enabled, then this will be false)

isDefaultSchedule
required
boolean

The "default" schedule means that these alert schedule settings are used, if no other alert schedule exists.

startTime
required
string

The time of day that this alert schedule starts

endTime
required
string

The time of day that this alert schedule ends

daysOfWeek
required
Array of strings

An array containing the days of the week this alert schedule value applies to; this array must contain one (or more) of the following strings in English

Items Enum: "sunday" "monday" "tuesday" "wednesday" "thursday" "friday" "saturday"
isActive
boolean or null

Is this schedule/profile currently active and being used to detect glucose alert changes

object (com.dexcom.partner.api.models.proto.v3.alert_schedule.OverrideSetting)
isOverrideEnabled
boolean or null
mode
string or null
Enum: "unknown" "quiet" "vibrate"
endTime
string or null
required
Array of objects (com.dexcom.partner.api.models.proto.v3.alert_schedule.DeviceAlertSetting)

Array of alert settings for the device as of the lastUploadDate

Array
alertName
required
string

Name of alert:

  • high: triggers on a glucose value that crosses the High value
  • low: triggers on a glucose value that crosses the Low value
  • rise: triggers on a glucose rate that crosses a Rise Rate value
  • fall: triggers on a glucose rate that crosses a Fall Rate value
  • urgentLow: triggers on a glucose value that crosses the Urgent Low value
  • urgentLowSoon: triggers when system is predicting the user will fall below the Urgent Low value in the near future
  • outOfRange: triggers an alert when the display is out of communication range after the programmed delay; corresponds to the Signal Loss alert
  • noReadings: triggers when the display device stops receiving EGV data from the transmitter for a certain amount of time; corresponds to the No Readings alert
Enum: "unknown" "high" "low" "rise" "fall" "outOfRange" "urgentLow" "urgentLowSoon" "noReadings" "fixedLow"
value
integer or null <int32>

The value at which the alert is set (nullable)

  • For "high" alert: 120 - 400 mg/dL in 10 mg/dL increments
  • For "low" alert: 60 - 100 mg/dL in 5 mg/dL increments
  • For "rise" alert: 2 or 3 mg/dL/min
  • For "fall" alert: 2 or 3 mg/dL/min
  • For "outOfRange" alert: 20 - 240 minutes
  • For "fixedLow" alert: 55 mg/dL (not user-editable)
unit
string or null

Unit of measurement for the alert value. Enum: "mg/dL" "mmol/L" "mg/dL/min" "mmol/L/min" "minutes"

snooze
integer or null <int32>

Time (in minutes) before resuming alarming after the alert has been acknowledged and cleared.

enabled
required
boolean

Indication of whether or not the alert is enabled on the device.

systemTime
string or null <date-time>

Time according to the system clock when alert setting was last adjusted by the user; nominally UTC.

displayTime
string or null <date-time>

Display time when alert setting was last adjusted by the user

delay
integer or null <int32>

Alert delay

secondaryTriggerCondition
integer or null <int32>

A secondary trigger that needs to be exceeded for the alert condition to be triggered. For "Rising Fast" and "Falling Fast", this is the mgdl value that must be exceeded for the alert to be triggered.

soundTheme
string or null

The name of the theme this sound applies to.

Enum: "unknown" "modern" "classic"
soundOutputMode
string or null

The sound output mode the user selected for this alert to sound with. Enum: "unknown" "sound" "vibrates" "match"

Enum: "unknown" "sound" "vibrate" "match"
get/v3/users/self/devices
Request samples
curl -i -X GET \
  https://api.dexcom.com/v3/users/self/devices \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
Response samples
application/json
{
  • "recordType": "device",
  • "recordVersion": "3.0",
  • "userId": "5b329ebcfbf2f0ba7e49d4c5eb57775468f5ee657ac16fcde07e1fd08197b4c7",
  • "records": [
    • {
      • "transmitterGeneration": "g7",
      • "displayDevice": "android",
      • "displayApp": "G7Android",
      • "lastUploadDate": "2021-11-09T15:57:34Z",
      • "alertSchedules": [
        • {
          • "alertScheduleSettings": {
            • "alertScheduleName": "",
            • "isEnabled": true,
            • "startTime": "00:00",
            • "endTime": "00:00",
            • "isActive": false,
            • "override": {
              • "isOverrideEnabled": true,
              • "mode": "quiet",
              • "endTime": "2021-07-05T10:49:22.123-07:00"
              },
            • "daysOfWeek": [
              • "sunday",
              • "monday",
              • "tuesday",
              • "wednesday",
              • "thursday",
              • "friday",
              • "saturday"
              ]
            },
          • "alertSettings": [
            • {
              • "systemTime": "2021-04-05T17:53:03Z",
              • "displayTime": "2021-04-05T10:52:48-06:59:59",
              • "alertName": "rise",
              • "value": 3,
              • "unit": "mg/dL/min",
              • "snooze": null,
              • "enabled": false,
              • "SecondaryTriggerCondition": 10,
              • "soundTheme": "modern",
              • "soundOutputMode": "matchPhone"
              },
            • {
              • "systemTime": "2021-04-05T17:52:47Z",
              • "displayTime": "2021-04-05T10:53:04-06:59:59",
              • "alertName": "high",
              • "value": 192,
              • "unit": "mg/dL",
              • "snooze": 75,
              • "enabled": true,
              • "SecondaryTriggerCondition": 184,
              • "soundTheme": "modern",
              • "soundOutputMode": "matchPhone"
              }
            ]
          }
        ],
      • "transmitterId": "d55d01d0341ed0ba2cd99b322e8c5b609254f47d10c7cd12b99b4922effeba44"
      }
    ]
}