GET
/
workouts
/
{uuid}
Get workout detail
curl --request GET \
  --url http://healthkite.local:8080/workouts/{uuid}
{
  "uuid": "06E9D6D6-7E37-406C-8465-1DAAD7C223A1",
  "workoutActivityType": "HKWorkoutActivityTypeRunning",
  "sampleEncoding": "columnar-v1",
  "startDate": "2026-05-09T16:11:50Z",
  "endDate": "2026-05-09T16:44:24Z",
  "duration": 1953.68,
  "totalDistance": {
    "value": 4855.06,
    "unit": "m"
  },
  "totalEnergyBurned": {
    "value": 482.62,
    "unit": "kcal"
  },
  "src": 0,
  "sources": [
    {
      "id": 0,
      "device": {
        "name": "Apple Watch",
        "model": "Watch",
        "hardwareVersion": "Watch6,11",
        "softwareVersion": "26.4"
      }
    }
  ],
  "samples": {
    "HKQuantityTypeIdentifierHeartRate": {
      "unit": "count/min",
      "t": [
        0,
        5,
        10,
        15
      ],
      "v": [
        108,
        112,
        120,
        124
      ]
    }
  },
  "statistics": {
    "HKQuantityTypeIdentifierHeartRate": {
      "average": {
        "value": 165.92,
        "unit": "count/min"
      },
      "minimum": {
        "value": 117,
        "unit": "count/min"
      },
      "maximum": {
        "value": 191,
        "unit": "count/min"
      }
    }
  }
}
uuid is case-insensitive. Get one from list_workouts.

MCP tool

get_workout({ "uuid": "06E9D6D6-7E37-406C-8465-1DAAD7C223A1" })

Sample shape

Each entry in samples.* follows the columnar shape detailed in Columnar encoding:
  • unit — hoisted once per stream
  • t — integer seconds offset from the workout’s startDate
  • dur — present iff any sample has non-zero duration
  • v — sample values in unit
  • src — present iff samples span multiple sources (rare)
  • metadata — sparse map by sample-index when present

Typical size

A 30-min run produces ~80-100 KB. Compare with the same data in per-sample-dict form: ~1.2 MB.

Errors

  • 404 not_found — UUID doesn’t match any workout.

Path Parameters

uuid
string
required

Workout UUID (case-insensitive) from /workouts.

Response

Workout detail