For the complete documentation index, see llms.txt. This page is also available as Markdown.

Why does the OAuth redirect hang or return missing_scopes?

Two separate things are happening here.

Two separate things are happening here.

The redirect hang: Terra sends the authentication webhook to your server synchronously. If your server takes longer than 30 seconds to respond, the client-side redirect hangs or errors even though the connection succeeded, so make your webhook endpoint respond quickly.

The missing history: webhooks only deliver data generated after the user connects. For earlier data, call the historical endpoints (e.g. /v2/activity, /v2/daily) with a start_date range and to_webhook=true.

Most providers allow full history. Some impose limits: Garmin allows up to 5 years back (subject to Garmin's backfill limits), Coros allows up to 3 months back from now or 24 hours before the user authenticated (whichever is hit first), and Polar allows up to 30 days back but not before the user granted permission.

Last updated

Was this helpful?