Download one user's daily summary data
curl --request GET \
--url https://web-api.soxai.site/api/DailyInfoData/{query_uid} \
--header 'Authorization: Bearer <token>'import requests
url = "https://web-api.soxai.site/api/DailyInfoData/{query_uid}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://web-api.soxai.site/api/DailyInfoData/{query_uid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"_time": "2026-01-01T00:00:00+00:00",
"uid": "user123",
"qol_score": 74,
"health_hr": 68,
"sleep_total_time": 431
}
]{
"error": "bad-request",
"error_msg": "Invalid start_time. Use a duration such as '-30d', an RFC3339 timestamp such as '2026-01-01T00:00:00Z', a date such as '2026-01-01', unix seconds, or 'now()'."
}{
"error": "http-error",
"error_msg": "Invalid authentication credentials. <reason>"
}{
"error": "forbidden",
"error_msg": "Not enough permission"
}{
"error": "not-found",
"error_msg": "User '<uid>' not found"
}{
"error": "unprocessable-entity",
"error_msg": "body.<field>: <validation message>"
}{
"error": "rate-limited",
"error_msg": "Rate limit exceeded. Retry after <n> seconds."
}{
"error": "internal-server-error",
"error_msg": "Failed to fetch data: <error_message>"
}Data (v1)
Download one user's daily summary data
Download day-level summary records (SX_Daily_Prod) for one user, as
CSV or JSON.
Field names are the raw database names. /api/v2/DailyInfoData/{query_uid} returns the same
data with standardized names and is the endpoint to use for new integrations.
Parameters
query_uid(path, required) - the user whose records are read.start_time/stop_time(query, optional) - range bounds. Each accepts a Flux duration (-30d), an RFC3339 timestamp, a date (2026-01-01), unix seconds, ornow(). When omitted they followpage.page(query, optional, default0) - selects a 30-day window counted back from now.format(query, optional) -csv(default) returns a file download;jsonreturns the records inline.
Response
200with the records sorted by_timeascending, or{"msg": "No data found"}when the range holds none.
Errors
| Status | Condition |
|---|---|
| 400 | start_time or stop_time is not a form Flux reads as a range |
| 403 | The caller is asking for somebody else’s data without a role that allows it, or is a PartnerAdmin and query_uid is not registered under its company |
| 404 | query_uid belongs to no SOXAI account |
Authorization
- Scheme:
Authorization: Bearer <idToken>orsoxai-api-key: <api key>. - Reading one’s own
query_uidneeds no role. - Otherwise
AdminorPartnerAdmin, and aPartnerAdminreaches only the users registered under its own company.OrgAdminis not accepted here;/api/v2/DailyInfoData/{query_uid}does accept it.
Response fields
Common fields
| Field | Unit | Description |
|---|---|---|
_time | datetime | Time: Data timestamp |
_measurement | string | Measurement Type: Type of measurement data |
uid | string | User ID: User identifier |
cal_record | string | Calorie Record: Calorie record data |
table | count | Table: Table number |
SX_Daily_Prod
| Field | Unit | Description |
|---|---|---|
qol_score | pt | QoL Score: Overall index of physical and mental wellness |
activity_score | pt | Activity Score: Index of physical activity |
activity_ree_calories | kcal | Activity - Basal Metabolic Calories: Minimum energy expenditure required to sustain life |
activity_calories | kcal | Activity - Calories Burned: Calories burned through activity |
activity_steps | step | Activity - Steps: Number of steps in a day |
activity_METs | METs | Activity - METs: Physical activity intensity for the day, in multiples of the resting metabolic rate |
health_score | pt | Health Score: Overall index of physical health, ranging from 0 to 100 |
health_hr | bpm | Health - Average Daytime Heart Rate: Average daytime heart rate over a day |
health_hr_max | bpm | Health - Maximum Daytime Heart Rate: Maximum daytime heart rate over a day |
health_hr_min | bpm | Health - Minimum Daytime Heart Rate: Minimum daytime heart rate over a day |
health_hrv | ms | Health - Average Daytime Heart Rate Variability: Daily average heart rate variability (RMSSD) |
health_hrv_max | ms | Health - Maximum Daytime Heart Rate Variability: Daily maximum heart rate variability (RMSSD) |
health_hrv_min | ms | Health - Minimum Daytime Heart Rate Variability: Daily minimum heart rate variability (RMSSD) |
health_spo2 | % | Health - Average Blood Oxygen Saturation: Daily average blood oxygen saturation |
health_spo2_max | % | Health - Maximum Blood Oxygen Saturation: Daily maximum blood oxygen saturation |
health_spo2_min | % | Health - Minimum Blood Oxygen Saturation: Daily minimum blood oxygen saturation |
health_stress | pt | Health - Average Stress Level: Daily average stress level |
health_stress_max | pt | Health - Maximum Stress Level: Daily maximum stress level |
health_stress_min | pt | Health - Minimum Stress Level: Daily minimum stress level |
health_temperature | °C | Health - Average Skin Temperature: Daily average skin temperature |
health_temperature_max | °C | Health - Maximum Skin Temperature: Daily maximum skin temperature |
health_temperature_min | °C | Health - Minimum Skin Temperature: Daily minimum skin temperature |
health_blood_pressure | mmHg | Health - Blood Pressure: Blood pressure measurement |
sleep_score | pt | Sleep Score: Overall index of sleep quality |
sleep_total_time | mins | Sleep - Total Sleep Time: Total sleep duration |
sleep_total_time_true | mins | Sleep - Actual Sleep Time: Actual time spent asleep |
sleep_total_time_exclude_awake | mins | Sleep - Sleep Time Excluding Awake Time: Sleep duration excluding time spent awake |
sleep_awake_time | mins | Sleep - Awake Time: Total time spent awake during sleep |
sleep_rem_time | mins | Sleep - REM Sleep Time: Total time spent in the REM sleep stage |
sleep_light_sleep_time | mins | Sleep - Light Sleep Time: Total time spent in the light sleep stage |
sleep_light_time | mins | Sleep - Light Sleep Time: Total time spent in the light sleep stage (alias) |
sleep_deep_sleep_time | mins | Sleep - Deep Sleep Time: Total time spent in the deep sleep stage |
sleep_deep_time | mins | Sleep - Deep Sleep Time: Total time spent in the deep sleep stage (alias) |
sleep_nap_time | mins | Sleep - Nap Time: Total duration of daytime sleep episodes lasting at least 15 consecutive minutes |
sleep_latency | mins | Sleep - Sleep Latency: Time taken to fall asleep |
sleep_efficiency | % | Sleep - Sleep Efficiency: Index of sleep efficiency |
sleep_start_time | second | Sleep - Bedtime (UNIX): Bedtime as a UNIX timestamp |
sleep_start_time_offset_mins | mins | Sleep - Bedtime Offset: Bedtime as elapsed minutes since midnight JST |
sleep_end_time | second | Sleep - Wake Time (UNIX): Wake time as a UNIX timestamp |
sleep_end_time_offset_mins | mins | Sleep - Wake Time Offset: Wake time as elapsed minutes since midnight JST |
sleep_n1_time | mins | Sleep - N1 Stage Time: Time spent in non-REM sleep stage N1 |
sleep_n2_time | mins | Sleep - N2 Stage Time: Time spent in non-REM sleep stage N2 |
sleep_n3_time | mins | Sleep - N3 Stage Time: Time spent in non-REM sleep stage N3 |
sleep_hr_mean | bpm | Sleep - Average Heart Rate: Average heart rate during sleep |
sleep_hr_min | bpm | Sleep - Minimum Heart Rate: Minimum heart rate during sleep |
sleep_hrv_mean | ms | Sleep - Average Heart Rate Variability: Average heart rate variability during sleep |
sleep_debt | mins | Sleep - Sleep Debt: Accumulated sleep debt |
sleep_ahi_max | index | Sleep - Maximum AHI: Maximum apnea-hypopnea index |
sleep_respiration_rate_mean | breath/min | Sleep - Average Respiratory Rate: Average respiratory rate during sleep |
sleep_spo2_max | % | Sleep - Maximum Blood Oxygen Saturation: Maximum blood oxygen saturation during sleep |
sleep_spo2_min | % | Sleep - Minimum Blood Oxygen Saturation: Minimum blood oxygen saturation during sleep |
sleep_spo2_mean | % | Sleep - Average Blood Oxygen Saturation: Average blood oxygen saturation during sleep |
sleep_efficiency_include_latency | % | Sleep - Sleep Efficiency Including Latency: Sleep efficiency including sleep latency |
sleep_start_time_include_latency | second | Sleep - Bedtime Including Latency: Bedtime including sleep latency |
sleep_total_time_include_latency | mins | Sleep - Total Sleep Time Including Latency: Total sleep duration including sleep latency |
sleep_awake_time_include_latency | mins | Sleep - Awake Time Including Latency: Awake time including sleep latency |
utc_offset_mins | mins | UTC Offset: Time difference from UTC in minutes |
activity_METs_f | Activity - METs (Floating Point): Activity - METs (Floating Point). Unit and value semantics are not specified in the supplied schema. | |
activity_metsh | Activity - MET Hours: Activity - MET Hours. Unit and value semantics are not specified in the supplied schema. | |
activity_metsh_mvpa | Activity - MVPA MET Hours: Activity - MVPA MET Hours. Unit and value semantics are not specified in the supplied schema. | |
activity_time_mvpa | Activity - MVPA Time: Activity - MVPA Time. Unit and value semantics are not specified in the supplied schema. | |
activity_time_sedentary | Activity - Sedentary Time: Activity - Sedentary Time. Unit and value semantics are not specified in the supplied schema. |
GET
/
api
/
DailyInfoData
/
{query_uid}
Download one user's daily summary data
curl --request GET \
--url https://web-api.soxai.site/api/DailyInfoData/{query_uid} \
--header 'Authorization: Bearer <token>'import requests
url = "https://web-api.soxai.site/api/DailyInfoData/{query_uid}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://web-api.soxai.site/api/DailyInfoData/{query_uid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"_time": "2026-01-01T00:00:00+00:00",
"uid": "user123",
"qol_score": 74,
"health_hr": 68,
"sleep_total_time": 431
}
]{
"error": "bad-request",
"error_msg": "Invalid start_time. Use a duration such as '-30d', an RFC3339 timestamp such as '2026-01-01T00:00:00Z', a date such as '2026-01-01', unix seconds, or 'now()'."
}{
"error": "http-error",
"error_msg": "Invalid authentication credentials. <reason>"
}{
"error": "forbidden",
"error_msg": "Not enough permission"
}{
"error": "not-found",
"error_msg": "User '<uid>' not found"
}{
"error": "unprocessable-entity",
"error_msg": "body.<field>: <validation message>"
}{
"error": "rate-limited",
"error_msg": "Rate limit exceeded. Retry after <n> seconds."
}{
"error": "internal-server-error",
"error_msg": "Failed to fetch data: <error_message>"
}Authorizations
HTTPBearerSoxaiApiKey
Query Parameters
Response
The day-level summary records under their stored field names, sorted by _time ascending. A range holding no rows answers with the No data found message rather than an empty array.