get_training_summary
Aggregate training totals for a date range by week, month, sport, gear or overall, including sessions, distance, load, zones and CTL/ATL trends.
Instructions
Use for training totals of a period grouped by ISO week, month, sport (activity type), gear or in total, including custom activity fields (read-only).
Per group and in total: sessions, moving/elapsed time, distance, elevation, Intervals.icu load with the power/HR/pace load sums, time-weighted intensity, CTL/ATL/form/ramp at the end of the group's week or month, time in power (sweet spot apart) and HR zones, sport and gear splits, feel and RPE, sessions of 3 h or more, the longest session, trainer sessions. Numeric custom fields are aggregated by units and meaning: additive values summed, device loads summed apart from the Intervals.icu load, estimates as latest value and change, per-activity values as mean/median/range. Missing values are skipped, never counted as 0. Per-week view in one call: get_weekly_summary. Method: intervals://methods/summary (get_guide).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | Last day YYYY-MM-DD; default today | |
| group_by | No | week = ISO weeks from Monday; month; sport = activity type; gear; total = one group | week |
| athlete_id | No | Default: the configured athlete | |
| start_date | Yes | First day YYYY-MM-DD | |
| sport_types | No | Comma-separated activity types, e.g. "Ride,GravelRide" | |
| detail_level | No | compact = totals, loads, fitness, sessions per sport, device loads; standard (text default) adds zones, gear, feel/RPE, custom fields; full adds the aggregation reason per custom field | |
| include_gear | No | Per-gear split inside each group (text, standard and full) | |
| output_format | No | text (readable) or json (the parts of an explicit detail_level, else all fields) | text |