Customization Parameters
This section describes every customization parameter the KinesteX SDK accepts, what each one does internally, and — critically — which integration option(s) it applies to. Parameters passed to an integration that doesn't consume them are stored but silently ignored, so always check the Applies to column before recommending or using a parameter.
Parameter Passing Methods:
- Direct SDK Support: Pass directly to SDK initialization or view creation methods
- customParams / customParameters: Additional parameters passed via a custom parameters object
- HTML/JS postData: All parameters passed as a flat object via the postMessage API
- URL query string: Most parameters can also be passed as URL query params. Values sent via postMessage override URL values — except
?style=and?delegate=, where the URL wins, and?debug=, where either source enables it. See the precedence table in URL Parameters.
Integration scope labels used throughout this section:
| Label | Integration option (SDK method) | Internal route |
| All | Every integration option | — |
| Main | Complete UX — createMainView | / |
| Workout | createWorkoutView | /workout/{id} |
| Plan | createPlanView | /plan/{id} |
| Personalized Plan | createPersonalizedPlanView | /personalized-plan |
| Custom Workout | createCustomWorkoutView | /custom-workout |
| Workout player | Shorthand for any flow that runs the standard exercise player and statistics screen: Main, Workout, Plan, Personalized Plan, Custom Workout (and Challenge where noted) | — |
| Challenge | createChallengeView | /challenge |
| Leaderboard | createLeaderboardView | /leaderboard |
| Experiences (Games) | createExperienceView with balloonpop, colorchase, aliensquatshooter | /experiences/{game} |
| Assessments | createExperienceView with assessment | /experiences/assessment |
| Camera | createCameraComponent | /camera |
| Plan Onboarding | createCustomComponentView with route plan-onboarding | /plan-onboarding |
| AI Trainer | AI Trainer Chat | /trainer |
Quick task index:
- Test the integration without physically performing exercises → `videoURL` — Testing & Simulation
- Save workout results to the KinesteX backend → `shouldSendStats`
- Jump into the middle of a workout → `start_from_exercise`
- Switch exercises at runtime in the Camera component → Camera Component parameters
- Control a running workout (pause/mute) → Workout Activity Actions
Required Parameters
These parameters are mandatory for successful SDK initialization. Applies to: All integrations.
Testing & Simulation (videoURL)
How to test the integration without physically performing the exercises.
User Profile
Parameters that define user characteristics for personalized content and recommendations.
Theme & Appearance
Control the visual appearance of the application. Applies to: All integrations.
Language & Localization
Configure the language for all UI text, voice prompts, and content.
Workout Configuration
Parameters for configuring workout behavior and progression.
Camera & Pose Detection
Fine-tune the camera and pose detection system. These parameters affect any view that runs the pose-tracking pipeline (Workout player, Camera component, Assessments, Games) unless a narrower scope is listed.
Camera Component Parameters
Parameters that are only consumed by the standalone Camera component (`createCameraComponent` / `IntegrationOption.CAMERA`, route `/camera`). Passing them to any other integration option has no effect. For the full Camera component guide — including events and control commands — see [Camera Component](/docs/integration/camera-component).
UI Controls
Control visibility and behavior of UI elements.
Challenge Mode
Configure challenge-specific parameters for direct challenge launches. Applies to: Challenge view and the Games (Balloon Pop / Color Chase / Alien Squat Shooter, where noted).
Complete UX Customization
Customize the Complete UX (Main View) home page experience. Applies to: Main only — no other integration option reads this parameter.
Leaderboard
Configure leaderboard functionality. Applies to: Challenge (result submission happens on the challenge results screen) and Leaderboard view.
Loading Screen
Customize the loading screen appearance (includes native overlay color that is displayed during initial loading phase). Applies to: All integrations — the loading screen is shown while any view verifies and downloads resources.
Motion Tracking Settings
Control AI-powered motion tracking behavior. Applies to: Workout player (motion tracking in other views — Camera, Games, Assessments — is always on and cannot be toggled off by users).
Debug & Development
Parameters for debugging and development purposes. Not intended for end users.
Custom Workout
Configure custom workout sequences. Applies to: Custom Workout only (`createCustomWorkoutView`, route `/custom-workout`) — the parameter is ignored on every other integration option. For the complete implementation guide, see [Custom Workout integration](/docs/integration/custom-workout).
Workout Activity Actions
Control workout state programmatically at runtime via postMessage using the `workout_activity_action` property.
Navigation
Control navigation and routing behavior. Applies to: All integrations.
Assessment Configuration
Parameters specific to assessment modes (TUG test, gait speed, balance tests, etc.). Applies to: Assessments only. For complete assessment data structures, see [Data Points](/docs/data-points).
Audio Configuration
Control audio playback settings. Applies to: all views with spoken audio feedback.
Session & Data Saving
Control session saving and data upload behavior. Applies to: any flow ending on the statistics screen (Workout player and Challenge completions).
Plan Context
Pass plan progression context so the SDK associates a directly-launched workout with the correct plan. Applies to: Workout view (a workout launched directly that should count toward a plan). After the workout finishes, the SDK posts `plan_progression_saved` (or `plan_progression_failed` on error). See [Plans & Programs events](/docs/data-points/plans-programs).
Plan Onboarding Prefill
Pre-fill or skip onboarding survey questions for personalized plans. All fields are optional — only provided fields will be pre-filled and their corresponding screens will be skipped. If all answers are provided for a goal-based plan, the user goes straight to results. Applies to: Plan Onboarding only (route `"plan-onboarding"`).
AI Trainer Chat Parameters
Parameters specific to the [AI Trainer Chat](/docs/ai-trainer-chat) view. Applies to: AI Trainer only — every other integration option ignores them.
URL Parameters
Almost every customization parameter can also be passed via the URL query string — useful for standalone links and web embeds where postMessage isn't convenient. Applies to: All integrations.
Complete Example
Here's a comprehensive example combining multiple parameter categories: