Training Program Tools
Read the user's training Program, or propose one they accept in the app.
get_exercise_library
The exercises a Program can use (ids, names, muscles, equipment) and the exact JSON shape propose_program expects. Call it before composing a Program: only these exercise ids are valid.
Parameters: none. Permission: health:read
get_my_program
The user's current Program: the active one, or the newest proposal waiting for them to accept in the app. status says which.
| Parameter | Notes |
|---|---|
date | A day to focus on, YYYY-MM-DD |
Permission: health:read
propose_program
Saves a Program you composed as a proposal the user accepts in the Betterness app. It never replaces an active Program (the user ends that in the app) and replaces an earlier open proposal. Show the user the plan before saving. An answer with a correction means the Program needs that fix before calling again.
| Parameter | Notes |
|---|---|
goal | Required. The goal in a few words, at most 60 characters, e.g. "Build strength" |
program | Required. The Program, in the programSchema shape from get_exercise_library |
schedule | {{daysPerWeek: 2-5, minutesPerSession: 30|45|60|75}}. The number of sessions must match daysPerWeek. |
constraints | {{equipment: [...], targetMuscles: [...]}}, values from get_exercise_library |
locale | en, es or pt, for names Betterness adds |
Permission: program:write

