Garmin Activity Series
garmin_activity_seriesGet a downsampled time-series for one activity metric (heart rate, power, cadence, speed, elevation) capped at 500 points to fit context windows. Returns exact stats and the shape of the effort.
Instructions
Bounded time-series for one activity metric. Returns exact stats computed on full-resolution samples plus a downsampled series capped at 500 points, so a 3-hour ride at 1 Hz never blows the context window. Prefer garmin_get_activity / splits / hr_zones first; reach for this when you actually need the shape of the effort over time. GPS is never returned here.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Garmin activity id. | |
| metric | No | Which sample stream to shape. GPS is never available here; use privacy_mode escalation on garmin_get_activity_details instead. | heart_rate |
| max_points | No | Point budget for the returned series. Server hard cap is 500. | |
| response_format | No | markdown | |
| reference_max_hr | No | Reference max heart rate for zone math (reference_source=caller_provided). Without it, uses the activity row maxHR when available (activity_recorded_max), else the series observed max. | |
| resolution_seconds | No | Requested bucket width. Automatically increased when it would exceed max_points; the response reports what was actually used. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| unit | Yes | ||
| notes | Yes | ||
| stats | Yes | ||
| method | Yes | ||
| metric | Yes | ||
| points | Yes | ||
| t_unit | Yes | ||
| start_time | No | Absolute activity start (ISO 8601) when known. points[].t is relative to this. | |
| activity_id | Yes | ||
| downsampled | Yes | ||
| data_quality | Yes | ||
| time_in_zone | No | ||
| source_points | Yes | ||
| returned_points | Yes | ||
| contract_version | Yes | ||
| resolution_seconds | Yes | ||
| requested_resolution_seconds | Yes |