Understanding sources and destinations
Last updated
Was this helpful?
Last updated
Was this helpful?
To integrate with Terra, you must define Data Sources where user data originates (e.g. Fitbit, Garmin, etc.) and Data Destinations where Terra sends this data (e.g. Webhook, MongoDB, etc.)
Once that is done, Terra’s Health & Fitness API pushes all user health payloads via events directly to your data destination (e.g. webhook). This removes the need to request data via the API.
Data Sources are the external health and fitness platforms your users authorize to share data with Terra. These include wearables (e.g., Fitbit, Garmin, Oura), fitness applications, and medical devices. Terra standardises data from these diverse sources into a uniform format.
Refer to for setup instructions.
Data Destinations specify where Terra should deliver processed user data. Supported destinations include Webhooks, SQL databases (PostgreSQL, MySQL), cloud storage (AWS S3, GCP GCS, Azure Blob), and message queuing services (AWS SQS, Kafka).
Refer to for setup instructions.
Terra's Health & Fitness API operates on an event-driven model. Once Data Sources are enabled, a Data Destination is configured, and a user successfully authenticates:
New data becomes available from the user's connected Data Source.
Terra retrieves and processes this data, creating a standardised event payload.
This payload is automatically pushed to your configured Data Destination.
This automatic push mechanism means you receive new data as it becomes available, without needing to poll the API. For example, if using a Webhook destination, Terra will send an HTTP POST request to your server with the new data payload.
The typical process for setting up your integrations involves:
Add data with one click (e.g. Fitbit, Oura, Garmin)
Add a data of choice (e.g. Webhook, MongoDB, PostgreSQL, AWS S3, etc.)