Skip to content

Blob 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/blob.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.

Blobs

List, create, and manage binary blobs. The content format may be anything, because the blobs are treated as opaque data by the service. Each blob has a status. If a blob is created without content, then its status is created. If the blob is created with content or has been updated to include content then its status is available.

Operations

Request

List previously uploaded binary blobs in the user's account. The list can be filtered with mediaType and status 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
mediaTypestring(MediaType)^\w+/[-+.\w]+(;.+)?$

Blob Media Type

Example: mediaType=application/octet-stream
statusstring(Blob status)read-only

Blob Status

Enum"created""available"
Example: status=created
curl -i -X GET \
  'https://tidepool.redocly.app/_mock/reference/blob.v1/v1/users/{userId}/blobs?mediaType=application%2Foctet-stream&status=created' \
  -H 'X-Tidepool-Session-Token: YOUR_API_KEY_HERE'

Responses

List of binary blob metadata

Bodyapplication/jsonArray [
idstring(Blob ID)^[0-9a-z]{32}$read-onlyrequired

Blob ID

Example: "97a9fae8a19b4da58bb48dc90c9562c9"
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

digestMD5string(MD5 Digest)= 24 characters^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[...required

MD5 digest of the content per RFC 1321, encoded as base64 (RFC 4648).

Example: "HUXZLQLMuI/KZ5KDcJPcOA=="
mediaTypestring(MediaType)^\w+/[-+.\w]+(;.+)?$required

Media type as defined in RFC 2045.

Example: "application/octet-stream"
sizeinteger(int64)(Blob Size)read-onlyrequired

Size of the binary blob, in bytes

Example: 1024
statusstring(Blob status)read-onlyrequired

Blob status

Enum"created""available"
Example: "created"
createdTimestring(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"
deletedTimestring(date-time)(Date/Time)

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
revisioninteger(int32)(Blob Revision)>= 0required

Revision number of the blob

Example: 42
]
Response
application/json
[ { "id": "97a9fae8a19b4da58bb48dc90c9562c9", "userId": "string", "digestMD5": "HUXZLQLMuI/KZ5KDcJPcOA==", "mediaType": "application/octet-stream", "size": 1024, "status": "created", "createdTime": "2017-02-06T02:37:46Z", "modifiedTime": "2017-02-06T02:37:46Z", "deletedTime": "2017-02-06T02:37:46Z", "revision": 42 } ]

Request

Creates a new binary blob in the user's account. The Content-Type and the Digest headers must represent the media type and MD5 hash of the binary blob content, respectively.

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

Headers
Content-Typestring(MediaType)^\w+/[-+.\w]+(;.+)?$required

Content type of the resource

Examples:
application/octet-stream
text/plain
text/plain; charset=utf-8
text/html
application/json
application/xml
text/xml
image/jpeg
image/png
video/mp4
application/pdf
application/zip
Digeststring= 28 characters^md5=(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}...required

Base64-encoded MD5 hash of the resource, per RFC 3230

Example: md5=HUXZLQLMuI/KZ5KDcJPcOA==
Body*/*required

Binary blob

string(binary)(Blob content)read-only

Binary data.

curl -i -X POST \
  'https://tidepool.redocly.app/_mock/reference/blob.v1/v1/users/{userId}/blobs' \
  -H 'Content-Type: */*' \
  -H 'Digest: md5=HUXZLQLMuI/KZ5KDcJPcOA==' \
  -H 'X-Tidepool-Session-Token: YOUR_API_KEY_HERE' \
  -d string

Responses

Binary blob metadata

Bodyapplication/json
idstring(Blob ID)^[0-9a-z]{32}$read-onlyrequired

Blob ID

Example: "97a9fae8a19b4da58bb48dc90c9562c9"
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

digestMD5string(MD5 Digest)= 24 characters^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[...required

MD5 digest of the content per RFC 1321, encoded as base64 (RFC 4648).

Example: "HUXZLQLMuI/KZ5KDcJPcOA=="
mediaTypestring(MediaType)^\w+/[-+.\w]+(;.+)?$required

Media type as defined in RFC 2045.

Example: "application/octet-stream"
sizeinteger(int64)(Blob Size)read-onlyrequired

Size of the binary blob, in bytes

Example: 1024
statusstring(Blob status)read-onlyrequired

Blob status

Enum"created""available"
Example: "created"
createdTimestring(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"
deletedTimestring(date-time)(Date/Time)

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
revisioninteger(int32)(Blob Revision)>= 0required

Revision number of the blob

Example: 42
Response
application/json
{ "id": "97a9fae8a19b4da58bb48dc90c9562c9", "userId": "string", "digestMD5": "HUXZLQLMuI/KZ5KDcJPcOA==", "mediaType": "application/octet-stream", "size": 1024, "status": "created", "createdTime": "2017-02-06T02:37:46Z", "modifiedTime": "2017-02-06T02:37:46Z", "deletedTime": "2017-02-06T02:37:46Z", "revision": 42 }

Request

Deletes all previously uploaded binary blobs in the user's account.

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

curl -i -X DELETE \
  'https://tidepool.redocly.app/_mock/reference/blob.v1/v1/users/{userId}/blobs' \
  -H 'X-Tidepool-Session-Token: YOUR_API_KEY_HERE'

Responses

204 No Content

Request

Get a previously uploaded binary blob in the user's account.

Security
sessionToken
Path
blobIdstring(Blob ID)^[0-9a-z]{32}$read-onlyrequired

Blob ID

Example: 97a9fae8a19b4da58bb48dc90c9562c9
curl -i -X GET \
  https://tidepool.redocly.app/_mock/reference/blob.v1/v1/blobs/97a9fae8a19b4da58bb48dc90c9562c9 \
  -H 'X-Tidepool-Session-Token: YOUR_API_KEY_HERE'

Responses

Binary blob metadata

Bodyapplication/json
idstring(Blob ID)^[0-9a-z]{32}$read-onlyrequired

Blob ID

Example: "97a9fae8a19b4da58bb48dc90c9562c9"
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

digestMD5string(MD5 Digest)= 24 characters^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[...required

MD5 digest of the content per RFC 1321, encoded as base64 (RFC 4648).

Example: "HUXZLQLMuI/KZ5KDcJPcOA=="
mediaTypestring(MediaType)^\w+/[-+.\w]+(;.+)?$required

Media type as defined in RFC 2045.

Example: "application/octet-stream"
sizeinteger(int64)(Blob Size)read-onlyrequired

Size of the binary blob, in bytes

Example: 1024
statusstring(Blob status)read-onlyrequired

Blob status

Enum"created""available"
Example: "created"
createdTimestring(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"
deletedTimestring(date-time)(Date/Time)

RFC 3339 / ISO 8601 timestamp with timezone information

Example: "2017-02-06T02:37:46Z"
revisioninteger(int32)(Blob Revision)>= 0required

Revision number of the blob

Example: 42
Response
application/json
{ "id": "97a9fae8a19b4da58bb48dc90c9562c9", "userId": "string", "digestMD5": "HUXZLQLMuI/KZ5KDcJPcOA==", "mediaType": "application/octet-stream", "size": 1024, "status": "created", "createdTime": "2017-02-06T02:37:46Z", "modifiedTime": "2017-02-06T02:37:46Z", "deletedTime": "2017-02-06T02:37:46Z", "revision": 42 }

Request

Deletes a previously uploaded binary blob in the user's account. This operation fails if the blobId does not match the ID of an existing blob.

Security
sessionToken
Path
blobIdstring(Blob ID)^[0-9a-z]{32}$read-onlyrequired

Blob ID

Example: 97a9fae8a19b4da58bb48dc90c9562c9
curl -i -X DELETE \
  https://tidepool.redocly.app/_mock/reference/blob.v1/v1/blobs/97a9fae8a19b4da58bb48dc90c9562c9 \
  -H 'X-Tidepool-Session-Token: YOUR_API_KEY_HERE'

Responses

204 No Content

Request

Retrieves the content of a binary blob in the user's account.

Security
sessionToken
Path
blobIdstring(Blob ID)^[0-9a-z]{32}$read-onlyrequired

Blob ID

Example: 97a9fae8a19b4da58bb48dc90c9562c9
curl -i -X GET \
  https://tidepool.redocly.app/_mock/reference/blob.v1/v1/blobs/97a9fae8a19b4da58bb48dc90c9562c9/content \
  -H 'X-Tidepool-Session-Token: YOUR_API_KEY_HERE'

Responses

Binary blob content

Headers
Digeststring= 28 characters^md5=(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}...required

Base64-encoded MD5 hash of the resource, per RFC 3230

Example: "md5=HUXZLQLMuI/KZ5KDcJPcOA=="
Body*/*
string(binary)(Blob content)read-only

Binary data.

Device Logs

Create and list device logs.

Operations