---
title: "Get full routine with all data"
method: GET
path: "/routines/{routine_id}/full"
tags: ["routines"]
---

# Get full routine with all data

`GET /routines/{routine_id}/full`

Retrieve a routine with all workouts and 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 routine + N workouts + M exercises).

## Path parameters

- `routine_id` integer, required — Routine 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

- RoutineFull — Full routine with all workouts and exercises expanded.
  - `id` integer, required — Routine ID
  - `name` string, required — Routine name
  - `slug` string, required — URL-friendly slug
  - `description` string — Routine description
  - `difficulty` string, nullable — Difficulty level
  - `bodymap_male` string, nullable — Base bodymap stream URL for male images
  - `bodymap_female` string, nullable — Base bodymap stream URL for female images
  - `workouts` WorkoutFull[], required — Full workouts with all exercise data
    - `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.
  - `api_calls_cost` integer, required — Number of API calls this response counts as. Equivalent to fetching the routine, each workout, and each exercise individually.

## Other responses

- `404` — Routine 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)
