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.

Physiomarkers

Retrieve dated physiologic marker values such as resting heart rate.

Activity

Retrieve dated activity logs with activity tags and available activity metrics.

Sleep

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

DataEndpointWhat it returns
Physio marker valuesGET /wearables/customer/v1/physio-markersDated marker values with tag and value.
Activity logsGET /wearables/customer/v1/activitiesDated activity records with activity tag, start time, duration, calories, MET value, and average heart rate when available.
Sleep logsGET /wearables/customer/v1/sleepsDated sleep records with sleep timing and stage fields when available.
Connected providersGET /wearables/customer/v1/providerProvider tags, connection timestamps, and latest sync timestamps.

Before You Begin

RequirementWhy you need it
Customer-level tokenRequired for every User-specific physio data request.
Connected or synced data sourceRequired before wearable-derived values, activity logs, or sleep logs can be returned.
Date rangeRequired for physio marker, activity, and sleep retrieval.
Reference dataRequired 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}
ParameterRequiredDescription
startDateYesStart date in YYYY-MM-DD format.
endDateYesEnd 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
FieldDescription
tagConnected provider tag.
connectionDateTimeTimestamp when the provider connection was created.
latestSyncDateTimeLatest 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
FieldDescription
dateDate associated with the marker value.
tagPhysio marker tag. Match this to GET /wearables/public/v1/reference-data/physio-markers.
valueNumeric 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
FieldDescription
dateDate associated with the activity.
tagActivity tag. Match this to GET /wearables/public/v1/reference-data/activities.
startDateTimeActivity start date and time.
durationActivity duration value returned by the API.
caloriesCalories value when available.
metMET value when available.
averageHeartRateAverage 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
FieldDescription
dateDate associated with the sleep log.
startTimeSleep start time value returned by the API.
endTimeSleep end time value returned by the API.
timeAsleepTotal asleep value returned by the API.
deepSleepDeep sleep value when available.
lightSleepLight sleep value when available.
remSleepREM sleep value when available.
unmeasurableSleepUnmeasurable sleep value when available.
awakeAwake 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 endpointUse it for
GET /wearables/public/v1/reference-data/physio-markersPhysio marker names, descriptions, units, types, and precision.
GET /wearables/public/v1/reference-data/activitiesActivity 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 latestSyncDateTime from 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 tag values 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 startDate and endDate in YYYY-MM-DD format.
  • Each request stays within the 90-day date range limit.
  • You map returned physio marker and activity tag values 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/provider
  • GET /wearables/customer/v1/physio-markers
  • GET /wearables/customer/v1/activities
  • GET /wearables/customer/v1/sleeps
  • GET /wearables/public/v1/reference-data/physio-markers
  • GET /wearables/public/v1/reference-data/activities

Did this page help you?