Skip to content

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.

Download OpenAPI description
Languages
Servers
Mock server

https://tidepool.redocly.app/_mock/reference/data.v1/

integration

https://external.integration.tidepool.org/

production

https://api.tidepool.org/

dev1

https://dev1.dev.tidepool.org/

qa1

https://qa1.development.tidepool.org/

qa2

https://qa2.development.tidepool.org/

Internal

APIs intended for internal use by Tidepool.

Operations

Data

Manages diabetes data in user's Tidepool account.

Operations

Tidepool Data Array

Diabetes Data Array

deviceIdstring(Device ID)non-emptyrequired

Globally unique to device and repeatable with each upload, e.g. device make and model with serial number

Example: "MMT-1711:12345678"
deviceModelstring(Device Model Name)non-emptyrequired

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.

Example: "Devicey McDeviceface"
deviceSerialNumberstring(Device Serial Number)non-emptyrequired

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.

Example: "B97B6D59"
statestring(Data Set State)required
Enum"open""closed"
Example: "open"
timestring(date-time)(Date/Time)required

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
timezonestring(Time Zone)required

A string timezone name from the IANA timezone database

Example: "Europe/London"
timezoneOffsetinteger(int32)(Time Zone offset)[ -10080 .. 10080 ]required

Time zone offset, expressed as positive or negative number of minutes from UTC.

Example: -420
{ "deviceId": "MMT-1711:12345678", "deviceModel": "Devicey McDeviceface", "deviceSerialNumber": "B97B6D59", "state": "open", "time": "2017-02-06T02:37:46Z", "timezone": "Europe/London", "timezoneOffset": -420 }

Event History [Proposed]

Revision history of the event

Array [
timestring(date-time)(Date/Time)required

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
changesJSONPatch (object)(JSONPatch)required

Only have this here because Stoplight doesn't seem to like using the JSONSchema directly as a ref from http://json.schemastore.org/json-patch

One of:

Only have this here because Stoplight doesn't seem to like using the JSONSchema directly as a ref from http://json.schemastore.org/json-patch

changes.​opstringrequired

The operation to perform.

Enum"add""replace""test"
changes.​pathstringrequired

A JSON Pointer path.

changes.​valueanyrequired

The value to add, replace or test.

]
[ { "time": "2017-02-06T02:37:46Z", "changes": {} } ]

Tidepool Data Type

Data type

string(Tidepool Data Type)

Data type

Enum"alert""basal""bloodKetone""bolus""cbg""cgmSettings""controllerSettings""controllerStatus""deviceEvent""deviceStatus"
"upload"