create_routine
ChatGPTSaves a new routine to the lifter's Kovo account. It shows up under their routines in the app, ready to start. Look up every exercise id with search_exercises first. Give each set reps, a rep_range or seconds; weights are optional and use weight_unit (the lifter's own unit by default). Calling this twice makes two routines.
delete_routine
ChatGPTDeletes one saved routine for good. It does not touch finished workouts or the Journey. Always confirm with the lifter before calling this.
edit_journey_day
ChatGPTSets the exercises on one day of the lifter's split, in order, for the rest of the phase, like editing a day in Journey settings. exercise_ids is the whole day exactly as the lifter will do it: once a day is edited, Kovo stops adding exercises to it, so any exercise left out is gone, including ones get_journey marks addedByKovo. To swap one exercise, send every exercise get_journey lists for that day with only that one replaced. The result lists under removed any exercise the day's next workout had that the new list leaves out; tell the lifter about those. Kovo picks the sets, reps and weights. Any exercise from search_exercises can go on the day, even one outside the equipment in get_journey's settings: that equipment list only guides what Kovo picks on its own, and the lifter asking for an exercise is the stronger signal. A later equipment change in the app does not swap these exercises out. Get dayIds and current exercises from get_journey and new ids from search_exercises. Confirm the change with the lifter first.
get_exercise_progress
ChatGPTRead-only. How one exercise has gone over time: the lifter's recent sessions with every set, their personal records (heaviest weight, best estimated one-rep max, best volume), and their Strength Rank on that exercise (Bronze to Champion). Get exercise ids from search_exercises or other tools.
get_journey
ChatGPTRead-only. The lifter's whole Journey: the current phase and week, sessions done, the next deload, the days of their split (each with a dayId and the exercises its next workout has; days[0] is the one coming up next), the upcoming workouts, and their plan settings (class, workouts per week, session length, split, equipment). An exercise marked addedByKovo is one Kovo added to fill the workout out; it is not saved on the day, and editing the day without it removes it. Use the dayIds with reorder_journey_days and edit_journey_day. When trainerProgram is set, the Journey is a program from their personal trainer: its days are the trainer's, and edit_journey_day can't change them.
get_muscle_stats
ChatGPTRead-only. Each of the 13 muscles Kovo tracks (the Muscles view on the You tab): its Level, XP saved toward the next Level and the XP the next Level costs, its strength score and Strength Rank, sets and volume in the last 7 days, how recovered it is (0 to 100 percent), and its best lift. Pass days to also count each muscle's sets over a longer stretch, e.g. days 14 for 'the last 2 weeks'. Read howSetsCount before quoting a set count. The defense muscle is the one used in Clan Wars.
get_profile_stats
ChatGPTRead-only. The lifter's Kovo profile and headline stats, the same numbers as the You tab in the app: name, class and class level with XP to the next level, streak, total workouts, total weight lifted, minutes trained, overall strength score and Strength Rank (Bronze to Champion) with their top percent of lifters, and workout sessions this month and this year. Use get_muscle_stats for the 13 muscles.
get_routine
ChatGPTRead-only. One saved routine with every exercise, its sets, reps or rep ranges, target weights, rest and supersets. Get routine ids from list_routines.
get_todays_workout
ChatGPTRead-only. The next workout on the lifter's Journey (Kovo's planned program): its name, every exercise with sets, reps or rep ranges, target weights and rest, plus the next few workouts after it and progress toward this week's goal. The Journey is a queue, not a calendar: today's workout is whatever is next, whether or not they trained yesterday. Weights are Kovo's own suggestions from the lifter's history.
get_training_report
ChatGPTRead-only. Totals for a week, month, year or all time, the same as the report in the app: workouts (lifting plus cardio and sports), time trained, volume, sets and reps, broken down by day or month, and how the volume split across chest, back, shoulders, arms, legs and core. Pass date (YYYY-MM-DD) to look at the period containing that day instead of the current one.
get_workout
ChatGPTRead-only. Every set of one finished workout: reps, weight, seconds, effort (RPE) and any personal records set, plus its minutes, volume and XP. Get workout ids from get_workout_history.
get_workout_history
ChatGPTRead-only. The lifter's finished workouts, newest first: date, name, minutes, total volume, XP earned and each exercise with its best set. Also lists cardio and sports sessions (runs, walks, rides and more) unless include_activities is false. Use get_workout for every set of one workout. Page back with before set to the oldest date you already have.
list_routines
ChatGPTRead-only. The lifter's saved routines (workouts they keep and start whenever they like, separate from the Journey), newest first, with each routine's id, name, folder, exercise names and estimated minutes. Use get_routine for sets and reps.
reorder_journey_days
ChatGPTChanges which day of the split comes next, like 'Do this next' in the app. Pass next_day_id to bring one day to the front and keep the rest in order, or day_ids with every dayId of the split in the new order (first = next). Get dayIds from get_journey. The order holds for the rest of the phase.
search_exercises
ChatGPTRead-only. Finds exercises in Kovo's catalog and the lifter's own custom exercises by name, muscle or equipment, and returns their exerciseIds. Always use this to get ids before create_routine, update_routine or edit_journey_day; never guess an id. Exercises the lifter has done before come first. Names read 'Movement (Equipment)', e.g. 'Bench Press (Barbell)'.
skip_todays_workout
ChatGPTSwaps today's Journey workout for the next one in the plan, like Skip in the app. Nothing is lost and the plan does not get longer: the skipped day comes back around later. Confirm with the lifter first. Leave workout_id out to skip the current workout.
stop_using_exercise
ChatGPTTakes an exercise out of every day of the Journey and stops Kovo from picking it again, like disliking it in the app. On each day that had it, Kovo puts in a similar exercise if one fits. If none fits, the exercise just comes off that day (Kovo may fill the workout out with a different one), and a day's main lift stays when nothing can replace it. The result lists what happened on each day under days. Use this when the lifter says they don't want, can't do, or don't have the equipment for an exercise. Confirm with the lifter first.
update_routine
ChatGPTChanges a saved routine: rename it, move it to a folder, and/or replace its whole exercise list. When exercises is given it replaces every exercise, so read the routine with get_routine first and send the full new list. Confirm the change with the lifter first.
create_routine
Claudedelete_routine
Claudeedit_journey_day
Claudeget_exercise_progress
Claudeget_journey
Claudeget_muscle_stats
Claudeget_profile_stats
Claudeget_routine
Claudeget_todays_workout
Claudeget_training_report
Claudeget_workout
Claudeget_workout_history
Claudelist_routines
Claudereorder_journey_days
Claudesearch_exercises
Claudeskip_todays_workout
Claudestop_using_exercise
Claudeupdate_routine
Claude