Appearance
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.
