For Agents
Read sleep, activity, readiness, SpO2, workout, and tag data from a user's Oura Ring account through scoped OAuth or personal access tokens.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Oura Ring API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Oura Ring API API.
Pull daily activity summaries with calorie burn, steps, and inactivity alerts
Read nightly sleep records including stages, latency, and sleep efficiency
Retrieve daily readiness scores and the contributing recovery signals
Fetch SpO2 averages captured during sleep on supported ring generations
GET STARTED
Use for: I need to pull last night's sleep score for a user, Get the daily readiness scores for the past 30 days, List all workouts logged this week, Retrieve the average SpO2 during sleep last night
Not supported: Does not handle device firmware updates, ring purchasing, or non-Oura wearables — use for reading Oura Ring health data only.
The Oura Ring API v2 returns personal health data captured by the Oura Ring, including daily activity, sleep, readiness, and SpO2 summaries, as well as detailed sleep, workout, session, and tag records. Calls return time-series records keyed by the wearer's account, so applications can build longitudinal views of recovery, training load, and sleep quality. Authentication supports both personal access tokens for single-user scripts and OAuth 2.0 for consumer-grade apps with scoped permissions per data type.
List workouts and sessions logged by the wearer with start time, duration, and intensity
Read tags and enhanced_tags so apps can correlate self-reported events with biometrics
Fetch personal_info such as account email, age, biological sex, and weight
Patterns agents use Oura Ring API API for, with concrete tasks.
★ Recovery and Training Load Apps
Build a coaching app that pairs Oura readiness scores with workout data to recommend whether the user should train hard, train light, or rest. /v2/usercollection/daily_readiness gives the recovery score and contributing signals, /v2/usercollection/workout provides logged sessions, and /v2/usercollection/daily_activity supplies the activity load. Combining these three endpoints is enough to drive a daily recommendation loop.
Fetch the last 7 days of /v2/usercollection/daily_readiness and /v2/usercollection/workout for a user and return a single train/rest recommendation
Sleep Quality Dashboards
Display nightly sleep stages, sleep efficiency, latency, and total sleep time for users in a sleep-tracking dashboard. /v2/usercollection/sleep returns detailed per-night records, /v2/usercollection/daily_sleep returns the rolled-up score, and /v2/usercollection/sleep_time returns recommended sleep timing. The combination supports both consumer-facing graphs and clinical research tooling.
Pull /v2/usercollection/sleep for the last 30 nights and return the median sleep efficiency and average REM minutes
Health Research Cohorts
Enrol Oura wearers in a research study and continuously pull their daily summaries plus SpO2, readiness, and tag events into a research data lake. /v2/usercollection/daily_spo2, /v2/usercollection/enhanced_tag, and the daily summaries form the core export, and OAuth scopes let participants opt in per data type instead of granting blanket access.
For each consented participant, fetch /v2/usercollection/daily_spo2 and /v2/usercollection/daily_readiness for the prior 24 hours and append to the study database
Self-Tracking Automations
Trigger lifestyle automations from Oura signals — for example, dim smart lights when the user logs a 'bedtime' tag, or block calendar events on days where readiness drops below a threshold. /v2/usercollection/tag and /v2/usercollection/enhanced_tag expose self-reported events, while /v2/usercollection/daily_readiness drives threshold-based triggers.
Poll /v2/usercollection/daily_readiness once per morning and, if score < 65, mark the user's calendar as focus-only for the day
Agent-Driven Health Summaries via Jentic
AI assistants pull a one-shot daily summary from Oura for the user — sleep score, readiness, workouts, and tags — by calling Jentic with an intent like 'get my oura sleep last night'. Jentic holds the user's bearer token in the vault and issues a scoped credential per call, which keeps the personal access token out of the agent's logs. Users get conversational health summaries without writing OAuth code.
Search Jentic for 'get latest oura sleep summary', load /v2/usercollection/daily_sleep, and return last night's score plus contributing factors
11 endpoints — the oura ring api v2 returns personal health data captured by the oura ring, including daily activity, sleep, readiness, and spo2 summaries, as well as detailed sleep, workout, session, and tag records.
METHOD
PATH
DESCRIPTION
/v2/usercollection/personal_info
Get personal account info
/v2/usercollection/daily_sleep
List daily sleep summaries
/v2/usercollection/daily_readiness
List daily readiness scores
/v2/usercollection/daily_activity
List daily activity summaries
/v2/usercollection/sleep
List detailed sleep records
/v2/usercollection/workout
List workouts
/v2/usercollection/daily_spo2
List daily SpO2 averages
/v2/usercollection/enhanced_tag
List enhanced tags
/v2/usercollection/personal_info
Get personal account info
/v2/usercollection/daily_sleep
List daily sleep summaries
/v2/usercollection/daily_readiness
List daily readiness scores
/v2/usercollection/daily_activity
List daily activity summaries
/v2/usercollection/sleep
List detailed sleep records
Three things that make agents converge on Jentic-routed access.
Credential isolation
Oura personal access tokens and OAuth refresh tokens are stored encrypted in the Jentic vault. Agents receive a scoped bearer token per call, so the user's long-lived Oura credential never enters the agent's context or logs.
Intent-based discovery
Agents search Jentic with intents like 'get sleep score' or 'list workouts' and Jentic returns the matching Oura collection endpoint with its query parameter schema, removing the need to read Oura's API reference.
Time to first call
Direct Oura integration: 1-2 days for OAuth client registration, scope handling, and token refresh logic. Through Jentic: under 30 minutes — search, load, execute.
Alternatives and complements available in the Jentic catalogue.
Fitbit
Wrist-worn wearable platform with sleep, heart rate, and activity APIs.
Choose Fitbit when the user already wears a Fitbit device or when continuous heart rate streaming is required.
Strava
Athlete-focused activity tracking platform with detailed workout and route data.
Use Strava alongside Oura when training routes and segment performance matter; use Oura for recovery and sleep context.
Terra
Unified wearable data API that aggregates Oura, Fitbit, Garmin, and others behind one schema.
Use Terra when the app must support many wearable brands behind one integration; use Oura directly for the deepest Oura-specific fields.
Specific to using Oura Ring API API through Jentic.
What authentication does the Oura Ring API use?
The Oura Ring API supports a personal access token (bearer) for single-user scripts and OAuth 2.0 authorization-code flow for consumer apps. OAuth scopes are granular — daily, heartrate, workout, tag, session, spo2, personal, and email — so users can grant only the data types your app needs. Through Jentic, the token is held in the vault and a scoped credential is issued per call.
Can I read detailed sleep stage data with this API?
Yes. GET /v2/usercollection/sleep returns per-night records with sleep stages (deep, REM, light, awake), latency, efficiency, and timing, while GET /v2/usercollection/daily_sleep returns the rolled-up daily sleep score and contributors.
What are the rate limits for the Oura Ring API?
Oura applies a rolling rate limit of 5,000 requests per 5 minutes per access token. Apps that need more should batch requests by date range using the start_date and end_date query parameters rather than polling per day.
How do I fetch a user's last night sleep score through Jentic?
Run pip install jentic, search for 'get latest oura sleep summary', load the daily_sleep operation, then execute with the user's date range. The call hits GET /v2/usercollection/daily_sleep and returns the score plus contributors.
Does this API expose heart rate or only the daily summaries?
The v2 collection endpoints listed in the spec cover daily summaries, sleep, workouts, sessions, SpO2, tags, and personal info. Continuous heart-rate streams are not part of the documented v2 collection endpoints in this spec — use the daily and sleep summaries for HR-derived metrics like resting heart rate.
Can I retrieve self-reported tags users add in the Oura app?
Yes. GET /v2/usercollection/tag and GET /v2/usercollection/enhanced_tag return user tags such as 'caffeine', 'alcohol', or custom events with their timestamps, so an app can correlate self-reported behaviour with biometric outcomes.
/v2/usercollection/workout
List workouts
/v2/usercollection/daily_spo2
List daily SpO2 averages
/v2/usercollection/enhanced_tag
List enhanced tags