Metrics
API Version 2 (V2)
Sleep
You can retrieve user sleep data by user_id and filter by date range
Get a sleep data by user_id
GET
Params
Query Parameters
user_id
required
String
User ID returned by add integration request. This key should be stored in your database against the user and used for all interactions with the Spike API.
start_date
required
String
Date from in YYYY-MM-DD format
end_date
required
String
Date to in YYYY-MM-DD format
Header Parameters
authorizationtoken
optional
String
Client access token (deprecated)
x-spike-auth
required
String
Client access token
Python
Node.js
Ruby
Java
Curl
|
import requests url = "https://api.spikeapi.com/v2/metrics/sleep/?user_id=282812818&start_date=2020-05-01&end_date=2020-05-03" headers = {} headers['x-spike-auth'] = 'fa0b3803-1111-2222-9788-eccce210d30c' response = requests.request("GET", url, headers=headers) print(response.text)
RESPONSES
200
|
{ "user_id": "282812818", "start_date": "2020-05-01", "end_date": "2020-05-03", "type": "sleep", "source": [ { "name": "fitbit", "status": "ok" } ], "data": [ { "date": "2020-05-01", "bedtime_start": "2020-05-01T01:12:13", "bedtime_end": "2020-05-01T09:36:13", "timezone_offset": 2400, "bedtime_duration": 28800, "total_sleep": 26000, "awake": 2800, "light": 18000, "rem": 5000, "deep": 3000, "hr_lowest": 50, "hr_average": 55, "efficiency": 0.9, "latency": 758, "temperature_delta": -0.1, "average_hrv": 78, "respiratory_rate": 14, "standardized_sleep_score": 85, "source_specific_sleep_score": 88, "source": "fitbit", "levels": [ { "date_time": "2020-05-01T01:52:10", "level": "light", "seconds": 320 }, { "date_time": "2020-05-01T01:57:33", "level": "deep", "seconds": 620 } ] } ] }
<style> @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300&display=swap'); .h2, .h3, .list, .description{ font-family: 'Poppins', sans-serif; font-weight: 500; } .h2 { margin-top: -20px; margin-bottom: 20px; font-size: 30px; } .h3 { font-size: 22px; margin-top: -20px; } .list-wrapper { white-space: normal; margin-top: -10px; } .list, .description { font-size: 14px; } </style> <h2 class="h2">Fields</h2> <h3 class="h3">Sleep.date</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Format: YYYY-MM-DD</li> <li class="list">Example: 2021-05-01</li> </ul><p class="description">The date when the sleep period ended</p> <h3 class="h3">Sleep.bedtime_start</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Format: Date time, YYYY-MM-DDThh:mm:ss</li> <li class="list">Example: 2021-05-01T01:12:13</li> </ul><p class="description">Local time when the sleep period started</p> <h3 class="h3">Sleep.bedtime_end</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Format: Date time, YYYY-MM-DDThh:mm:ss</li> <li class="list">Example: 2021-05-01T09:36:13</li> </ul><p class="description">Local time when the sleep period ended</p> <h3 class="h3">Sleep.timezone_offset</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 2400</li> </ul><p class="description">Time zone offset from UTC as seconds</p> <h3 class="h3">Sleep.bedtime_duration</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 28000</li> </ul><p class="description">Total duration of the sleep period (duration = bedtime_end - bedtime_start)</p> <h3 class="h3">Sleep.total_sleep</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 26000</li> </ul><p class="description">Total amount of sleep registered during the sleep period (total = rem + light + deep)</p> <h3 class="h3">Sleep.awake</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 2800</li> </ul><p class="description">Total amount of awake time registered during the sleep period</p> <h3 class="h3">Sleep.light</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 18000</li> </ul><p class="description">Total amount of light sleep registered during the sleep period</p> <h3 class="h3">Sleep.rem</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 5000</li> </ul><p class="description">Total amount of rem sleep registered during the sleep period</p> <h3 class="h3">Sleep.deep</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 3000</li> </ul><p class="description">Total amount of deep sleep registered during the sleep period</p> <h3 class="h3">Sleep.hr_lowest</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Beats per minute</li> <li class="list">Example: 50</li> </ul><p class="description">The lowest heart rate (5 minutes sliding average) registered during the sleep period</p> <h3 class="h3">Sleep.hr_average</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Beats per minute</li> <li class="list">Example: 55</li> </ul><p class="description">The average heart rate registered during the sleep period</p> <h3 class="h3">Sleep.efficiency</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Range: 0.0 - 1.0</li> <li class="list">Example: 0.9</li> </ul><p class="description">Sleep efficiency is the coefficient of the sleep period spent asleep (total_sleep / bedtime_duration)</p> <h3 class="h3">Sleep.latency</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 758</li> </ul><p class="description">Detected latency from bedtime_start to the beginning of the first five minutes of persistent sleep</p> <h3 class="h3">Sleep.temperature_delta</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Celcius</li> <li class="list">Example: -0.1</li> </ul><p class="description">Skin temperature deviation from the long-term temperature average</p> <h3 class="h3">Sleep.average_hrv</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Milliseconds</li> <li class="list">Example: 78</li> </ul><p class="description">The average HRV(Heart Rate Variability) calculated with rMSSD method</p> <h3 class="h3">Sleep.respiratory_rate</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Breaths per minute</li> <li class="list">Example: 14</li> </ul><p class="description">Average respiratory rate</p> <h3 class="h3">Sleep.standardized_sleep_score</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Range: 0-100</li> <li class="list">Example: 88</li> </ul><p class="description">Standardized sleep score</p> <h3 class="h3">Sleep.source_specific_sleep_score</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Range: 0-100</li> <li class="list">Example: 88</li> </ul><p class="description">Specific sleep score by data provider</p> <h3 class="h3">Sleep.levels.date_time</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Format: Date time, YYYY-MM-DDThh:mm:ss</li> <li class="list">Example: 2021-05-01T01:52:13</li> </ul><p class="description">Date and time the user started in sleep level</p> <h3 class="h3">Sleep.levels.level</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Values: deep | light | rem | awake</li> </ul><p class="description">The sleep level the user entered</p> <h3 class="h3">Sleep.levels.seconds</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 320</li> </ul><p class="description">The length of time the user was in the sleep level</p>