compare_workouts
Compare repeated executions of the same workout over time on comparable work intervals to track power, heart rate, cadence and RPE trends.
Instructions
Use to compare repeated executions of the same workout over time (e.g. every 3 x 10 min threshold session) on truly comparable work intervals.
Activities by name search (query), activity_ids or a date range (default the last 90 days); limit 8 (max 12). WORK intervals are split into main set (similar length and intensity), surges, other and excluded; the main set gets time-weighted power, NP, HR, max HR, cadence, W/bpm. Only activities matching the reference pattern (reference_activity_id, else the newest; length ±25 %, intensity ±8 points of FTP) are compared; trends first -> last with n (< 3 not reliable). RPE is whole-activity only; gear and power meter differences are flagged; no verdict. Read-only; one API call per activity plus 1-3 (one more per id with activity_ids). Method: intervals://methods/comparisons (get_guide).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum activities, newest first; capped to 1-12 | |
| query | No | Text in activity names, or "#tag" for an exact tag | |
| gear_id | No | Only activities on this gear id (get_gear_list) | |
| end_date | No | Last day YYYY-MM-DD; default today | |
| max_reps | No | Only main sets with at most this many intervals | |
| min_reps | No | Only main sets with at least this many intervals | |
| ftp_range | No | Only activities with FTP at the time in "low-high" W, e.g. "225-240" | |
| athlete_id | No | Default: the configured athlete | |
| start_date | No | First day YYYY-MM-DD; default 90 days before end_date (name search: none, or 365 days before the reference) | |
| include_rpe | No | Show whole-activity RPE and its trend | |
| sport_types | No | Comma-separated activity types or "all"; default the sport family of the reference or newest | |
| activity_ids | No | Comma-separated activity ids (query is then ignored) | |
| max_intensity | No | Only WORK intervals at or below this % of FTP | |
| min_intensity | No | Only WORK intervals at or above this % of FTP (replaces the 70 % floor) | |
| output_format | No | json = machine-readable, all fields | text |
| comparable_only | No | Table only activities matching the pattern; false tables all, with the reason | |
| max_interval_secs | No | Only WORK intervals at most this long (s) | |
| min_interval_secs | No | Only WORK intervals at least this long (s); shorter ones under 2 min are surges | |
| reference_activity_id | No | Activity whose main set defines the pattern; default the newest |