Provider guides
Provider onboarding
Every health platform Latido reads from needs an OAuth app registered in that platform's developer portal. These guides tell you, per provider, how to get one and what to paste back into Latido.
Using your own keys ("bring your own keys"): open the guide for your provider, follow the checklist, and paste the credentials into Dashboard → Project → Providers → {provider}.
The capabilities below mirror Latido's provider catalog, the source of truth
the API enforces (GET /v1/providers lists what your key can connect). Facts about
each provider's portal come from research compiled on 2026-10-26 from the
providers' public documentation, so form layouts can drift: when a portal
differs from a guide, follow the portal.
How to read the source tags
| Tag | Meaning |
|---|---|
| [OFF] | Read on the provider's official docs on 2026-10-26. |
| [OW] | Seen in the Open Wearables source code (MIT, working production code, not the vendor's word). |
| [2ND] | Secondary source: press, blogs, forums, aggregator docs. |
| [MEM] | Prior knowledge, not re-checked. Confirm in the portal. |
| UNVERIFIED | Could not confirm. Treat it as a hypothesis. |
The two URLs every provider app needs
The dashboard shows the exact values for each project and provider app. They follow these templates:
| What | Template | Where it goes |
|---|---|---|
| Redirect URI (OAuth callback) | https://api.getlatido.com/connect/callback/{slug} |
The provider's "redirect URI", "callback URL" or "callback domain" field. |
| Webhook URL (inbound notifications) | https://api.getlatido.com/providers/{slug}/webhook/{providerAppId} |
The provider's webhook / notification / endpoint field, or the subscription Latido creates through the provider's API. |
https://api.getlatido.comis Latido's public API. It is public HTTPS, which every provider accepts (Oura and Withings refuselocalhostand bare IPs).{slug}is theProviderSlugvalue:garmin,strava,polar,suunto,coros,oura,whoop,withings,fitbit,google_health,wahoo,dexcom,huawei. Note the underscore ingoogle_health(the guide file isgoogle-health.md, the URL slug is not).{providerAppId}identifies the provider app inside Latido, so one backend can receive notifications for many customers' apps. You only know it after saving the app in the dashboard: save client id and secret first, then copy the webhook URL, then finish the provider's webhook form.- Apple Health and Health Connect have neither: they are on-device stores,
and data reaches Latido through
POST /v1/members/{id}/ingest.
Overview (October 2026)
"Managed app" means Latido's own approved app could serve every customer; "BYO keys only" means each customer must register their own app because the provider's terms forbid intermediaries or require one registration per end customer. Latido holds no approved managed apps today, so in practice every provider is BYO keys until that changes.
| Provider | Access status | Cost to get access | Approval time | Managed app possible? | Data types | Push model | AI-use restriction |
|---|---|---|---|---|---|---|---|
| Garmin | Reopened ~21 Oct 2026 after a pause; tiered application [OFF/2ND] | Personal and Starter: no fee found; Enterprise: ~$1,000 entry + per-user monthly fee [2ND] | UNVERIFIED (program just reopened) | No, BYO keys only | Workouts, daily, sleep, body, HR | Push (data inline) or ping→pull, per data type | None found |
| Strava | Self-serve; Standard tier needs a paid Strava subscription since 1 Jun 2026 [2ND] | The developer's Strava subscription [2ND] | Instant for personal use; Extended Access is a review | No, BYO keys only | Workouts, HR streams | Notify-only webhook (ids), hub.challenge handshake |
Yes: no AI, RAG, embeddings or MCP over Strava data [2ND]; data shown only to its athlete [OFF] |
| Polar | Self-serve [OFF] | Free | Instant | Yes | Workouts, daily, sleep, HR | Notify-only webhook, HMAC-signed | None found |
| Suunto | Partner application, companies only [OFF] | No fee found (UNVERIFIED) | ~2 weeks [OFF] | Yes | Workouts, daily, sleep | Push (data inline), HMAC-signed | None found |
| COROS | Partner program for established platforms [OFF] | UNVERIFIED | UNVERIFIED | Yes | Workouts, daily, sleep | Workout-summary push (~5 min after sync) | None found |
| Oura | Self-serve up to 10 users; approval above [OFF] | Free | UNVERIFIED for the >10 approval | No, BYO keys only (one registration per end customer) [2ND] | Workouts, daily, sleep, HR | Notify-only webhook, app-level subscriptions, HMAC-signed | Yes: no prompting or feeding AI models with API data [2ND] |
| WHOOP | Self-serve sandbox (10 members) → app approval [OFF/OW] | Free | Slow in 2026 (catalog note; no figure) | Yes | Workouts, daily (cycles/recovery), sleep, body | Notify-only webhook, HMAC-signed | None found |
| Withings | Self-serve [OW] | Free up to 1,000 active users; paid plans above and for advanced biomarkers [OW] | Instant | Yes | Workouts, daily, sleep, body, HR | Notify-only, per-user subscriptions, unsigned | None found |
| Fitbit | Sunset: turned off 2 Nov 2026, HTTP 410 after [OFF] | n/a | n/a | n/a | n/a | n/a | n/a |
| Google Health | All scopes Restricted: verification + yearly CASA assessment [OFF/OW] | CASA lab ~$500–4,500 per year [OW citing Google] | Plan 1–2 months [OW] | Yes | Workouts, daily, sleep, body, HR | Notify-only, project-level subscriber, Bearer secret (Latido polls today) | None found (Limited Use policy applies) |
| Wahoo | Sandbox → production review [OFF] | No fee found (UNVERIFIED) | UNVERIFIED | Yes | Workouts (+ planned-workout writes) | Push (workout summary inline), webhook_token |
None found |
| Dexcom | Sandbox self-serve; production by partnership [OFF] | Sandbox free; production terms UNVERIFIED | UNVERIFIED | Yes | Glucose | None: polled | None found |
| Huawei Health | Developer console; Health Kit scopes need approval [OFF] | No fee found (UNVERIFIED) | UNVERIFIED | Yes | Workouts, daily, sleep, body, HR | Polled (a subscription API may exist, UNVERIFIED) | None found |
| Apple Health | Open (needs your own iOS app) | Apple Developer Program, $99/year [MEM] | App Store review | n/a (on device) | All, incl. glucose | Device upload via ingest API | None found (App Store health rules apply) |
| Health Connect | Open (needs your own Android app) | Google Play developer account, $25 one-time [MEM] | Play health-apps declaration review | n/a (on device) | All, incl. glucose | Device upload via ingest API | None found (Play health policy applies) |
"None found" means this research found no AI clause, not that the provider's
terms were reviewed line by line. Read the current agreement before shipping
an AI feature on any provider's data. In Latido, providers with
allowsAiProcessing: false (Strava, Oura) never reach MCP.
Settings Latido asks for, per provider
Besides client id and client secret, some providers need extra values. They
are stored encrypted (AES-256-GCM) in the provider app's settings. The keys
below are the names the guides use; if the dashboard labels a field
differently, the dashboard wins.
| Provider | Setting key | Value |
|---|---|---|
| Strava | webhookVerifyToken |
A random string you choose; Strava echoes it in the subscription handshake. |
| Polar | webhookSecret |
signature_secret_key returned once when the webhook is created. |
| Suunto | subscriptionKey |
The API Zone subscription key (Ocp-Apim-Subscription-Key). |
| Suunto | webhookSecret |
The notification secret set in the API Zone portal. |
| Oura | webhookVerificationToken |
A random string you choose for the subscription handshake. |
| Withings | webhookSecret |
A random string Latido appends to the notification URL (Withings does not sign). |
| Wahoo | webhookToken |
The webhook_token set in the Wahoo app settings. |
| Google Health | projectNumber, webhookSecret |
The Cloud project number, and the Bearer secret given to the subscriber. |
| Dexcom | environment |
sandbox, us, eu or jp (which Dexcom host to call). |
| Garmin, WHOOP, COROS, Huawei | none | Garmin and COROS identify themselves with your client id (and secret) in headers; WHOOP signs with the client secret. |
Files
- One guide per provider: garmin, strava, polar, suunto, coros, oura, whoop, withings, fitbit, google-health, wahoo, dexcom, huawei, apple-health, health-connect.