Need help with your Ultrahuman integration? Pop into our Discord if you have questions or want to discover how Open Wearables can solve your problems.
Overview
Ultrahuman provides access to sleep, recovery, and continuous activity data through their Partnership API. The integration uses OAuth 2.0 for authentication and pull-based syncing to fetch daily metrics.Supported data types
Data delivery
What you need by the end
- App credentials: Client ID + Client Secret from the Ultrahuman Developer Dashboard
- OAuth scopes configured
- Redirect URI registered
Prerequisites
- A personal Ultrahuman account (Ring Air owner)
Application walkthrough
1
Sign in to the Ultrahuman Developer Dashboard
Go to the Ultrahuman Developer Dashboard and sign in with your Ultrahuman account.
Login requires a personal Ultrahuman account - the same one you use with the Ultrahuman app.
2
Create an OAuth application
In the Developer Dashboard, create a new application:
- App Name: Your application name
- Redirect URI: Your OAuth callback URL (e.g.
http://localhost:8000/api/v1/oauth/ultrahuman/callbackfor local development)
- Client ID
- Client Secret
3
Configure credentials in Open Wearables
Add the following to your Configuration details:
.env file:4
Connect a user via OAuth
With credentials configured and your Open Wearables instance running, initiate the OAuth flow.1. Get the authorization URL:Response:2. Redirect the user to the You should see a connection with
authorization_url. They will log in to Ultrahuman and authorize your app.3. Ultrahuman redirects back to the callback URI configured in your .env. Open Wearables automatically exchanges the authorization code for access and refresh tokens.4. Verify the connection:"provider": "ultrahuman" and "status": "active".The
redirect_uri parameter in the authorize call is where the user is sent after the flow completes (e.g., back to your app). This is separate from ULTRAHUMAN_REDIRECT_URI in your .env, which is the server-side OAuth callback.5
Sync data
An initial sync is triggered automatically after a successful OAuth connection. To manually sync:
When no date range is specified, Ultrahuman defaults to syncing the last 30 days of data.
6
Verify the integration
Once data has synced, fetch it via the Open Wearables API:If data is returned, your Ultrahuman integration is working end-to-end.
API Details
OAuth Scopes Reference
Next Steps
API Reference
Explore the Open Wearables API endpoints.
Coverage Matrix
See the full data coverage comparison.
Support
Need Help?
- Join our Discord and ask a question.
- Check GitHub Discussions.
- Check the Ultrahuman Developer Docs.

