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

Request

Deletes data from data set specified by the dataSetId.

Security
sessionToken
Path
dataSetIdstring(Data Set ID)[ 17 .. 37 ] characters^(upid_[0-9a-f]{12}|upid_[0-9a-f]{32}|[0-9a-f...required

Data Set ID

Example: ce8cc5f7595575945f91fc6710db6fef
curl -i -X DELETE \
  https://tidepool.redocly.app/_mock/reference/data.v1/v1/data_sets/ce8cc5f7595575945f91fc6710db6fef/data \
  -H 'X-Tidepool-Session-Token: YOUR_API_KEY_HERE'

Responses

Success

Bodyapplication/json
object
Response
application/json
{}

Request

Get data for the specified userId. You can filter the data to pull with several query parameters.

Security
sessionToken
Path
userIdstring(Tidepool User ID)^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...read-onlyrequired

Tidepool User ID

Query
uploadIdstring(Upload ID)[ 17 .. 32 ] characters^([0-9a-f]{32}|upid_[0-9a-f]{12})$

Upload ID. Search for data by uploadId. Only objects with a uploadId field matching the specified uploadId parameter will be returned.

Example: uploadId=0d92d5c1c22117a18f3620b9e24d3c06
deviceIdstring(Device ID)non-empty

Device ID. Search for data by deviceId. Only objects with a deviceId field matching the specified uploadId parameter will be returned.

Example: deviceId=MMT-1711:12345678
typeArray of strings(Tidepool Data Type)non-empty

Upload Type. The data type to search for. Only objects with a type field matching the specified type parameter will be returned. It can be a single value like /data/userid?type=smbg or a comma separated list like /data/userid?type=smgb,cbg. If is a comma separated list, then objects matching any of the types will be returned.

Items Enum"alert""basal""bloodKetone""bolus""cbg""cgmSettings""controllerSettings""controllerStatus""deviceEvent""deviceStatus"
Example: type=cbg,smbg
subTypeArray of Self Monitored Glucose Sub Type (string) or Bolus Subtype (string) or Device Event Sub Type (string)(Data Sub Type)

Sub Type. The data subtype to search for. Only objects with a subType field matching the specified subType parameter will be returned. It can be a single value like ?subtype=physicalactivity or a comma separated list like ?subtypetype=physicalactivity,steps. If it is a comma separated list, then objects matching any of the types will be returned.

startDatestring(date-time)(Date/Time)

Start Date. Only objects with time field equal to or greater than start date will be returned. Must be in ISO 8601 date/time format e.g. 2015-10-10T15:00:00.000Z.

Example: startDate=2017-02-06T02:37:46Z
endDatestring(date-time)(Date/Time)

End Date. Only objects with time field less than to or equal to start date will be returned. Must be in ISO 8601 date/time format e.g. 2015-10-10T15:00:00.000Z.

Example: endDate=2017-02-06T02:37:46Z
latestboolean

Latest Data. Returns only the most recent results for each type matching the results filtered by the other query parameters.

Default false
dexcomboolean

Dexcom Data

Default false
carelinkboolean

Carelink Data

Default false
medtronicboolean

Medtronic Data

Default false
curl -i -X GET \
  'https://tidepool.redocly.app/_mock/reference/data.v1/data/{userId}?uploadId=0d92d5c1c22117a18f3620b9e24d3c06&deviceId=MMT-1711%3A12345678&type=cbg%2Csmbg&subType=scanned&startDate=2017-02-06T02%3A37%3A46Z&endDate=2017-02-06T02%3A37%3A46Z&latest=false&dexcom=false&carelink=false&medtronic=false' \
  -H 'X-Tidepool-Session-Token: YOUR_API_KEY_HERE'

Responses

Data List

Bodyapplication/jsonArray [
One of:

An abstract base data type for all Tidepool diabetes data objects.

annotationsArray of Annotation (object) or Blood Glucose Out of Range (object)(Annotation Array)[ 0 .. 100 ] itemsunique

An array of annotations.

archivedTimestring(date-time)(Date/Time)read-only

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
archivedDatasetIdstring(Data Set ID)[ 17 .. 37 ] characters^(upid_[0-9a-f]{12}|upid_[0-9a-f]{32}|[0-9a-f...
Example: "ce8cc5f7595575945f91fc6710db6fef"
associationsArray of Association (blob) (object) or Association (datum) (object) or Association (image) (object) or Association (url) (object)(Association Array)

An array of associations for the resource.

clockDriftOffsetinteger(int64)(Clock Drift Offset)[ -86400000 .. 86400000 ]

Clock drift offset, expressed as milliseconds.

Example: 0
conversionOffsetinteger(int64)(Conversion Offset)

Conversion offset, expressed as milliseconds.

Example: 0
createdTimestring(date-time)(Date/Time)

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
createdUserIdstring(Tidepool User ID)^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...read-only

String representation of a Tidepool User ID. Old style IDs are 10-digit strings consisting of only hexadeximcal digits. New style IDs are 36-digit UUID v4

deduplicatorobject(Deduplicator Descriptor)
deletedTimestring(date-time)(Date/Time)

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
deletedUserIdstring(Tidepool User ID)^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...read-only

String representation of a Tidepool User ID. Old style IDs are 10-digit strings consisting of only hexadeximcal digits. New style IDs are 36-digit UUID v4

deviceIdstring(Device ID)non-empty

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

Example: "MMT-1711:12345678"
deviceTimestring(Date/Time without Timezone)^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$

RFC 3339 / ISO 8601 timestamp without timezone information

Example: "2017-02-06T02:37:46"
historyArray of objects(Event History [Proposed])

Revision history of the event

idstring(Data Set ID)[ 17 .. 37 ] characters^(upid_[0-9a-f]{12}|upid_[0-9a-f]{32}|[0-9a-f...required
Example: "ce8cc5f7595575945f91fc6710db6fef"
locationobject(Location)

Location information associated with the resource. One or both of name and gps must be specified.

modifiedTimestring(date-time)(Date/Time)

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
modifiedUserIdstring(Tidepool User ID)^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...read-only

String representation of a Tidepool User ID. Old style IDs are 10-digit strings consisting of only hexadeximcal digits. New style IDs are 36-digit UUID v4

notesArray of strings(Note Array)[ 1 .. 100 ] items

An array of 1 to 100 notes.

originobject(Origin)

External origin information for the source of the resource.

payloadobject(Payload)

Grab bag field for data that isn't yet part of the data model. The maximum size is 4K bytes.

sourcestring
Value"carelink"
tagsArray of strings(Tag Array)

An array of tags.

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

RFC 3339 / ISO 8601 timestamp with timezone information

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

A string timezone name from the IANA timezone database

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

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

Example: -420
typestring(Tidepool Data Type)required

Data type

Enum"alert""basal""bloodKetone""bolus""cbg""cgmSettings""controllerSettings""controllerStatus""deviceEvent""deviceStatus"
Example: "upload"
uploadIdstring(Upload ID)[ 17 .. 32 ] characters^([0-9a-f]{32}|upid_[0-9a-f]{12})$

An upload identifier; this field should be the uploadId of the corresponding upload record

Example: "0d92d5c1c22117a18f3620b9e24d3c06"
namestring[ 1 .. 100 ] charactersrequired
prioritystring
Enum"critical""normal""timeSensitive"
triggerstring
Enum"delayed""immediate""repeating"
triggerDelayinteger(int32)[ 0 .. 86400 ]
soundstring
Enum"name""silence""vibrate"
soundNamestring[ 1 .. 100 ] characters
issuedTimestring(date-time)(Date/Time)required

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
acknowledgedTimestring(date-time)(Date/Time)

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
retractedTimestring(date-time)(Date/Time)

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
guidstringDeprecated

A string ID. Added to each event during data processing in the Tidepool Uploader or upon ingestion by the platform data ingestion service.

]
Response
application/json
[ { "annotations": [], "archivedTime": "2017-02-06T02:37:46Z", "archivedDatasetId": "ce8cc5f7595575945f91fc6710db6fef", "associations": [], "clockDriftOffset": 0, "conversionOffset": 0, "createdTime": "2017-02-06T02:37:46Z", "createdUserId": "string", "deduplicator": {}, "deletedTime": "2017-02-06T02:37:46Z", "deletedUserId": "string", "deviceId": "MMT-1711:12345678", "deviceTime": "2017-02-06T02:37:46", "guid": "string", "history": [], "id": "ce8cc5f7595575945f91fc6710db6fef", "location": {}, "modifiedTime": "2017-02-06T02:37:46Z", "modifiedUserId": "string", "notes": [], "origin": {}, "payload": {}, "source": "carelink", "tags": [], "time": "2017-02-06T02:37:46Z", "timezone": "Europe/London", "timezoneOffset": -420, "type": "alert", "uploadId": "0d92d5c1c22117a18f3620b9e24d3c06", "name": "string", "priority": "critical", "trigger": "delayed", "triggerDelay": 86400, "sound": "name", "soundName": "string", "issuedTime": "2017-02-06T02:37:46Z", "acknowledgedTime": "2017-02-06T02:37:46Z", "retractedTime": "2017-02-06T02:37:46Z" } ]

Request

Returns a list of data sources for the user specified by the userId.

Security
sessionToken
Path
userIdstring(Tidepool User ID)^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...read-onlyrequired

Tidepool User ID

Query
pageinteger(int32)(Page Number)>= 0read-only

Page number for pagination

Default 0
Example: page=0
sizeinteger(int32)(Page Size)[ 1 .. 1000 ]read-only

Page size for pagination

Default 100
Example: size=42
curl -i -X GET \
  'https://tidepool.redocly.app/_mock/reference/data.v1/v1/users/{userId}/data_sources?page=0&size=42' \
  -H 'X-Tidepool-Session-Token: YOUR_API_KEY_HERE'

Responses

Data Source List

Bodyapplication/jsonArray [
createdTimestring(date-time)(Date/Time)required

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
dataSetIdsArray of strings(Data Set ID Array)non-emptyuniquerequired

An array of data set IDs. The IDs in the array must be unique.

Example: ["ce8cc5f7595575945f91fc6710db6fef"]
earliestDataTimestring(date-time)(Date/Time)required

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
idstring(Data Source ID)= 32 characters^[0-9a-f]{32}$required
Example: "c0ce05326529c6b35b0f4a568a344026"
lastImportTimestring(date-time)(Date/Time)required

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
latestDataTimestring(date-time)(Date/Time)required

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
modifiedTimestring(date-time)(Date/Time)

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
providerNamestring(Provider Name)[ 1 .. 100 ] charactersrequired
Example: "dexcom"
providerSessionIdstring(Provider Session ID)^[0-9a-z]{32}$required
providerTypestring(Provider Type)required
Value"oauth"
Example: "oauth"
revisioninteger(int32)
statestring(Data Source State)required

State of the data source.

Enum"connected""disconnected""error"
Example: "connected"
userIdstring(Tidepool User ID)^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...read-onlyrequired

String representation of a Tidepool User ID. Old style IDs are 10-digit strings consisting of only hexadeximcal digits. New style IDs are 36-digit UUID v4

]
Response
application/json
[ { "createdTime": "2017-02-06T02:37:46Z", "dataSetIds": [], "earliestDataTime": "2017-02-06T02:37:46Z", "id": "c0ce05326529c6b35b0f4a568a344026", "lastImportTime": "2017-02-06T02:37:46Z", "latestDataTime": "2017-02-06T02:37:46Z", "modifiedTime": "2017-02-06T02:37:46Z", "providerName": "dexcom", "providerSessionId": "string", "providerType": "oauth", "revision": 0, "state": "connected", "userId": "string" } ]