Trainero Workouts – API Workflow

Flowchart of all 33 schema-related APIs and example workflows. See Mock API playground to run dummy requests.

1. Full API map (33 operations)

Every operation maps to docs/schema.sql. Base path: /v1. Headers: x-tenant-id, x-user-id.

Area Method Path
WorkoutsGET/workouts
WorkoutsPOST/workouts
WorkoutsGET/workouts/{workout_id}
WorkoutsPOST/workouts/{workout_id}/archive
Workout draftsGET/workouts/{workout_id}/draft
Workout draftsPATCH/workouts/{workout_id}/draft
Workout draftsPOST/workouts/{workout_id}/publish
ExecutionsPOST/executions
ExecutionsGET/executions
ExecutionsGET/executions/{execution_id}
ExecutionsPOST/executions/{execution_id}/choices
ExecutionsPOST/executions/{execution_id}/results
ExecutionsPOST/executions/{execution_id}/complete
ExercisesGET/exercises
ExercisesPOST/exercises
ExercisesGET/exercises/{exercise_id}
ExercisesPUT/exercises/{exercise_id}
ExercisesPOST/exercises/{exercise_id}/archive
ExercisesPUT/exercises/{exercise_id}/star
ExercisesDELETE/exercises/{exercise_id}/star
ExercisesPOST/exercises/{exercise_id}/share
ExercisesDELETE/exercises/{exercise_id}/share
ExercisesPOST/exercises/{exercise_id}/duplicate
Exercise typesGET/exercise-types
Exercise typesPOST/exercise-types
Exercise equipmentGET/exercise-equipment
Exercise equipmentPOST/exercise-equipment
SetRep templatesGET/setrep-templates
SetRep templatesPOST/setrep-templates
SetRep templatesGET/setrep-templates/{template_id}
SetRep templatesPUT/setrep-templates/{template_id}
SetRep templatesPOST/setrep-templates/{template_id}/share
SetRep templatesPOST/setrep-templates/{template_id}/duplicate

2. Workout + Publish flow

Trainer creates a workout, edits the draft (holders, alternatives, setrep rows), then publishes. Default version is used when a customer starts an execution.

flowchart LR A[POST /workouts] --> B[GET /workouts/id/draft] B --> C[PATCH /workouts/id/draft] C --> D[POST /workouts/id/publish] D --> E[GET /workouts/id] E --> F[POST /workouts/id/archive]

3. Execution flow

Customer starts an execution (uses workout default version), chooses alternatives per holder, logs setrep results, then completes or abandons.

flowchart LR A[POST /executions] --> B[GET /executions/id] B --> C[POST /executions/id/choices] C --> D[POST /executions/id/results] D --> E[POST /executions/id/complete]

4. Schema ↔ API (high level)

Which schema areas each API group touches.

flowchart TB subgraph workouts [Workouts] w[workout, workout_version, workout_version_i18n] p[workout_pattern, workout_pattern_i18n, workout_pattern_membership] h[workout_exercise_holder, workout_exercise_alternative, workout_setrep_row] end subgraph executions [Executions] ex[workout_execution, execution_choice, setrep_result_row] end subgraph exercises [Exercises] e[exercise, exercise_version, exercise_version_i18n, media, equipment, muscle] es[exercise_share, exercise_star] end subgraph ref [Reference] et[exercise_type, equipment, muscle] end subgraph templates [SetRep templates] st[setrep_template, setrep_template_i18n, setrep_template_row, setrep_template_share] end workouts --> executions ref --> exercises exercises --> workouts templates --> workouts