Skip to content

Clinics API (1.0)

Web service that stores information about clinics, clinicians and their patients

Download OpenAPI description
Languages
Servers
Mock server

https://tidepool.redocly.app/_mock/reference/clinic.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/

Clinics

Manage clinics, clinians and patients.

Operations

Request

Retrieve the list of clinic members.

Security
sessionToken
Path
clinicIdstring^[a-f0-9]{24}$required
Query
searchstring

Full text search query

offsetinteger>= 0
limitinteger>= 1
Default 10
emailstring(email)
rolestring
curl -i -X GET \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinics/{clinicId}/clinicians?search=string&offset=0&limit=10&email=user%40example.com&role=string' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/jsonArray [
idstring(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

inviteIdstring

The id of the invite if it hasn't been accepted

emailstring(email)required
namestringnon-empty

The name of the clinician

rolesArray of strings(Clinician Permissions)non-emptyuniquerequired
Items Enum"CLINIC_ADMIN""CLINIC_MEMBER""PRESCRIBER"
createdTimestring(date-time)read-onlyrequired
updatedTimestring(date-time)read-onlyrequired
]
Response
application/json
[ { "id": "string", "inviteId": "string", "email": "user@example.com", "name": "string", "roles": [ … ], "createdTime": "2019-08-24T14:15:22Z", "updatedTime": "2019-08-24T14:15:22Z" } ]

Request

Internal endpoint to create a new clinician

Security
sessionToken
Path
clinicIdstring^[a-f0-9]{24}$required
Bodyapplication/json
inviteIdstring

The id of the invite if it hasn't been accepted

emailstring(email)required
namestringnon-empty

The name of the clinician

rolesArray of strings(Clinician Permissions)non-emptyuniquerequired
Items Enum"CLINIC_ADMIN""CLINIC_MEMBER""PRESCRIBER"
curl -i -X POST \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinics/{clinicId}/clinicians' \
  -H 'Content-Type: application/json' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE' \
  -d '{
    "inviteId": "string",
    "email": "user@example.com",
    "name": "string",
    "roles": [
      "CLINIC_ADMIN"
    ]
  }'

Responses

OK

Request

Retrieve a report of patients with tags by TIDE categories

Security
sessionToken
Path
clinicIdstring^[a-f0-9]{24}$required
Query
periodstring^(1d|7d|14d|30d)$

Time Period to display

Example: period=7d
tagsArray of strings(^[a-f0-9]{24}$)

Comma-separated list of patient tag IDs

lastDataCutoffstring(date-time)

Inclusive

curl -i -X GET \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinics/{clinicId}/tide_report?period=7d&tags=string&lastDataCutoff=2019-08-24T14%3A15%3A22Z' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
configobject(tideconfig.v1)required
config.​schemaVersionnumberrequired

TIDE schema version

config.​clinicIdstring(Clinic ID)= 24 characters^[a-f0-9]{24}$read-onlyrequired

Clinic identifier.

Example: "2fe2488217ee43e1b2e83c2f"
config.​periodstring^(1d|7d|14d|30d)$required
Example: "7d"
config.​lastDataCutoffstring(date-time)required
config.​highGlucoseThresholdnumberrequired

Threshold used for determining if a value is high

config.​veryHighGlucoseThresholdnumberrequired

Threshold used for determining if a value is very high

config.​lowGlucoseThresholdnumberrequired

Threshold used for determining if a value is low

config.​veryLowGlucoseThresholdnumberrequired

Threshold used for determining if a value is very low

config.​tagsArray of strings or null(Patient Tag ID List)uniquerequired
config.​filtersobject(tidefilters.v1)required
config.​filters.​timeInVeryLowPercentstring^(>=|>|<=|<)\d\.\d\d?$required
Example: ">0.5"
config.​filters.​timeInAnyLowPercentstring^(>=|>|<=|<)\d\.\d\d?$required
Example: ">0.5"
config.​filters.​dropInTimeInTargetPercentstring^(>=|>|<=|<)\d\.\d\d?$required
Example: ">0.5"
config.​filters.​timeInTargetPercentstring^(>=|>|<=|<)\d\.\d\d?$required
Example: ">0.5"
config.​filters.​timeCGMUsePercentstring^(>=|>|<=|<)\d\.\d\d?$required
Example: ">0.5"
resultsobject(tideresults.v1)required
results.​property name*Array of objects(tideresultpatient.v1)additional property
Response
application/json
{ "config": { "schemaVersion": 0, "clinicId": "2fe2488217ee43e1b2e83c2f", "period": "7d", "lastDataCutoff": "2019-08-24T14:15:22Z", "highGlucoseThreshold": 0, "veryHighGlucoseThreshold": 0, "lowGlucoseThreshold": 0, "veryLowGlucoseThreshold": 0, "tags": [ … ], "filters": { … } }, "results": { "property1": [ … ], "property2": [ … ] } }

Confirmations

Manage confirmations for account creation, sharing invites, etc.

Operations

Internal

APIs intended for internal use by Tidepool.

Operations

Redox

Public endpoints invoked by Redox.

Operations