KinesteX

User Profile

Parameters that define user characteristics for personalized content and recommendations.


ParameterTypeDefaultApplies toWhat it does internally
agenumber30AllSent to the verify API as birth_year and used for calorie (BMR) estimation. Accepts either an age (1–120) or a literal birth year (1900–current year) — both are converted to a birth year internally
genderstring"male"All"male" or "female". Sent to the verify API; used in the calorie (BMR) formula and AI Trainer profile prefill. (For which demo videos are shown, see content_gender under Language & Localization)
heightnumber160AllHeight in cm. Sent to the verify API; used in the calorie (BMR) formula
weightnumber70AllWeight in kg. Sent to the verify API; used in the calorie (BMR) formula
fitness_levelstring"beginner"Main, Plan"beginner", "intermediate", or "advanced". Filters and sorts the plan list by difficulty. Also attached to analytics
lifestylestring"lightly_active"All"sedentary", "lightly_active", "active", or "very_active". Sent to the verify API and synced to the user's backend profile; prefills the AI Trainer profile
body_partsstring[][]Workout, AI TrainerFilters the exercise list shown on the workout detail page to workouts targeting those body parts, and prefills the AI Trainer's target muscle groups (unknown values are dropped)
plan_typestringnull— (analytics only)Recorded in analytics only. Has no functional effect on plan structure in the current version — do not use it to change plan behavior

Important — defaults vs. provided values: the SDK tracks which of age/gender/height/weight/lifestyle you explicitly passed. Calorie estimates (Mifflin–St Jeor BMR) and AI Trainer profile prefill only use explicitly provided values — if any of weight/height/age/gender is missing, calories fall back to a fixed default BMR instead of silently using the defaults above. Passing a complete profile therefore gives noticeably more accurate calorie numbers.


Backend profile sync: when all of age (valid), height > 0, weight > 0, and lifestyle are provided, the SDK syncs them once per user/company to the KinesteX user profile (used by personalized plans). Partial profiles are never synced, so existing server data is not overwritten with defaults.


Note: There is no BMI calculation in the SDK — height/weight feed calorie estimation (BMR) only.


SDK Support: Most platforms have direct support via a UserDetails object or postData fields.

User Profile Configuration
Swift example:
1// Direct SDK support via UserDetails
2let user = UserDetails(
3    age: 30,
4    height: 180,
5    weight: 75,
6    gender: .Male,
7    lifestyle: .Active
8)
9
10kinestex.createView(
11    user: user,
12    // ... other params
13)