APIs intended for internal use by Tidepool.
- Data Set State
Data API (1.0)
The Tidepool API is an HTTP REST API used by Tidepool clients use to communicate with the Tidepool Platform.
For more information, see the Getting Started section.
https://tidepool.redocly.app/_mock/reference/data.v1/
https://external.integration.tidepool.org/
https://api.tidepool.org/
https://dev1.dev.tidepool.org/
https://qa1.development.tidepool.org/
https://qa2.development.tidepool.org/
New Tidepool Diabetes Data Set
Create a new Tidepool diabetes data set.
Globally unique to device and repeatable with each upload, e.g. device make and model with serial number
An array of string tags indicating the manufacturer(s) of the device.
In order to avoid confusion resulting from referring to a single manufacturer with more than one name—for example, using both 'Minimed' and 'Medtronic' interchangeably—we restrict the set of strings used to refer to manufacturers to the set listed above and enforce exact string matches (including casing).
deviceManufacturers
is an array of one or more string "tags" because there are devices resulting from a collaboration between more than one manufacturer, such as the Tandem G4 insulin pump with CGM integration (a collaboration between Tandem
and Dexcom
).
A string identifying the model of the device.
The deviceModel
is a non-empty string that encodes the model of device. We endeavor to match each manufacturer's standard for how they represent model name in terms of casing, whether parts of the name are represented as one word or two, etc.
A string encoding the device's serial number.
The deviceSerialNumber
is a string that encodes the serial number of the device. Note that even if a manufacturer only uses digits in its serial numbers, the SN should be stored as a string regardless.
Uniquely of string fields in the Tidepool device data models, deviceSerialNumber
may be an empty string. This is essentially a compromise: having the device serial number is extremely important (especially for e.g., clinical studies) but in 2016 we came across our first case where we cannot recover the serial number of the device that generated the data: Dexcom G5 data uploaded to Tidepool through Apple iOS's HealthKit integration.
An array of string tags indicating the function(s) of the device.
The deviceTags
array should be fairly self-explanatory as an array of tags indicating the function(s) of a particular device. For example, the Insulet OmniPod insulin delivery system has the tags bgm
and insulin-pump
since the PDM is both an insulin pump controller and includes a built-in blood glucose monitor.
A string indicating what variety of processing was used to create the time
and related fields such as timezoneOffset
on data in this upload.
For data auditing purposes, we store a string encoding the type of algorithm used to generate the time
, timezoneOffset
, and other related fields from the local deviceTime
. At present, there are only three options for this value:
none
for data sources that already include a UTC-anchoredtime
value. At present, the only data source for which this is true is Dexcom G5 or Dexcom G6 data coming through Apple's iOS HealthKit integration.across-the-board-timezone
for devices (all BGMs, for example) that cannot have theirdeviceTime
values "bootstrapped" to a UTCtime
value; in such cases, we apply a single user-selected timezone to everydeviceTime
"across the board" to generate thetime
value.utc-bootstrapping
for devices (most insulin pumps and CGMs) where we use a combination of the user-selected timezone at time of upload, the most recent timestamp on device, and the history of display time changes on the device to infer the correcttime
value for each record.
A string timezone name from the IANA timezone database
{ "client": { "name": "org.tidepool.uploader", "version": "2.36.1", "platform": "macOS 10.15.4", "private": {} }, "dataSetType": "continuous", "deviceId": "MMT-1711:12345678", "deviceManufacturers": [ "DeviceCo" ], "deviceModel": "Devicey McDeviceface", "deviceSerialNumber": "B97B6D59", "deviceTags": [ "bgm" ], "deduplicator": { "hash": "string", "version": "2.36.1", "name": "org.tidepool.uploader" }, "time": "2017-02-06T02:37:46Z", "timeProcessing": "utc-bootstrapping", "timezone": "Europe/London", "timezoneOffset": -420 }
Tidepool Data Array
Diabetes Data Array
Globally unique to device and repeatable with each upload, e.g. device make and model with serial number
A string identifying the model of the device.
The deviceModel
is a non-empty string that encodes the model of device. We endeavor to match each manufacturer's standard for how they represent model name in terms of casing, whether parts of the name are represented as one word or two, etc.
A string encoding the device's serial number.
The deviceSerialNumber
is a string that encodes the serial number of the device. Note that even if a manufacturer only uses digits in its serial numbers, the SN should be stored as a string regardless.
Uniquely of string fields in the Tidepool device data models, deviceSerialNumber
may be an empty string. This is essentially a compromise: having the device serial number is extremely important (especially for e.g., clinical studies) but in 2016 we came across our first case where we cannot recover the serial number of the device that generated the data: Dexcom G5 data uploaded to Tidepool through Apple iOS's HealthKit integration.
A string timezone name from the IANA timezone database
{ "deviceId": "MMT-1711:12345678", "deviceModel": "Devicey McDeviceface", "deviceSerialNumber": "B97B6D59", "state": "open", "time": "2017-02-06T02:37:46Z", "timezone": "Europe/London", "timezoneOffset": -420 }