Ultrahuman Ring API integration
OnboardingThe adapter is implemented; the OAuth application is awaiting provider approval.
Ultrahuman is the India-headquartered smart-ring maker and the provider most relevant to South Asian consumer health products, where its installed base is meaningful in a way it is not elsewhere.
Access is through a partner programme rather than open self-service registration, so the commercial conversation precedes the technical one. The data model is close to Oura's — sleep, recovery, HRV and temperature from a ring form factor.
For products serving Indian users, Ultrahuman plus Apple Health and Google Health Connect covers a large share of the actual device population, which is a different mix than a US-focused product would optimise for.
How the Ultrahuman integration works
- Authentication
- Partner API credentials
- Sync model
- Pull-based partner API.
- API base
- https://partner.ultrahuman.com/api/partners/v1
- Integration type
- Cloud OAuth
Ultrahuman data available through WearLink
Everything below arrives in the shared normalised schema. The same field names and units apply whether the record came from Ultrahuman or from any other provider, so your scoring, charting and storage code is written once.
- Sleep
- HRV
- Resting heart rate
- Steps
- Skin temperature
- SpO2
- Recovery & movement index
Webhook events you can subscribe to
sleep.createdseries.heart_rate_variability.createdsteps.createdbody_temperature.createdConnect a Ultrahuman user
Two calls: create a connect session for your end user, then read their normalised data. You never handle Ultrahuman OAuth credentials, token refresh or webhook registration.
# 1. Create a connect session for your end-user
curl -X POST https://wearlink.io/api/v1/connections/session \
-H "Authorization: Bearer $WEARLINK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"user_id": "'"$USER_ID"'", "provider": "ultrahuman"}'
# → { "connect_url": "https://wearlink.io/widget/connect?token=..." }
# Redirect the user there; they authorise ultrahuman and land back on your redirect_uri.
# 2. Pull normalised data whenever you want
curl -H "Authorization: Bearer $WEARLINK_API_KEY" \
"https://wearlink.io/api/v1/users/$USER_ID/summaries?provider=ultrahuman&days=7"What makes the Ultrahuman API hard to integrate directly
These are the things that turn an estimated one-week integration into a one-month one. They are worth knowing whether you use WearLink or build it yourself.
Partner access, not open registration
You cannot self-serve credentials the way you can with Fitbit or Strava. Expect a commercial conversation first.
Younger API surface
The partner API is newer than Oura's or Fitbit's and has changed more often. Pin your expectations and monitor for shape changes.
Ring sync latency
As with all rings, data arrives when the ring syncs to the phone app, not continuously.
Ultrahuman API — frequently asked questions
- How do I get Ultrahuman API access?
- Through Ultrahuman's partner programme. It is not open self-service registration, so the timeline depends on their commercial review.
- Is Ultrahuman relevant outside India?
- It sells internationally, but its installed base is concentrated in India and the Gulf. For an India-focused product it is often the single most important ring provider.
- How does Ultrahuman compare to Oura in the data model?
- Very similar — sleep staging, HRV, resting heart rate, temperature and a composite recovery metric. Both normalise into the same WearLink schema, so switching or supporting both costs you nothing in application code.
Other integrations
Start with Ultrahuman — free for up to 3 users
No credit card. Create an account, add your provider credentials once, and your users connect through a hosted widget or our mobile SDK.