Permissions mapping
When you connect a device-native source (Apple Health, Health Connect, Samsung Health, Google Fit), the Terra SDK translates Terra's CustomPermissions into the underlying platform's native permissions. This page lists exactly what each Terra permission requests on each platform, so you can predict what the user sees in the native permission prompt and which metrics will be available.
How permissions are requested
You can request permissions in two ways:
By data-type group — request
ACTIVITY,BODY,DAILY,SLEEP,NUTRITIONorMENSTRUATION(this is the default — your developer dashboard scopes). Each group requests a broad set of native types.By
customPermissions— pass a specific set ofCustomPermissionsvalues to request a narrower list. WhencustomPermissionsis non-empty, it takes precedence and the default group set is ignored.
The tables below are grouped by data domain (Activity, Heart, Vitals, and so on), with the same categories in the same order on every platform — switch tabs to compare a value across platforms. A value shown as a dash (—) requests no data on that platform.
Permission names vary slightly between SDKs (for example, the React Native and Flutter enums use different casing and a subset of values). The mapping below uses the canonical Terra names; check your SDK's enum for the exact spelling.
Each CustomPermissions value maps to one or more HealthKit types. When you don't pass customPermissions, the SDK requests every type associated with the data-type groups in your developer scopes — so the HealthKit prompt can show a long list. Pass customPermissions to request a narrower set.
Activity & workouts
CustomPermissions value
HealthKit type(s) requested
WORKOUT_TYPE
Workouts
ACTIVITY_SUMMARY
Activity summary, Stand time, Exercise time
ACTIVE_DURATIONS
Exercise time
CALORIES
Active energy burned
BASAL_ENERGY_BURNED
Resting (basal) energy burned
STEPS
Steps
FLIGHTS_CLIMBED
Flights climbed
EXERCISE_DISTANCE
Distance (walking/running, cycling, swimming, wheelchair)
SWIMMING_SUMMARY
Swimming stroke count
LOCATION
Workout route
SPEED
Walking speed (iOS 14+), running speed (16+), cycling speed & cadence (17+)
POWER
Running power (iOS 16+), cycling power (17+)
MINDFULNESS
Mindful sessions
Heart & cardiovascular
CustomPermissions value
HealthKit type(s) requested
HEART_RATE
Heart rate
RESTING_HEART_RATE
Resting heart rate
HEART_RATE_VARIABILITY
Heart rate variability (SDNN)
INTERBEAT
Beat-to-beat measurements
ELECTROCARDIOGRAM
Electrocardiograms (iOS 14+)
VO2MAX
VO₂ max
BLOOD_PRESSURE
Blood pressure (systolic & diastolic)
Vitals
CustomPermissions value
HealthKit type(s) requested
RESPIRATORY_RATE
Respiratory rate
OXYGEN_SATURATION
Blood oxygen
BLOOD_GLUCOSE
Blood glucose
BODY_TEMPERATURE
Body temperature (+ wrist temperature on iOS 16+)
Body measurements
CustomPermissions value
HealthKit type(s) requested
HEIGHT
Height
WEIGHT
Body mass
BMI
Body mass index
BODY_FAT
Body fat percentage
LEAN_BODY_MASS
Lean body mass
Sleep
CustomPermissions value
HealthKit type(s) requested
SLEEP_ANALYSIS
Sleep analysis
Nutrition
CustomPermissions value
HealthKit type(s) requested
NUTRITION_CALORIES
Dietary energy consumed
NUTRITION_PROTEIN
Dietary protein
NUTRITION_CARBOHYDRATES
Dietary carbohydrates
NUTRITION_FAT_TOTAL
Dietary total fat
NUTRITION_FIBRE
Dietary fiber
NUTRITION_SUGAR
Dietary sugar
NUTRITION_SODIUM
Dietary sodium
NUTRITION_CHOLESTEROL
Dietary cholesterol
NUTRITION_VITAMIN_C
Dietary vitamin C
NUTRITION_VITAMIN_A
Dietary vitamin A
NUTRITION_WATER
Dietary water
Reproductive health
CustomPermissions value
HealthKit type(s) requested
MENSTRUATION
Menstrual flow
Profile
CustomPermissions value
HealthKit type(s) requested
GENDER
Biological sex
DATE_OF_BIRTH
Date of birth
Symptoms
CustomPermissions value
HealthKit type(s) requested
SYMPTOM_COUGHING
Coughing (iOS 13.6+)
SYMPTOM_FEVER
Fever (iOS 13.6+)
SYMPTOM_SORE_THROAT
Sore throat (iOS 13.6+)
Requesting a data-type group (rather than customPermissions) requests a broad superset of types. For example, the Body group requests heart rate, HRV, VO₂ max, glucose, blood pressure, body temperature, ECG and more — not just body-composition metrics. Use customPermissions when you want the HealthKit prompt to show only specific toggles.
On Android, the HEALTH_CONNECT, SAMSUNG and GOOGLE_FIT connections all read through Health Connect and request the same Health Connect permissions. They differ only in which data they return:
HEALTH_CONNECTreturns data from all apps that write to Health Connect.SAMSUNGreturns only data written by the Samsung Health app.GOOGLE_FITreturns only data written by the Google Fit app.
So the permission prompt a user sees is identical across the three; the filtering happens when Terra reads the data.
A dash (—) means the value is not supported on Health Connect and requests no data, even if you pass it.
Activity & workouts
CustomPermissions value
Health Connect record(s) requested
WORKOUT_TYPE
Exercise session
ACTIVITY_SUMMARY
Exercise session, Active calories, Total calories, Distance
ACTIVE_DURATIONS
Exercise session
CALORIES
Active calories, Total calories
BASAL_ENERGY_BURNED
Basal metabolic rate
STEPS
Steps
FLIGHTS_CLIMBED
Floors climbed
EXERCISE_DISTANCE
Distance
SWIMMING_SUMMARY
—
LOCATION
—
SPEED
Speed
POWER
Power
MINDFULNESS
Exercise session
Heart & cardiovascular
CustomPermissions value
Health Connect record(s) requested
HEART_RATE
Heart rate
RESTING_HEART_RATE
Resting heart rate, Heart rate
HEART_RATE_VARIABILITY
Heart rate variability (RMSSD)
INTERBEAT
—
ELECTROCARDIOGRAM
—
VO2MAX
VO₂ max
BLOOD_PRESSURE
Blood pressure
Vitals
CustomPermissions value
Health Connect record(s) requested
RESPIRATORY_RATE
Respiratory rate
OXYGEN_SATURATION
Oxygen saturation
BLOOD_GLUCOSE
Blood glucose
BODY_TEMPERATURE
Body temperature
Body measurements
CustomPermissions value
Health Connect record(s) requested
HEIGHT
Height
WEIGHT
Weight
BMI
Weight, Height
BODY_FAT
Body fat
LEAN_BODY_MASS
Lean body mass
Sleep
CustomPermissions value
Health Connect record(s) requested
SLEEP_ANALYSIS
Sleep session
Nutrition
CustomPermissions value
Health Connect record(s) requested
NUTRITION_* (all macro/micronutrient values)
Nutrition
NUTRITION_WATER
Hydration
Reproductive health
CustomPermissions value
Health Connect record(s) requested
MENSTRUATION
Menstruation flow (+ Menstruation period on Android 14+)
Profile
CustomPermissions value
Health Connect record(s) requested
GENDER
—
DATE_OF_BIRTH
—
This applies only to the Samsung-specific SDK builds that integrate the Samsung Health SDK directly. On the standard SDK, the SAMSUNG connection reads Samsung Health data through Health Connect — see the Health Connect mapping. If you are not on a Samsung-tagged build, use that table.
On Samsung-tagged builds, the SAMSUNG connection requests Samsung Health data types directly (read access only). A dash (—) means the value is not supported and requests no data.
Activity & workouts
CustomPermissions value
Samsung Health data type(s) requested
WORKOUT_TYPE
Activity summary, Exercise
ACTIVITY_SUMMARY
Activity summary, Exercise
ACTIVE_DURATIONS
Activity summary, Exercise
CALORIES
Activity summary, Exercise
BASAL_ENERGY_BURNED
—
STEPS
Steps
FLIGHTS_CLIMBED
Floors climbed
EXERCISE_DISTANCE
Activity summary, Exercise
SWIMMING_SUMMARY
Activity summary, Exercise
LOCATION
Exercise location
SPEED
—
POWER
—
MINDFULNESS
Activity summary, Exercise
Heart & cardiovascular
CustomPermissions value
Samsung Health data type(s) requested
HEART_RATE
Heart rate
RESTING_HEART_RATE
Heart rate
HEART_RATE_VARIABILITY
—
INTERBEAT
—
ELECTROCARDIOGRAM
—
VO2MAX
—
BLOOD_PRESSURE
Blood pressure
Vitals
CustomPermissions value
Samsung Health data type(s) requested
RESPIRATORY_RATE
Sleep
OXYGEN_SATURATION
Blood oxygen
BLOOD_GLUCOSE
Blood glucose
BODY_TEMPERATURE
Body temperature
Body measurements
CustomPermissions value
Samsung Health data type(s) requested
HEIGHT
Body composition
WEIGHT
Body composition
BMI
Body composition
BODY_FAT
Body composition
LEAN_BODY_MASS
Body composition
Sleep
CustomPermissions value
Samsung Health data type(s) requested
SLEEP_ANALYSIS
Sleep
Nutrition
CustomPermissions value
Samsung Health data type(s) requested
NUTRITION_* (all macro/micronutrient values)
Nutrition
NUTRITION_WATER
Water intake
Reproductive health
CustomPermissions value
Samsung Health data type(s) requested
MENSTRUATION
—
Profile
CustomPermissions value
Samsung Health data type(s) requested
GENDER
User profile
DATE_OF_BIRTH
User profile
Several metrics that are not supported on the Samsung direct integration (HEART_RATE_VARIABILITY, VO2MAX, SPEED, POWER, BASAL_ENERGY_BURNED, MENSTRUATION) are available when reading Samsung data via Health Connect, so the Health Connect path offers wider coverage for those metrics.
Last updated
Was this helpful?