Oura
- Authorization URL
- https://cloud.ouraring.com/oauth/authorize. Authorization URL. Source
- Also
- https://developer.ouraring.com/authorize. Universal-link authorization URL for new OAuth clients; on a phone with the Oura app it can open the consent page in the app. Source
- Token URL
- https://api.ouraring.com/oauth/token. Token URL. Source
- Scope parameter
- Space-separated. Left blank, the app requests every scope; the user can switch scopes off at consent. Source
- PKCE
- Recommended. Recommended. code_challenge_method must be S256; the verifier is 43 to 128 characters, hashed with SHA-256 and base64url-encoded without padding. Source
- Client credentials
- In the token request body, or as HTTP Basic. Source
- Refresh
- grant_type=refresh_token at the token URL returns a new access token and a new refresh token; each refresh token works once. Source
- Token lifetime
- Returned in expires_in. The page states no fixed number for the server-side flow; the client-side flow's token is currently 30 days and has no refresh token. Source
- Note
- Client credentials go in the form body or as HTTP Basic (client_id as user name, client_secret as password). Source
- Note
- Every request to the Oura API needs a non-empty User-Agent header, so the commands below send one. Source
- Note
- Revoke a token with GET https://api.ouraring.com/oauth/revoke?access_token=…. Source
Scopes (9)
email: Email address of the user Sourcepersonal: Personal information (gender, age, height, weight) Sourcedaily: Daily summaries of sleep, activity and readiness Sourceheartrate: Time series heart rate for Gen 3 users Sourceworkout: Summaries for auto-detected and user entered workouts Sourcetag: User entered tags Sourcesession: Guided and unguided sessions in the Oura app Sourcespo2: Daily SpO2 Average recorded during sleep Sourceheart_health: Heart health data (listed in the OpenAPI document, not on the Authentication page) Source
Guide: Oura integration guide.