---
title: "Get full workout with all exercise data"
method: GET
path: "/workouts/{workout_id}/full"
tags: ["routines"]
---

# Get full workout with all exercise data

`GET /workouts/{workout_id}/full`

Retrieve a workout with all exercises fully expanded. This is a convenience endpoint that returns everything in a single call. The api_calls_cost field indicates the equivalent number of individual API calls this response counts as (1 workout + N exercises).

## Path parameters

- `workout_id` integer, required — Workout ID

## Query parameters

- `lang` string, nullable — Response language code (e.g. 'en-us', 'pt-br'). Defaults to 'en-us' when omitted. See GET /languages for the full list. Non-English languages require GROWTH tier or higher (BASIC keys get them in the Playground).

## Response `200`

Successful Response

- WorkoutFull — Full workout with complete exercise data included.
  - `id` integer, required — Workout ID
  - `name` string, required — Workout name
  - `slug` string, required — URL-friendly slug
  - `description` string, nullable — Workout description
  - `difficulty` string, nullable — Difficulty level
  - `goal` string, nullable — Workout goal
  - `equipment` string[] — Equipment needed
  - `muscles_targeted` string[] — Primary muscles targeted
  - `bodymap_male` string, nullable — Base bodymap stream URL for male images
  - `bodymap_female` string, nullable — Base bodymap stream URL for female images
  - `exercises` WorkoutExerciseFull[], required — Exercises with full data and prescription details
    - `sort` integer, required — Sort order within the workout
    - `superset` integer, nullable — Superset group number
    - `exercise` ExerciseStandard, required — Standard exercise information with essential details. This model provides a good balance between data completeness and response size, suitable for most use cases. Attributes: id: Unique exercise identifier. name: Exercise name. primary_muscles: Primary muscle groups targeted. category: Equipment category (e.g., Barbell, Dumbbells, Bodyweight). force: Force type (Push, Pull, Hold) - may be null for some exercises. grips: Grip types used (e.g., Overhand, Underhand, Neutral). mechanic: Exercise mechanic type (Isolation, Compound) - may be null. difficulty: Difficulty level (Novice, Beginner, Intermediate, Advanced) - may be null. steps: List of instruction steps. videos: List of available video demonstrations. bodymap_male: Base bodymap stream URL for male images. bodymap_female: Base bodymap stream URL for female images.
      - `id` integer, required — Unique exercise identifier
      - `name` string, required — Exercise name
      - `primary_muscles` string[], required — Primary muscle groups targeted
      - `category` string, required — Equipment category
      - `force` string, nullable — Force type: Push, Pull, or Hold
      - `grips` string[], required — Grip types used
      - `mechanic` string, nullable — Exercise mechanic: Isolation or Compound
      - `difficulty` string, nullable — Difficulty level: Novice, Beginner, Intermediate, or Advanced
      - `steps` string[], required — Step-by-step instructions
      - `videos` Video[], required — Available video demonstrations
        - `url` string, nullable — Direct URL to the video file (can be null)
        - `angle` string, required — Camera angle: front or side
        - `gender` string, required — Gender variant: male or female
        - `og_image` string, nullable — Open Graph image URL for preview/thumbnail
      - `bodymap_male` string, nullable — Base bodymap stream URL for male images
      - `bodymap_female` string, nullable — Base bodymap stream URL for female images
    - `category` string, nullable — Equipment category
    - `difficulty` string, nullable — Difficulty level
    - `reps_or_duration` string, nullable — Whether this is reps or duration based
    - `reps_or_duration_count` string, nullable — Number of reps or duration
    - `sets` string, nullable — Number of sets
  - `api_calls_cost` integer, required — Number of API calls this response counts as. Equivalent to fetching the workout plus each exercise individually.

## Other responses

- `404` — Workout not found
- `422` — Validation Error

---

[API](https://skmtc.dev/musclewiki/apis/musclewiki-api.md) · [All operations](https://skmtc.dev/musclewiki/apis/musclewiki-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/musclewiki/musclewiki-api/revisions/fccb1308d3dc/schema)
