Retrieving Physio Data
Retrieve User-specific physio marker, activity, and sleep data from the wearables service.
Retrieving Physio Data
Physio data is User-specific activity, sleep, and physiologic data returned by the wearables service after a supported source has been connected or synced.
Use this page when your application needs date-range data for a User: physiomarker values, activity logs, sleep logs, or provider sync state. This page assumes the data source already exists.
Retrieve dated physiologic marker values such as resting heart rate.
Retrieve dated activity logs with activity tags and available activity metrics.
Retrieve dated sleep logs with sleep timing and stage fields when available.
Where This Fits
Use this page after a User has connected or synced a supported physio data source and your product needs the data returned by the wearables service.
What You Can Retrieve
| Data | Endpoint | What it returns |
|---|---|---|
| Physio marker values | GET /wearables/customer/v1/physio-markers | Dated marker values with tag and value. |
| Activity logs | GET /wearables/customer/v1/activities | Dated activity records with activity tag, start time, duration, calories, MET value, and average heart rate when available. |
| Sleep logs | GET /wearables/customer/v1/sleeps | Dated sleep records with sleep timing and stage fields when available. |
| Connected providers | GET /wearables/customer/v1/provider | Provider tags, connection timestamps, and latest sync timestamps. |
Before You Begin
| Requirement | Why you need it |
|---|---|
| Customer-level token | Required for every User-specific physio data request. |
| Connected or synced data source | Required before wearable-derived values, activity logs, or sleep logs can be returned. |
| Date range | Required for physio marker, activity, and sleep retrieval. |
| Reference data | Required to translate returned physio marker and activity tags into display labels, units, categories, and precision. |
Date Range Rules
The physio marker, activity, and sleep endpoints use the same date range query parameters.
GET /wearables/customer/v1/{resource}?startDate={YYYY-MM-DD}&endDate={YYYY-MM-DD}
Authorization: Bearer {customer_access_token}| Parameter | Required | Description |
|---|---|---|
startDate | Yes | Start date in YYYY-MM-DD format. |
endDate | Yes | End date in YYYY-MM-DD format. The maximum range is 90 days from startDate. |
Provider State
Use provider state when your application needs to confirm that a User has a connected provider or explain missing or stale data.
GET /wearables/customer/v1/provider
Authorization: Bearer {customer_access_token}Common response fields
| Field | Description |
|---|---|
tag | Connected provider tag. |
connectionDateTime | Timestamp when the provider connection was created. |
latestSyncDateTime | Latest sync timestamp returned for the provider. |
Physio Marker Values
GET /wearables/customer/v1/physio-markers?startDate=2025-09-22&endDate=2025-09-23
Authorization: Bearer {customer_access_token}Example response:
[
{
"date": "2025-09-22",
"tag": "RHR_D",
"value": 72.5
}
]Common response fields
| Field | Description |
|---|---|
date | Date associated with the marker value. |
tag | Physio marker tag. Match this to GET /wearables/public/v1/reference-data/physio-markers. |
value | Numeric marker value. Use reference metadata for units and precision. |
Activity Logs
GET /wearables/customer/v1/activities?startDate=2025-09-22&endDate=2025-09-23
Authorization: Bearer {customer_access_token}Example response:
[
{
"date": "2025-09-22",
"tag": "BIKE",
"startDateTime": "2025-09-22T10:15:30",
"duration": 60,
"calories": 500,
"met": 8.5,
"averageHeartRate": 140
}
]Common response fields
| Field | Description |
|---|---|
date | Date associated with the activity. |
tag | Activity tag. Match this to GET /wearables/public/v1/reference-data/activities. |
startDateTime | Activity start date and time. |
duration | Activity duration value returned by the API. |
calories | Calories value when available. |
met | MET value when available. |
averageHeartRate | Average heart rate value when available. |
Sleep Logs
GET /wearables/customer/v1/sleeps?startDate=2025-09-22&endDate=2025-09-23
Authorization: Bearer {customer_access_token}Example response:
[
{
"date": "2025-09-22",
"startTime": -120,
"endTime": 360,
"timeAsleep": 480,
"deepSleep": 120,
"lightSleep": 240,
"remSleep": 90,
"unmeasurableSleep": 30,
"awake": 60
}
]Common response fields
| Field | Description |
|---|---|
date | Date associated with the sleep log. |
startTime | Sleep start time value returned by the API. |
endTime | Sleep end time value returned by the API. |
timeAsleep | Total asleep value returned by the API. |
deepSleep | Deep sleep value when available. |
lightSleep | Light sleep value when available. |
remSleep | REM sleep value when available. |
unmeasurableSleep | Unmeasurable sleep value when available. |
awake | Awake value when available. |
Reference Tags
The physio marker and activity endpoints return tag values. Use the public reference endpoints to translate those tags before displaying them.
| Reference endpoint | Use it for |
|---|---|
GET /wearables/public/v1/reference-data/physio-markers | Physio marker names, descriptions, units, types, and precision. |
GET /wearables/public/v1/reference-data/activities | Activity names and categories. |
Missing Or Stale Data
- Empty responses are valid when no data is available for the selected date range.
- A connected provider does not guarantee data for every day or every supported tag.
- Use
latestSyncDateTimefrom connected providers when your UI needs to explain freshness. - Treat activity and sleep fields as optional unless your product has confirmed they are always present for the selected data source.
- Keep raw
tagvalues available in logs for support and troubleshooting.
Best Practices
- Keep each retrieval request within the 90-day date range limit.
- Use reference endpoints instead of hard-coding physio marker or activity labels.
- Design empty states for Users who have not synced data or do not have data in the selected date range.
- Show source and freshness context when it affects how a User should interpret the data.
Implementation checklist
- You have a customer-level token for the User.
- The User has a connected or synced data source.
- You send
startDateandendDateinYYYY-MM-DDformat. - Each request stays within the 90-day date range limit.
- You map returned physio marker and activity
tagvalues to reference metadata. - You handle empty arrays as a valid no-data state.
- You treat optional fields as nullable in your application model.
Related API Reference
GET /wearables/customer/v1/providerGET /wearables/customer/v1/physio-markersGET /wearables/customer/v1/activitiesGET /wearables/customer/v1/sleepsGET /wearables/public/v1/reference-data/physio-markersGET /wearables/public/v1/reference-data/activities
Updated 27 days ago