Skip to content

Workout Data Model

WorkoutKit GraphQL payloads are split into preview entities and launch-session entities.

Preview layer

The preview layer is represented by WorkoutPreview, which includes fields such as globalId, type, duration, name, format, and picture. This object is designed for listing and catalog screens before users enter a session.

Session layer

The launch layer is modeled as a union of session types. WorkoutBlockSession is used for classic workouts and organizes the experience around sections, tasks, exercises, and audio sets. WorkoutVideoSession is used for streaming workouts and is centered on media references plus timeline-oriented section ranges.

Section and task layer (classic sessions)

In classic sessions, WorkoutSection carries section metadata such as type, duration, calories, and optional or premium flags. Task payloads then resolve to specific variants, mainly TaskExercise and TaskRest.

Media and voice layer

Media and guidance information is split between WorkoutVideo and audio-related types. WorkoutVideo contains visual and playback fields such as source URL and color metadata, while AudioSet and AudioSetTask define voice guidance content and timing anchors.