Skip to main content
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/callback for local development)
After creating the app, you’ll receive:
  • Client ID
  • Client Secret
Your Client Secret should never be logged or shared. It should only be used server-side.
3

Configure credentials in Open Wearables

Add the following to your .env file:
Configuration details:
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 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:
You should see a connection with "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?