Terra

Integration

API
Unified API
SDK
SDK
Authentication
Authentication
Streaming
Streaming
Blood
Blood Report API
Planned Workout
Planned Workout
AI Interface
AI Interface

User engagement

Graph API
Graph API
Scores
Health Scores
Rewards
Health Rewards

Use cases

Enterprise
Enterprise
Insurance
Insurance

Developers

Wearable Data
Wearable Data
Community
Community
Documentation
Documentation

Learn

Blog
Blog
Podcast
Podcast
Events
Events
Reports
Reports

Company

Customers
Customers
Careers
Careers
Partners
Partners
Support
Support
Become an integration
Become an integration


Cookie Preferences

Essential CookiesAlways On
Advertisement Cookies
Analytics Cookies

Crunch Time: Embrace the Cookie Monster Within!

We use cookies to enhance your browsing experience and analyse our traffic. By clicking “Accept All”, you consent to our use of cookies according to our Cookie Policy. You can change your mind any time by visiting out cookie policy.

zap

Latest

zap

Popular

API

Unified API

SDK

Phone SDK

Authentication

Widget

Streaming

Streaming

Graph API

Graph API

Some activity data from my Garmin is showing up as null on my webhook.

All

ProvincialSquid2 months ago

Some activity data from my Garmin is showing up as null on my webhook.

The following payload contains missing data:

example_full_q_atividade_format = teste ={ 'data': { 'metadata': { 'city': None, 'state': None, 'country': None, }, 'lap_data': {'laps': []}, 'distance_data': { 'summary': { 'floors_climbed': None, 'elevation': { 'gain_planned_meters': None, } }, }, 'active_durations_data': { 'inactivity_seconds': None, 'rest_seconds': None, 'low_intensity_seconds': None, 'moderate_intensity_seconds': None, 'vigorous_intensity_seconds': None, 'num_continuous_inactive_periods': None, 'standing_seconds': None, 'standing_hours_count': None }, 'MET_data': { 'avg_level': None, 'num_inactive_minutes': None, 'num_low_intensity_minutes': None, 'num_moderate_intensity_minutes': None, 'num_high_intensity_minutes': None, 'MET_samples': [] }, 'movement_data': { 'adjusted_max_speed_meters_per_second': None, 'normalized_speed_meters_per_second': None, 'avg_velocity_meters_per_second': None, 'max_velocity_meters_per_second': None, 'avg_torque_newton_meters': None, 'max_torque_newton_meters': None, }, 'calories_data': { 'net_activity_calories': None, 'BMR_calories': None, 'net_intake_calories': None, }, 'heart_rate_data': { 'summary': { 'min_hr_bpm': None, 'avg_hrv_rmssd': None, 'avg_hrv_sdnn': None, 'user_max_hr_bpm': None, 'resting_hr_bpm': None, 'hr_zone_data': [] }, }, 'strain_data': {'strain_level': None}, 'oxygen_data': { 'vo2max_ml_per_min_per_kg': None, 'avg_saturation_percentage': None, 'saturation_samples': [], }, 'polyline_map_data': {'summary_polyline': None}, } }

terra

Vanessaadmin3 weeks ago

Hey there,

This is expected behavior, in Terra's data models, all fields are nullable except for the required metadata fields (start_time, end_time, summary_id, type, upload_type). If Garmin doesn't record a particular metric for a given activity (e.g. location/GPS was off, no laps recorded), those fields will be null.

The key required fields you can always rely on are in metadata: start_time, end_time, summary_id, type, and upload_type. Everything else (distance_data, heart_rate_data, calories_data, position_data, lap_data, etc.) depends on what the device actually captured.

Docs on data models: https://docs.tryterra.co/reference/data-models