---
title: "Get detailed workout information with heart rate chart"
method: GET
path: "/api/health/workout-detail/{id}"
tags: ["Health"]
---

# Get detailed workout information with heart rate chart

`GET /api/health/workout-detail/{id}`

## Request

- Base URL: `https://api.hiyd.ai`
- URL: `https://api.hiyd.ai/api/health/workout-detail/{id}`
- Auth: HTTP bearer

Returns detailed workout data including heart rate timeline during the workout

## Path parameters

- `id` string, uuid, required

## Response `200`

Workout detail retrieved successfully

- object
  - `workout` object
    - `id` string
    - `workout_type` string
    - `start_time` string
    - `end_time` string
    - `duration_minutes` integer
    - `duration_formatted` string
    - `calories_burned` number
    - `calories_estimated` boolean: True when calories_burned is estimated rather than measured, from heart rate (Keytel et al. 2005), or for a workout without heart rate, from its sport (2024 Adult Compendium of Physical Activities MET x weight x active hours)
    - `steps` integer, nullable: Band steps between start and end; null until the band has synced past the end
    - `distance_meters` number
    - `distance_estimated` boolean: True when distance_meters is estimated from band steps and height (running, walking and hiking recorded in the app) rather than recorded
  - `heart_rate_stats` object
    - `min_bpm` integer
    - `max_bpm` integer
    - `avg_bpm` integer
  - `heart_rate_chart` object[]
    - `timestamp` string
    - `time_label` string
    - `heart_rate` integer
    - `source` 'live' | 'band': App-recorded workouts only. live = read by the phone during the workout; band = the band's own 60-second window (none from paused time)
    - `duration_seconds` integer: App-recorded workouts only. The time this reading stands for
  - `band_data` object, nullable: App-recorded workouts only (null otherwise)
    - `status` 'synced' | 'waiting' | 'unavailable': synced: the band's data for the workout has all arrived. waiting: not yet, and the workout ended under a day ago. unavailable: not yet, and no longer expected.
  - `activity_difficulty` number: Activity difficulty score (0-10)

## Other responses

- `404`: Workout not found

---

[API](https://skmtc.dev/hiyd/apis/hiyd-backend-api.md) - [All operations](https://skmtc.dev/hiyd/apis/hiyd-backend-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hiyd/apis/hiyd-backend-api/revisions/23598d347e1b?raw)
