# Blob API

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](../docs/quick-start.md) section.

Version: 1.0
License: BSD-2-Clause

## Servers

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
```

## Security

### sessionToken

Tidepool Session Token

Type: apiKey
In: header
Name: X-Tidepool-Session-Token

## Download OpenAPI description

[Blob API](https://dev-docs.tidepool.org/_bundle/reference/blob.v1.yaml)

## 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`.

### List Binary Blobs

 - [GET /v1/users/{userId}/blobs](https://dev-docs.tidepool.org/reference/blob.v1/blobs/listblobs.md): List previously uploaded binary blobs in the user's account. The list can be filtered with mediaType and status query parameters.

### Create New Binary Blob

 - [POST /v1/users/{userId}/blobs](https://dev-docs.tidepool.org/reference/blob.v1/blobs/createblob.md): 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.

### Delete All Binary Blobs

 - [DELETE /v1/users/{userId}/blobs](https://dev-docs.tidepool.org/reference/blob.v1/blobs/deleteallblobs.md): Deletes all previously uploaded binary blobs in the user's account.

### Get Binary Blob Metadata

 - [GET /v1/blobs/{blobId}](https://dev-docs.tidepool.org/reference/blob.v1/blobs/getblobmetadata.md): Get a previously uploaded binary blob in the user's account.

### Delete Binary Blob

 - [DELETE /v1/blobs/{blobId}](https://dev-docs.tidepool.org/reference/blob.v1/blobs/deleteblob.md): 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.

### Get Binary Blob Content

 - [GET /v1/blobs/{blobId}/content](https://dev-docs.tidepool.org/reference/blob.v1/blobs/getblobcontent.md): Retrieves the content of a binary blob in the user's account.

## Device Logs

Create and list device logs.

### Upload new device logs as json

 - [POST /v1/users/{userId}/device_logs](https://dev-docs.tidepool.org/reference/blob.v1/device-logs/uploaddevicelogs.md): Uploads a new device logs json to the user's account. The Digest header must represent the MD5 hash of the json data content.

### List device logs metadata

 - [GET /v1/users/{userId}/device_logs](https://dev-docs.tidepool.org/reference/blob.v1/device-logs/listdevicelogs.md): List previously uploaded device logs json data in the user's account. The list must be filtered with startAt and endAt parameters

