### Refresh Token Response Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= This example shows the structure of a response when refreshing an access token. ```APIDOC ## Refresh Token Response ### Description This endpoint provides a new access token when using a valid refresh token. ### Response #### Success Response (200) - **access_token** (string) - Token to use for authenticated requests - **expires_in** (integer) - Token expiration in milliseconds - **token_type** (string) - Type of token - **refresh_token** (string) - Token to use to get a new access token ### Response Example ```json { "access_token": "{your_access_token}", "expires_in": 7200, "token_type": "Bearer", "refresh_token": "{your_refresh_token}", "refresh_expires_in": 0, "not-before-policy": "1726871301,", "session_state": "65a415bf-25ad-4e0a-8381-1b78db6a8ea7" } ``` ``` -------------------------------- ### Authentication Response Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= This example shows the structure of a successful authentication response, including access and refresh tokens. ```APIDOC ## Authentication Response ### Description This endpoint provides an access token and refresh token upon successful authentication. ### Response #### Success Response (200) - **access_token** (string) - Token to use for authenticated requests - **expires_in** (integer) - Token expiration in milliseconds - **token_type** (string) - Type of token - **refresh_token** (string) - Token to use to get a new access token ### Response Example ```json { "access_token": "{your_access_token}", "expires_in": 7200, "token_type": "Bearer", "refresh_token": "{your_refresh_token}", "refresh_expires_in": 0, "not-before-policy": "1726871301,", "session_state": "65a415bf-25ad-4e0a-8381-1b78db6a8ea7" } ``` ``` -------------------------------- ### Get Calibration Entries Source: https://developer.dexcom.com/docs/dexcomv3/endpoint-overview Retrieves calibration entries for the authenticated user. ```APIDOC ## GET /v3/users/self/calibrations ### Description Retrieves calibration entries for the authenticated user. ### Method GET ### Endpoint /v3/users/self/calibrations ### Query Parameters - **startDate** (string) - Required - ISO 8601 formatted UTC timestamp specifying the start of the time window. - **endDate** (string) - Required - ISO 8601 formatted UTC timestamp specifying the end of the time window. ### Response #### Success Response (200) - **calibrations** (array) - A list of calibration entries. ``` -------------------------------- ### Get Device Information Source: https://developer.dexcom.com/docs/dexcomv3/endpoint-overview Retrieves information about the devices associated with the authenticated user. ```APIDOC ## GET /v3/users/self/devices ### Description Retrieves information about the devices associated with the authenticated user. ### Method GET ### Endpoint /v3/users/self/devices ### Response #### Success Response (200) - **devices** (array) - A list of device information objects. ``` -------------------------------- ### Get Devices Source: https://developer.dexcom.com/docs/swaggerv3/other/getdevicesv3 Retrieves a list of all receiver-type devices contributing data to the specified time window, including their associated alerts and settings. ```APIDOC ## GET /v3/users/self/devices ### Description The /devices endpoint enables retrieval of a user's device information, including G6, and G7 standalone receivers and the G6, G7, G7 15-day, 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. ### Method GET ### Endpoint /v3/users/self/devices ### 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. ### Security OAuth 2.0 bearer token ### Response #### Success Response (200) - **devices** (array) - An array of device objects. - **connectionStatus** (string) - The connection status of the device. - **displayDevice** (string) - The type of device (e.g., "iOS", "android", "receiver"). - **firmwareVersion** (string) - The firmware version of the device. - **lastComunicationTimestamp** (string) - The timestamp of the last communication with the device. - **model** (string) - The model of the device. - **receiverSettings** (object) - Settings specific to receiver devices. - **alertSchedule** (object) - Schedule for device alerts. - **alertTones** (object) - Tones used for device alerts. - **displayUnits** (string) - The display units for glucose readings (e.g., "mg/dL", "mmol/L"). - **glucoseUnits** (string) - The units for glucose readings. - **highGlucoseThreshold** (integer) - The threshold for high glucose alerts. - **lowGlucoseThreshold** (integer) - The threshold for low glucose alerts. - **reminderSchedule** (object) - Schedule for device reminders. - **systemTime** (string) - The system time of the receiver. - **displayTime** (string) - The display time of the receiver. - **serialNumber** (string) - The serial number of the device. - **transmitterInfo** (object) - Information about the associated transmitter. - **expirationDate** (string) - The expiration date of the transmitter. - **serialNumber** (string) - The serial number of the transmitter. - **status** (string) - The status of the transmitter. - **lastSyncTimestamp** (string) - The timestamp of the last sync with the transmitter. ### 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. ``` -------------------------------- ### Get Alerts Source: https://developer.dexcom.com/docs/dexcomv3/endpoint-overview Retrieves alert events for the authenticated user. ```APIDOC ## GET /v3/users/self/alerts ### Description Retrieves alert events for the authenticated user. ### Method GET ### Endpoint /v3/users/self/alerts ### Query Parameters - **startDate** (string) - Required - ISO 8601 formatted UTC timestamp specifying the start of the time window. - **endDate** (string) - Required - ISO 8601 formatted UTC timestamp specifying the end of the time window. ### Response #### Success Response (200) - **alerts** (array) - A list of alert events. ``` -------------------------------- ### Get Calibrations Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= Retrieves a user's calibration events, which are used as a reference point for calculating EGV from the sensor signal. ```APIDOC ## GET /v3/users/self/calibrations ### Description The **/calibrations** endpoint enables retrieval of a user's calibration events. Calibration events are where the user enters the glucose value that they obtain from testing a fingerstick blood sample with their blood glucose meter into the CGM. These readings are used as a reference point for calculating EGV from the sensor signal. ![Calibration Mobile App Screen](https://storage.googleapis.com/g5-dexcom-prod-us-5-developer-portal-assets/images/G7_calibrations.png) ### Resource _**GET /v3/users/self/calibrations**_ ### Authorization OAuth 2.0 bearer token; see the [Authentication](https://developer.dexcom.com/docs/dexcom/authentication/) section for details on this workflow. ### Notes The **unit** enumerations vary between endpoints. For **calibrations**, the values are as follows: * **unknown** * **mg/dL** * **mmol/L** 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. Dexcom ONE does not support the /calibrations endpoint and will return an empty array. ### Parameters #### Query Parameters - **startDate** (string) - Required - Beginning of the time window; see the discussion of time in the [Endpoint Overview](https://developer.dexcom.com/docs/endpoint-overview) section for more details on how they relate to device information. - **endDate** (string) - Required - End of the time window. ### Response #### Success Response (200) - **calibrations** (com.dexcom.partner.api.models.proto.v3.calibration.CalibrationWrapper) - Description of the calibrations wrapper schema. #### Response Example (Refer to `#/components/examples/calibrations_v3` for example) ``` -------------------------------- ### Get Alerts Events Source: https://developer.dexcom.com/docs/swaggerv3/other/getalertseventsv3 Retrieves a list of alert events for the authenticated user within a specified time window. Supports filtering by start and end dates. ```APIDOC ## GET /v3/users/self/alerts ### Description Retrieves user alert records within a provided date range. This includes alerts triggered on a mobile app or receiver, such as glucose values (high/low) or system alerts (noReadings, outOfRange). ### Method GET ### Endpoint /v3/users/self/alerts ### Query Parameters - **startDate** (string, required) - Lower bound (inclusive) of the time window in which to look for data. Example: "2025-01-01T09:12:35" - **endDate** (string, required) - Upper bound (exclusive) of the time window in which to look for data. Example: "2025-01-01T09:12:35" ### Response 200 (application/json) - **recordType** (string, required) - The type of records returned. Example: "alert" - **recordVersion** (string, required) - The version of the records. Example: "3.0" - **userId** (string, required) - Unique identifier for the user on a per-Dexcom account, per-Client basis. - **records** (array, required) - Array of alert records. Empty if no alerts found. - **records.recordId** (string, required) - Unique ID (UUID) identifying the alert. - **records.systemTime** (string, required) - The recorded system time of the alert in UTC. Records from mobile apps have UTC offsets; receiver records do not. - **records.displayTime** (string, required) - The recorded display time of the alert as shown on the device. Records from mobile apps have UTC offsets; receiver records do not. - **records.alertName** (string, required) - The name of the alert. Enum: "unknown", "high", "low", "rise", "fall", "outOfRange", "urgentLow", "urgentLowSoon", "noReadings" - **records.alertState** (string, required) - The state of the alert. Enum: "unknown", "inactive", "activeSnoozed", "activeAlarming" - **records.displayDevice** (string, required) - The type of display device the alert originated from. Enum: "unknown", "receiver", "iOS", "android" - **records.transmitterGeneration** (string, required) - The generation of the associated transmitter. Enum: "unknown", "g6", "g6+", "g6Pro", "g7" - **records.transmitterGenerationVariant** (string, required) - The generation variant of the associated transmitter. Enum: "d1+", "g6", "g7", "g715day" - **records.transmitterId** (string, required) - A hashed and encrypted version of the unique transmitter ID. - **records.displayApp** (string, required) - The app installed on the display device. Example: "G6", "G7", "DexcomOne", "D1G7" ``` -------------------------------- ### Get User-Entered Events Source: https://developer.dexcom.com/docs/dexcomv3/endpoint-overview Retrieves user-entered events for the authenticated user. ```APIDOC ## GET /v3/users/self/events ### Description Retrieves user-entered events for the authenticated user. ### Method GET ### Endpoint /v3/users/self/events ### Query Parameters - **startDate** (string) - Required - ISO 8601 formatted UTC timestamp specifying the start of the time window. - **endDate** (string) - Required - ISO 8601 formatted UTC timestamp specifying the end of the time window. ### Response #### Success Response (200) - **events** (array) - A list of user-entered event objects. ``` -------------------------------- ### Get Devices Source: https://developer.dexcom.com/docs/swaggerv3 Retrieves a user's device information, including mobile apps and transmitters. The response includes alerts and settings for each receiver. ```APIDOC ## GET /v3/users/self/devices ### Description The /devices endpoint enables retrieval of a user's device information, including G6, and G7 standalone receivers and the G6, G7, G7 15-day, 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. ### Method GET ### Endpoint /v3/users/self/devices ### Authorization OAuth 2.0 bearer token ### 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. ``` -------------------------------- ### Get Devices Response Source: https://developer.dexcom.com/docs/swaggerv3/other/getdevicesv3 This snippet details the structure of a successful response (200 OK) when retrieving device information. It includes user-specific data, a list of records, and detailed information for each record such as transmitter details, display device information, and alert schedules. ```APIDOC ## Response 200 (application/json) ### Description Returns a list of devices associated with the user account. ### Fields - `recordType` (string, required): The type of records returned. Example: "device" - `recordVersion` (string, required): The version of the records. Example: "3.0" - `userId` (string, required): A unique identifier for the user on a per-Dexcom account, per-client basis. - `records` (array, required): An array of device records. The array will be empty if no devices are found. - `records.lastUploadDate` (string, required): Server timestamp (UTC) of the last upload event for the device. - `records.transmitterId` (string, null): Hashed and encrypted unique ID of the transmitter. - `records.transmitterGeneration` (string, required): The generation of the transmitter. Enum: "unknown", "g6", "g6+", "g6Pro", "g7" - `records.transmitterGenerationVariant` (string, required): The generation variant of the transmitter. Enum: "d1+", "g6", "g7", "g715day" - `records.displayDevice` (string, required): Type of display device used to receive the transmitter signal. Enum: "unknown", "receiver", "iOS", "android" - `records.displayApp` (string, null): The app installed on the display device. Example: "G6", "G7" - `records.alertSchedules` (array, required): Array of alert schedules and settings. - `records.alertSchedules.alertScheduleSettings` (object, required): - `alertScheduleName` (string, required): Name of the alert schedule. - `isEnabled` (boolean, required): Whether the alert schedule is enabled. - `isDefaultSchedule` (boolean, required): Whether this is the default alert schedule. - `startTime` (string, required): The start time of the alert schedule. - `endTime` (string, required): The end time of the alert schedule. - `daysOfWeek` (array, required): Days of the week the schedule applies to. Enum: "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" - `isActive` (boolean, null): Whether the schedule is currently active. - `override` (object, null): - `isOverrideEnabled` (boolean, null): Whether the override is enabled. - `mode` (string, null): The override mode. Enum: "unknown", "quiet", "vibrate" - `endTime` (string, null): The end time of the override. - `records.alertSchedules.alertSettings` (array, required): - `alertName` (string, required): Name of the alert. Enum: "unknown", "high", "low", "rise", "fall", "outOfRange", "urgentLow", "urgentLowSoon", "noReadings" - `value` (integer, null): The value at which the alert is set. ``` -------------------------------- ### Get Devices V3 Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= Retrieves a user's device information, including receivers and mobile apps. The response is an array of devices contributing data within a specified time window. ```json { "operationId": "getDevicesV3", "summary": "devices", "description": "### Description\nThe **/devices** endpoint enables retrieval of a user's device information, including G6, and G7 standalone receivers and the G6, G7, G7 15-day, 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.\n![Scopes and Access](https://storage.googleapis.com/g5-dexcom-prod-us-5-developer-portal-assets/images/G7_devices.png)\n### Resource\n_**GET /v3/users/self/devices**_\n### Authorization\nOAuth 2.0 bearer token; see the [Authentication](https://developer.dexcom.com/docs/dexcom/authentication/) section for details on this workflow.\n### Query Parameters\nThere 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.\n### Notes\nThe **unit** enumerations vary between endpoints. For **devices**, the values are as follows:\n* **unknown**\n* **grams**\n* **mg/dL**\n* **mmol/L**\n* **mg/dL/min**\n* **mmol/L/min**\n* **minutes**\n* **units**\n\nFor 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.", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/com.dexcom.partner.api.models.proto.v3.device.DeviceWrapper" }, "examples": { "devices_response_example": { "$ref": "#/components/examples/devices_V3" } } } } } }, "security": [ { "BearerAuth": [] } ], "parameters": [] } ``` -------------------------------- ### Get Devices Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= Retrieves a user's device information, including G6, G7 standalone receivers, and associated mobile apps and transmitters. The response is an array of devices contributing data within a specified time window, along with their alerts and settings. ```APIDOC ## GET /v3/users/self/devices ### Description The **/devices** endpoint enables retrieval of a user's device information, including G6, and G7 standalone receivers and the G6, G7, G7 15-day, 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. ### Method GET ### Endpoint /v3/users/self/devices ### 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. ### Response #### Success Response (200) - **com.dexcom.partner.api.models.proto.v3.device.DeviceWrapper** (object) - The wrapper object for device information. #### Response Example (Example not provided in source) ``` -------------------------------- ### Get Data Range V3 Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= Retrieves the earliest and latest times for calibration, EGV, and event records. This endpoint is useful for efficiently pulling historical data and checking for new data availability. ```json { "operationId": "getDataRangeV3", "summary": "dataRange", "description": "### Description\nThe **/dataRange** endpoint enables retrieval of a user's earliest and latest times for calibration, EGV, and event records. This can be used to efficiently pull historical data and determine whether new data is available.\n### Resource\n_**GET /v3/users/self/dataRange**_\n### Authorization\nOAuth 2.0 bearer token; see the [Authentication](https://developer.dexcom.com/docs/dexcom/authentication/) section for details on this workflow.\n### Notes\nFor 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.", "parameters": [ { "in": "query", "name": "lastSyncTime", "description": "A timestamp that represents the last time a consumer/client of Dexcom API pulled data.\n\n**How to use the “lastSyncTime” query parameter**\n\nSyncTime - “lastSyncTime” is a datetime query parameter built into the DataRange endpoint. If you know the last time you did a data sync for a user, you can specify this using the “lastSyncTime” parameter.\n\nIf provided, the system will only return date ranges for new data AFTER that date time. This allows for more efficient syncing as you’ll now have date ranges for data you know is new.\n\nA SyncTime request example would look like this:\n\n``` curl --location --request GET '/v3/users/self/dataRange?lastSyncTime=2025-01-01T17:00:00’ --header 'Authorization: Bearer ' --header 'Accept: application/json' ```", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/com.dexcom.partner.api.models.proto.v3.data_range.DataRange" }, "examples": { "datarange_v3_response": { "$ref": "#/components/examples/datarange_v3" } } } } } }, "security": [ { "BearerAuth": [] } ] } ``` -------------------------------- ### Get Data Range with Last Sync Time Source: https://developer.dexcom.com/docs/swaggerv3/other/getdatarangev3 Use the `lastSyncTime` query parameter to efficiently sync only new data after a specified datetime. This example demonstrates a cURL request. ```curl curl --location --request GET '/v3/users/self/dataRange?lastSyncTime=2025-01-01T17:00:00’ --header 'Authorization: Bearer ' --header 'Accept: application/json' ``` -------------------------------- ### Login V3 Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= Initiates the OAuth 2.0 login flow for v3 API access. ```json { "operationId": "getLoginV3", "summary": "login" } ``` -------------------------------- ### DeviceAlertSetting Schema Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= Defines the configuration for various device alerts, including their names, values, and enablement status. ```APIDOC ## DeviceAlertSetting ### Description Configuration for a specific device alert. ### Properties * **alertName** (string, enum: unknown, high, low, rise, fall, outOfRange, urgentLow, urgentLowSoon, noReadings): The name of the alert. * **value** (integer, format: int32, nullable): The threshold value for the alert. Specific ranges and increments depend on the alertName. * **unit** (string, nullable): The unit of measurement for the alert value (e.g., "mg/dL", "minutes"). * **snooze** (integer, format: int32, nullable): The time in minutes before resuming alarming after acknowledgment. * **enabled** (boolean): Indicates whether the alert is enabled. * **systemTime** (string, format: date-time, nullable): The system time when the alert setting was last adjusted (nominally UTC). * **displayTime** (string, format: date-time, nullable): The display time when the alert setting was last adjusted. * **delay** (integer, format: int32, nullable): The alert delay in minutes. * **secondaryTriggerCondition** (integer, format: int32, nullable): A secondary condition for triggering the alert, particularly for "Rising Fast" and "Falling Fast" alerts. * **soundTheme** (string, nullable, enum: unknown, modern, classic): The sound theme associated with the alert. * **soundOutputMode** (string, nullable, enum: unknown, sound, vibrate, match): The output mode for the alert sound. ``` -------------------------------- ### Device Wrapper Data Model Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= A wrapper object for device records, containing metadata and an array of device objects. ```APIDOC ## Device Wrapper Data Model ### Description A wrapper object for device records, containing metadata and an array of device objects. ### Properties - **recordType** (string) - Required - The type of records that will be returned in this response. Example: “device” - **recordVersion** (string) - Required - The version of records that will be returned in this response. Example: “3.0” - **userId** (string) - Required - A unique ID for the Dexcom account, per-client basis. - **records** (array) - Required - Array of devices. The size of the array will be zero if there are no devices. Example: devices[] - **items** - (object) - Reference to the Device data model. ``` -------------------------------- ### Get Data Range Source: https://developer.dexcom.com/docs/dexcomv3/endpoint-overview Retrieves the data range available for the authenticated user. ```APIDOC ## GET /v3/users/self/dataRange ### Description Retrieves the data range available for the authenticated user. ### Method GET ### Endpoint /v3/users/self/dataRange ### Response #### Success Response (200) - **dataRange** (object) - An object containing the start and end of the available data range. ``` -------------------------------- ### Calibration Wrapper Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= Represents a wrapper for calibration records, including record type, version, user ID, and an array of calibration records. ```APIDOC ## Calibration Wrapper ### Description This object contains information about calibration records, including the type and version of the records, the user ID, and a list of individual calibration records. ### Fields - **recordType** (string): The type of records returned in the response. Example: "calibration" - **recordVersion** (string): The version of the records returned in the response. Example: “3.0” - **userId** (string): A unique identifier for the user on a per-Dexcom account, per-Client basis. - **records** (array): An array of calibration objects. This field will be empty if no calibrations are available. ``` -------------------------------- ### Get Estimated Glucose Values Source: https://developer.dexcom.com/docs/dexcomv3/endpoint-overview Retrieves estimated glucose values (EGVs) for the authenticated user. ```APIDOC ## GET /v3/users/self/egvs ### Description Retrieves estimated glucose values (EGVs) for the authenticated user. ### Method GET ### Endpoint /v3/users/self/egvs ### Query Parameters - **startDate** (string) - Required - ISO 8601 formatted UTC timestamp specifying the start of the time window. - **endDate** (string) - Required - ISO 8601 formatted UTC timestamp specifying the end of the time window. ### Response #### Success Response (200) - **egvs** (array) - A list of estimated glucose value objects. ``` -------------------------------- ### Get Alerts Events V3 Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= Retrieves alert events for the authenticated user. This endpoint provides information about various alerts configured for the user's devices. ```APIDOC ## GET /v3/users/self/alerts ### Description Retrieves alert events for the authenticated user. ### Method GET ### Endpoint /v3/users/self/alerts ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of records to return. - **startDate** (string) - Optional - The start date for filtering alerts (ISO 8601 format). - **endDate** (string) - Optional - The end date for filtering alerts (ISO 8601 format). ### Response #### Success Response (200) - **records** (array) - An array of alert event objects. - **systemTime** (string) - The timestamp when the alert was generated on the system. - **displayTime** (string) - The timestamp when the alert should be displayed to the user. - **alertType** (string) - The type of alert (e.g., "high", "low", "rise", "fall"). - **value** (number) - The value associated with the alert. - **unit** (string) - The unit of measurement for the alert value. - **transmitterId** (string) - The ID of the transmitter that generated the alert. - **transmitterGeneration** (string) - The generation of the transmitter. - **transmitterGenerationVariant** (string) - The variant of the transmitter generation. - **displayDevice** (string) - The device that displayed the alert. - **displayApp** (string) - The application that displayed the alert. #### Response Example { "records": [ { "systemTime": "2025-04-05T17:53:03Z", "displayTime": "2025-04-05T10:52:48-06:59:59", "alertType": "rise", "value": 3, "unit": "mg/dL/min", "transmitterId": "d55d01d0341ed0ba2cd99b322e8c5b609254f47d10c7cd12b99b4922effeba44", "transmitterGeneration": "g7", "transmitterGenerationVariant": "g715day", "displayDevice": "android", "displayApp": "G7Android" } ] } ``` -------------------------------- ### Calibrations v3 Source: https://developer.dexcom.com/docs/_bundle/swaggerV3.json?download= Retrieves calibration records for a user. ```APIDOC ## GET /calibrations/v3 ### Description Retrieves calibration records for a user, including details like calibration value, unit, and transmitter information. ### Method GET ### Endpoint /calibrations/v3 ### Response #### Success Response (200) - **recordType** (string) - Type of record, should be "calibrations" - **recordVersion** (string) - Version of the record schema, e.g., "3.0" - **userId** (string) - The unique identifier for the user - **records** (array) - An array of calibration records - **recordId** (string) - Unique identifier for the calibration record - **systemTime** (string) - Timestamp when the calibration was recorded on the system - **displayTime** (string) - Timestamp for displaying the calibration to the user - **unit** (string) - The unit of measurement for the calibration (e.g., "mg/dL") - **value** (integer) - The calibration value - **displayDevice** (string) - The device that displayed the calibration - **transmitterId** (string) - The unique identifier for the transmitter - **transmitterTicks** (integer) - The transmitter's internal tick count at the time of calibration - **transmitterGeneration** (string) - The generation of the transmitter - **transmitterGenerationVariant** (string) - The variant of the transmitter generation ### Response Example ```json { "recordType": "calibrations", "recordVersion": "3.0", "userId": "5b329ebcfbf2f0ba7e49d4c5eb57775468f5ee657ac16fcde07e1fd08197b4c7", "records": [ { "recordId": "763923b7-5424-451e-b37d-fd8ff635b308", "systemTime": "2025-05-17T03:59:11", "displayTime": "2025-05-16T19:59:11", "unit": "mg/dL", "value": 124, "displayDevice": "android", "transmitterId": "d55d01d0341ed0ba2cd99b322e8c5b609254f47d10c7cd12b99b4922effeba44", "transmitterTicks": 72364324786, "transmitterGeneration": "g7", "transmitterGenerationVariant": "g715day" } ] } ``` ``` -------------------------------- ### Get Estimated Glucose Values Source: https://developer.dexcom.com/docs/swaggerv3/other/getestimatedglucosevaluesv3 Retrieves a list of estimated glucose values within a specified time range. Requires OAuth 2.0 bearer token authentication. ```APIDOC ## GET /v3/users/self/egvs ### Description Retrieves a user's estimated glucose value (EGV) data, including trend and status information. ### Method GET ### Endpoint /v3/users/self/egvs ### Query Parameters - **startDate** (string) - Required - Beginning of the time window. Example: "2025-02-06T09:12:35" - **endDate** (string) - Required - End of the time window. Example: "2025-02-06T09:12:35" ### Security BearerAuth ``` -------------------------------- ### Get Events Source: https://developer.dexcom.com/docs/swaggerv3 Retrieves a user's event records, including details on carbohydrate intake, insulin doses, exercise, and health events logged through the receiver or mobile app. ```APIDOC ## GET /v3/users/self/events ### Description The /events endpoint enables retrieval of a user's event records. This includes carbohydrate intake, insulin doses, exercise, and health events that are entered in the receiver interface or through the mobile app. ### Method GET ### Endpoint /v3/users/self/events ### Parameters #### Query Parameters - **startDate** (string) - Required - The start date for the query. - **endDate** (string) - Required - The end date for the query. ### Authorization OAuth 2.0 bearer token; see the Authentication section for details on this workflow. ### Notes The unit enumerations vary between endpoints. For events, the values are as follows: * unknown * grams * mg/dL * 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. Dexcom ONE does not support the /events endpoint and will return an empty array. ``` -------------------------------- ### Obtain Access Token Source: https://developer.dexcom.com/docs/dexcom/authentication Exchange an authorization code for an access token and refresh token. This is typically done after a user has authorized your application. ```APIDOC ## POST /oauth2/token ### Description Exchanges an authorization code for an access token and a refresh token. ### Method POST ### Endpoint `https://api.dexcom.com/v3/oauth2/token` (Production) `https://sandbox-api.dexcom.com/v3/oauth2/token` (Sandbox) ### Parameters #### Request Body - **client_id** (string) - Required - The unique ID for the client application. - **client_secret** (string) - Required - The secret for the client application. - **code** (string) - Required - The authorization code obtained from Step Three. - **grant_type** (string) - Required - Must be `authorization_code`. - **redirect_uri** (string) - Required - The redirect URI associated with the application. ### Request Headers - **Content-Type**: `application/x-www-form-urlencoded` ### Response #### Success Response (200) - **access_token** (string) - The access token for making API requests. - **expires_in** (integer) - The time in seconds until the access token expires. - **token_type** (string) - The type of token, typically `Bearer`. - **refresh_token** (string) - The token used to obtain a new access token. ### Response Example ```json { "access_token": "{your_access_token}", "expires_in": 7200, "token_type": "Bearer", "refresh_token": "{your_refresh_token}" } ``` ``` -------------------------------- ### OAuth2 Login Endpoint Source: https://developer.dexcom.com/docs/swaggerv3/other/getloginv3 Initiates the OAuth2 login flow to obtain an authorization code. ```APIDOC ## GET /v3/oauth2/login ### Description Provides an authorization code to a client to exchange for a token. ### Method GET ### Endpoint /v3/oauth2/login ### Parameters #### Query Parameters - **client_id** (string) - Required - Client identifier - **scope** (string) - Required - The access scope being requested; currently, offline_access is the only acceptable input. - **response_type** (string) - Required - Must be set to 'code'. - **redirect_uri** (string) - Required - URI to redirect to after authentication. Must match one of the allowed redirect URIs for the client. - **state** (string) - Required - An opaque value used by the client to maintain state between the request and callback. The authorization server includes this value when redirecting the user-agent back to the client. ### Response #### Success Response (302) - **Location** (string) - Redirect URI with authorization code and state. #### Response Example (Redirect to a URI similar to: https://client.example.com/callback?code=AUTH_CODE&state=CLIENT_STATE) ``` -------------------------------- ### Login Endpoint Source: https://developer.dexcom.com/docs/swaggerv3 Provides an authorization code to a client, which can then be exchanged for a token. ```APIDOC ## GET /v3/oauth2/login ### Description Provides an authorization code to a client to exchange for a token. ### Method GET ### Endpoint /v3/oauth2/login ``` -------------------------------- ### Get Alerts Source: https://developer.dexcom.com/docs/swaggerv3 Retrieves user alert records within a specified date range, including alerts from mobile apps and receivers. Supports alerts related to glucose values and system issues. ```APIDOC ## GET /v3/users/self/alerts ### Description The /alerts endpoint enables retrieval of user alert records within a provided date range. This includes alerts triggered on a mobile app or receiver. The alert events can be related to glucose values, such as high or low, or system alerts, such as noReadings or outOfRange (signal loss). ### Method GET ### Endpoint /v3/users/self/alerts ### Parameters #### Query Parameters - **startDate** (string) - Required - The start date for the query. - **endDate** (string) - Required - The end date for the query. ### Authorization OAuth 2.0 bearer token; see the Authentication section for details on this workflow. ### Notes 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. Dexcom ONE+ does not support the following alerts: Urgent Low, Urgent Low Soon, Rising Fast, Falling Fast. ```