OuraToolkit.Api
0.3.0
dotnet add package OuraToolkit.Api --version 0.3.0
NuGet\Install-Package OuraToolkit.Api -Version 0.3.0
<PackageReference Include="OuraToolkit.Api" Version="0.3.0" />
<PackageVersion Include="OuraToolkit.Api" Version="0.3.0" />
<PackageReference Include="OuraToolkit.Api" />
paket add OuraToolkit.Api --version 0.3.0
#r "nuget: OuraToolkit.Api, 0.3.0"
#:package OuraToolkit.Api@0.3.0
#addin nuget:?package=OuraToolkit.Api&version=0.3.0
#tool nuget:?package=OuraToolkit.Api&version=0.3.0
OuraToolkit.Api - the C# library for the Oura API Documentation
Overview
The Oura API allows Oura users and partner applications to improve their user experience with Oura data. This document describes the Oura API Version 2 (V2), which is the only available integration point for Oura data. The previous V1 API has been sunset.
Getting Started
What is an API?
An API (Application Programming Interface) allows different software applications to communicate with each other. The Oura API enables you to access your Oura Ring data programmatically.
Quick Start Guide
- Register an API Application and implement OAuth2
- Make Your First API Call:
curl -X GET https://api.ouraring.com/v2/usercollection/personal_info \\ -H \"Authorization: Bearer YOUR_TOKEN_HERE\" - Explore Data Types:
- Browse the available endpoints in this documentation to discover what data you can access
- Each endpoint includes example requests and responses
- Set Up Webhooks (Strongly Recommended):
- Webhooks are the preferred way to consume Oura data
- We have not had customers hit rate limits with webhooks properly implemented
- Make a single request for historical data when a user first connects, then use webhooks for ongoing updates
- Webhook notifications come approximately 30 seconds after data syncs from the mobile app
- Set up webhooks to receive notifications when data changes
Common Questions
- Data Delay: Different data types sync at different times - sleep data requires users to open the Oura app, while daily activity and stress may sync in the background
Data Access
In order to access data, a registered API Application is required. API Applications are limited to 10 users before requiring approval from Oura. There is no limit once an application is approved. Additionally, Oura users must provide consent to share each data type an API Application has access to. All data access requests through the Oura API require Authentication. Additionally, we recommend that Oura users keep their mobile app updated to support API access for the latest data types.
Authentication
The Oura Cloud API supports authentication through the industry-standard OAuth2 protocol. For more information, see our Authentication instructions. Access tokens must be included in the request header as follows:
GET /v2/usercollection/personal_info HTTP/1.1
Host: api.ouraring.com
Authorization: Bearer <token>
Please note that personal access tokens were deprecated in December 2025 and are no longer available for use.
Oura HTTP Response Codes
| Response Code | Description | | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - | | 200 OK | Successful Response | | 400 Query Parameter Validation Error | The request contains query parameters that are invalid or incorrectly formatted. | | 401 Unauthorized | Invalid or expired authentication token. | | 403 Forbidden | The requested resource requires additional permissions or the user's Oura subscription has expired. | | 429 Too Many Requests | Rate limit exceeded. See response headers for retry guidance. |
Rate Limits
The API enforces rate limits at two layers to ensure fair access across all applications:
- a per-access-token limit, which throttles single-token floods, and
- a per-application limit, which caps the aggregate traffic across all of an application's end-user tokens so one fan-out app can't dominate shared capacity.
A request that trips either layer receives a 429 Too Many Requests. The X-RateLimit-Tier response header identifies which layer fired.
If your application regularly approaches rate limits, webhooks are strongly recommended — most applications that implement webhooks correctly do not encounter rate limit issues.
Contact us if you expect your usage to require higher limits.
Rate Limit Response Headers
When a 429 Too Many Requests response is returned, five headers are included to guide retries. Prefer these over fixed-interval backoff:
Retry-After— integer seconds to wait before retrying. RFC 7231-compliant; safe to feed directly into your client's backoff logic.X-RateLimit-Limit— the request ceiling for the current window.X-RateLimit-Window— the rolling window length in seconds that the ceiling applies to.X-RateLimit-Reset— Unix epoch (seconds) at which the window resets and quota is fully restored.X-RateLimit-Tier— identifies which limit was exceeded, useful when contacting support.
This C# SDK is automatically generated by the OpenAPI Generator project:
- API version: 2.0
- SDK version: 0.3.0
- Generator version: 7.14.0
- Build package: org.openapitools.codegen.languages.CSharpClientCodegen
<a id="frameworks-supported"></a>
Frameworks supported
- .NET Core >=1.0
- .NET Framework >=4.6
- Mono/Xamarin >=vNext
<a id="dependencies"></a>
Dependencies
- Json.NET - 13.0.2 or later
- JsonSubTypes - 1.8.0 or later
- System.ComponentModel.Annotations - 5.0.0 or later
The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations
<a id="installation"></a>
Installation
Generate the DLL using your preferred tool (e.g. dotnet build)
Then include the DLL (under the bin folder) in the C# project, and use the namespaces:
using OuraToolkit.Api.Api;
using OuraToolkit.Api.Client;
using OuraToolkit.Api.Model;
<a id="usage"></a>
Usage
To use the API client with a HTTP proxy, setup a System.Net.WebProxy
Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;
Connections
Each ApiClass (properly the ApiClient inside it) will create an instance of HttpClient. It will use that for the entire lifecycle and dispose it when called the Dispose method.
To better manager the connections it's a common practice to reuse the HttpClient and HttpClientHandler (see here for details). To use your own HttpClient instance just pass it to the ApiClass constructor.
HttpClientHandler yourHandler = new HttpClientHandler();
HttpClient yourHttpClient = new HttpClient(yourHandler);
var api = new YourApiClass(yourHttpClient, yourHandler);
If you want to use an HttpClient and don't have access to the handler, for example in a DI context in Asp.net Core when using IHttpClientFactory.
HttpClient yourHttpClient = new HttpClient();
var api = new YourApiClass(yourHttpClient);
You'll loose some configuration settings, the features affected are: Setting and Retrieving Cookies, Client Certificates, Proxy settings. You need to either manually handle those in your setup of the HttpClient or they won't be available.
Here an example of DI setup in a sample web project:
services.AddHttpClient<YourApiClass>(httpClient =>
new PetApi(httpClient));
<a id="getting-started"></a>
Getting Started
using System.Collections.Generic;
using System.Diagnostics;
using System.Net.Http;
using OuraToolkit.Api.Api;
using OuraToolkit.Api.Client;
using OuraToolkit.Api.Model;
namespace Example
{
public class Example
{
public static void Main()
{
Configuration config = new Configuration();
config.BasePath = "https://api.ouraring.com";
// Configure Bearer token for authorization: BearerAuth
config.AccessToken = "YOUR_BEARER_TOKEN";
// create instances of HttpClient, HttpClientHandler to be reused later with different Api classes
HttpClient httpClient = new HttpClient();
HttpClientHandler httpClientHandler = new HttpClientHandler();
var apiInstance = new DailyActivityRoutesApi(httpClient, config, httpClientHandler);
var startDate = DateTime.Parse("2013-10-20"); // DateTime? | (optional)
var endDate = DateTime.Parse("2013-10-20"); // DateTime? | (optional)
var nextToken = "nextToken_example"; // string? | (optional)
var fields = "fields_example"; // string? | Comma-separated list of fields to include in the response, in addition to the always returned fields. Defaults to all fields if not provided. (optional)
try
{
// Multiple Daily Activity Documents
MultiDocumentResponsePublicDailyActivity result = apiInstance.MultipleDailyActivityDocumentsV2UsercollectionDailyActivityGet(startDate, endDate, nextToken, fields);
Debug.WriteLine(result);
}
catch (ApiException e)
{
Debug.Print("Exception when calling DailyActivityRoutesApi.MultipleDailyActivityDocumentsV2UsercollectionDailyActivityGet: " + e.Message );
Debug.Print("Status Code: "+ e.ErrorCode);
Debug.Print(e.StackTrace);
}
}
}
}
<a id="documentation-for-api-endpoints"></a>
Documentation for API Endpoints
All URIs are relative to https://api.ouraring.com
| Class | Method | HTTP request | Description |
|---|---|---|---|
| DailyActivityRoutesApi | MultipleDailyActivityDocumentsV2UsercollectionDailyActivityGet | GET /v2/usercollection/daily_activity | Multiple Daily Activity Documents |
| DailyActivityRoutesApi | SingleDailyActivityDocumentV2UsercollectionDailyActivityDocumentIdGet | GET /v2/usercollection/daily_activity/{document_id} | Single Daily Activity Document |
| DailyCardiovascularAgeRoutesApi | MultipleDailyCardiovascularAgeDocumentsV2UsercollectionDailyCardiovascularAgeGet | GET /v2/usercollection/daily_cardiovascular_age | Multiple Daily Cardiovascular Age Documents |
| DailyCardiovascularAgeRoutesApi | SingleDailyCardiovascularAgeDocumentV2UsercollectionDailyCardiovascularAgeDocumentIdGet | GET /v2/usercollection/daily_cardiovascular_age/{document_id} | Single Daily Cardiovascular Age Document |
| DailyReadinessRoutesApi | MultipleDailyReadinessDocumentsV2UsercollectionDailyReadinessGet | GET /v2/usercollection/daily_readiness | Multiple Daily Readiness Documents |
| DailyReadinessRoutesApi | SingleDailyReadinessDocumentV2UsercollectionDailyReadinessDocumentIdGet | GET /v2/usercollection/daily_readiness/{document_id} | Single Daily Readiness Document |
| DailyResilienceRoutesApi | MultipleDailyResilienceDocumentsV2UsercollectionDailyResilienceGet | GET /v2/usercollection/daily_resilience | Multiple Daily Resilience Documents |
| DailyResilienceRoutesApi | SingleDailyResilienceDocumentV2UsercollectionDailyResilienceDocumentIdGet | GET /v2/usercollection/daily_resilience/{document_id} | Single Daily Resilience Document |
| DailySleepRoutesApi | MultipleDailySleepDocumentsV2UsercollectionDailySleepGet | GET /v2/usercollection/daily_sleep | Multiple Daily Sleep Documents |
| DailySleepRoutesApi | SingleDailySleepDocumentV2UsercollectionDailySleepDocumentIdGet | GET /v2/usercollection/daily_sleep/{document_id} | Single Daily Sleep Document |
| DailySpo2RoutesApi | MultipleDailySpo2DocumentsV2UsercollectionDailySpo2Get | GET /v2/usercollection/daily_spo2 | Multiple Daily Spo2 Documents |
| DailySpo2RoutesApi | SingleDailySpo2DocumentV2UsercollectionDailySpo2DocumentIdGet | GET /v2/usercollection/daily_spo2/{document_id} | Single Daily Spo2 Document |
| DailyStressRoutesApi | MultipleDailyStressDocumentsV2UsercollectionDailyStressGet | GET /v2/usercollection/daily_stress | Multiple Daily Stress Documents |
| DailyStressRoutesApi | SingleDailyStressDocumentV2UsercollectionDailyStressDocumentIdGet | GET /v2/usercollection/daily_stress/{document_id} | Single Daily Stress Document |
| EnhancedTagRoutesApi | MultipleEnhancedTagDocumentsV2UsercollectionEnhancedTagGet | GET /v2/usercollection/enhanced_tag | Multiple Enhanced Tag Documents |
| EnhancedTagRoutesApi | SingleEnhancedTagDocumentV2UsercollectionEnhancedTagDocumentIdGet | GET /v2/usercollection/enhanced_tag/{document_id} | Single Enhanced Tag Document |
| HeartRateRoutesApi | MultipleHeartrateDocumentsV2UsercollectionHeartrateGet | GET /v2/usercollection/heartrate | Multiple Heartrate Documents |
| PersonalInfoRoutesApi | SinglePersonalInfoDocumentV2UsercollectionPersonalInfoGet | GET /v2/usercollection/personal_info | Single Personal Info Document |
| RestModePeriodRoutesApi | MultipleRestModePeriodDocumentsV2UsercollectionRestModePeriodGet | GET /v2/usercollection/rest_mode_period | Multiple Rest Mode Period Documents |
| RestModePeriodRoutesApi | SingleRestModePeriodDocumentV2UsercollectionRestModePeriodDocumentIdGet | GET /v2/usercollection/rest_mode_period/{document_id} | Single Rest Mode Period Document |
| RingBatteryLevelRoutesApi | MultipleRingBatteryLevelDocumentsV2UsercollectionRingBatteryLevelGet | GET /v2/usercollection/ring_battery_level | Multiple Ring Battery Level Documents |
| RingConfigurationRoutesApi | MultipleRingConfigurationDocumentsV2UsercollectionRingConfigurationGet | GET /v2/usercollection/ring_configuration | Multiple Ring Configuration Documents |
| RingConfigurationRoutesApi | SingleRingConfigurationDocumentV2UsercollectionRingConfigurationDocumentIdGet | GET /v2/usercollection/ring_configuration/{document_id} | Single Ring Configuration Document |
| SandboxRoutesApi | SandboxMultipleDailyActivityDocumentsV2SandboxUsercollectionDailyActivityGet | GET /v2/sandbox/usercollection/daily_activity | Sandbox - Multiple Daily Activity Documents |
| SandboxRoutesApi | SandboxMultipleDailyCardiovascularAgeDocumentsV2SandboxUsercollectionDailyCardiovascularAgeGet | GET /v2/sandbox/usercollection/daily_cardiovascular_age | Sandbox - Multiple Daily Cardiovascular Age Documents |
| SandboxRoutesApi | SandboxMultipleDailyReadinessDocumentsV2SandboxUsercollectionDailyReadinessGet | GET /v2/sandbox/usercollection/daily_readiness | Sandbox - Multiple Daily Readiness Documents |
| SandboxRoutesApi | SandboxMultipleDailyResilienceDocumentsV2SandboxUsercollectionDailyResilienceGet | GET /v2/sandbox/usercollection/daily_resilience | Sandbox - Multiple Daily Resilience Documents |
| SandboxRoutesApi | SandboxMultipleDailySleepDocumentsV2SandboxUsercollectionDailySleepGet | GET /v2/sandbox/usercollection/daily_sleep | Sandbox - Multiple Daily Sleep Documents |
| SandboxRoutesApi | SandboxMultipleDailySpo2DocumentsV2SandboxUsercollectionDailySpo2Get | GET /v2/sandbox/usercollection/daily_spo2 | Sandbox - Multiple Daily Spo2 Documents |
| SandboxRoutesApi | SandboxMultipleDailyStressDocumentsV2SandboxUsercollectionDailyStressGet | GET /v2/sandbox/usercollection/daily_stress | Sandbox - Multiple Daily Stress Documents |
| SandboxRoutesApi | SandboxMultipleEnhancedTagDocumentsV2SandboxUsercollectionEnhancedTagGet | GET /v2/sandbox/usercollection/enhanced_tag | Sandbox - Multiple Enhanced Tag Documents |
| SandboxRoutesApi | SandboxMultipleHeartrateDocumentsV2SandboxUsercollectionHeartrateGet | GET /v2/sandbox/usercollection/heartrate | Sandbox - Multiple Heartrate Documents |
| SandboxRoutesApi | SandboxMultipleRestModePeriodDocumentsV2SandboxUsercollectionRestModePeriodGet | GET /v2/sandbox/usercollection/rest_mode_period | Sandbox - Multiple Rest Mode Period Documents |
| SandboxRoutesApi | SandboxMultipleRingBatteryLevelDocumentsV2SandboxUsercollectionRingBatteryLevelGet | GET /v2/sandbox/usercollection/ring_battery_level | Sandbox - Multiple Ring Battery Level Documents |
| SandboxRoutesApi | SandboxMultipleRingConfigurationDocumentsV2SandboxUsercollectionRingConfigurationGet | GET /v2/sandbox/usercollection/ring_configuration | Sandbox - Multiple Ring Configuration Documents |
| SandboxRoutesApi | SandboxMultipleSessionDocumentsV2SandboxUsercollectionSessionGet | GET /v2/sandbox/usercollection/session | Sandbox - Multiple Session Documents |
| SandboxRoutesApi | SandboxMultipleSleepDocumentsV2SandboxUsercollectionSleepGet | GET /v2/sandbox/usercollection/sleep | Sandbox - Multiple Sleep Documents |
| SandboxRoutesApi | SandboxMultipleSleepTimeDocumentsV2SandboxUsercollectionSleepTimeGet | GET /v2/sandbox/usercollection/sleep_time | Sandbox - Multiple Sleep Time Documents |
| SandboxRoutesApi | SandboxMultipleTagDocumentsV2SandboxUsercollectionTagGet | GET /v2/sandbox/usercollection/tag | Sandbox - Multiple Tag Documents |
| SandboxRoutesApi | SandboxMultipleVO2MaxDocumentsV2SandboxUsercollectionVO2MaxGet | GET /v2/sandbox/usercollection/vO2_max | Sandbox - Multiple Vo2 Max Documents |
| SandboxRoutesApi | SandboxMultipleWorkoutDocumentsV2SandboxUsercollectionWorkoutGet | GET /v2/sandbox/usercollection/workout | Sandbox - Multiple Workout Documents |
| SandboxRoutesApi | SandboxSingleDailyActivityDocumentV2SandboxUsercollectionDailyActivityDocumentIdGet | GET /v2/sandbox/usercollection/daily_activity/{document_id} | Sandbox - Single Daily Activity Document |
| SandboxRoutesApi | SandboxSingleDailyCardiovascularAgeDocumentV2SandboxUsercollectionDailyCardiovascularAgeDocumentIdGet | GET /v2/sandbox/usercollection/daily_cardiovascular_age/{document_id} | Sandbox - Single Daily Cardiovascular Age Document |
| SandboxRoutesApi | SandboxSingleDailyReadinessDocumentV2SandboxUsercollectionDailyReadinessDocumentIdGet | GET /v2/sandbox/usercollection/daily_readiness/{document_id} | Sandbox - Single Daily Readiness Document |
| SandboxRoutesApi | SandboxSingleDailyResilienceDocumentV2SandboxUsercollectionDailyResilienceDocumentIdGet | GET /v2/sandbox/usercollection/daily_resilience/{document_id} | Sandbox - Single Daily Resilience Document |
| SandboxRoutesApi | SandboxSingleDailySleepDocumentV2SandboxUsercollectionDailySleepDocumentIdGet | GET /v2/sandbox/usercollection/daily_sleep/{document_id} | Sandbox - Single Daily Sleep Document |
| SandboxRoutesApi | SandboxSingleDailySpo2DocumentV2SandboxUsercollectionDailySpo2DocumentIdGet | GET /v2/sandbox/usercollection/daily_spo2/{document_id} | Sandbox - Single Daily Spo2 Document |
| SandboxRoutesApi | SandboxSingleDailyStressDocumentV2SandboxUsercollectionDailyStressDocumentIdGet | GET /v2/sandbox/usercollection/daily_stress/{document_id} | Sandbox - Single Daily Stress Document |
| SandboxRoutesApi | SandboxSingleEnhancedTagDocumentV2SandboxUsercollectionEnhancedTagDocumentIdGet | GET /v2/sandbox/usercollection/enhanced_tag/{document_id} | Sandbox - Single Enhanced Tag Document |
| SandboxRoutesApi | SandboxSingleRestModePeriodDocumentV2SandboxUsercollectionRestModePeriodDocumentIdGet | GET /v2/sandbox/usercollection/rest_mode_period/{document_id} | Sandbox - Single Rest Mode Period Document |
| SandboxRoutesApi | SandboxSingleRingConfigurationDocumentV2SandboxUsercollectionRingConfigurationDocumentIdGet | GET /v2/sandbox/usercollection/ring_configuration/{document_id} | Sandbox - Single Ring Configuration Document |
| SandboxRoutesApi | SandboxSingleSessionDocumentV2SandboxUsercollectionSessionDocumentIdGet | GET /v2/sandbox/usercollection/session/{document_id} | Sandbox - Single Session Document |
| SandboxRoutesApi | SandboxSingleSleepDocumentV2SandboxUsercollectionSleepDocumentIdGet | GET /v2/sandbox/usercollection/sleep/{document_id} | Sandbox - Single Sleep Document |
| SandboxRoutesApi | SandboxSingleSleepTimeDocumentV2SandboxUsercollectionSleepTimeDocumentIdGet | GET /v2/sandbox/usercollection/sleep_time/{document_id} | Sandbox - Single Sleep Time Document |
| SandboxRoutesApi | SandboxSingleTagDocumentV2SandboxUsercollectionTagDocumentIdGet | GET /v2/sandbox/usercollection/tag/{document_id} | Sandbox - Single Tag Document |
| SandboxRoutesApi | SandboxSingleVO2MaxDocumentV2SandboxUsercollectionVO2MaxDocumentIdGet | GET /v2/sandbox/usercollection/vO2_max/{document_id} | Sandbox - Single Vo2 Max Document |
| SandboxRoutesApi | SandboxSingleWorkoutDocumentV2SandboxUsercollectionWorkoutDocumentIdGet | GET /v2/sandbox/usercollection/workout/{document_id} | Sandbox - Single Workout Document |
| SessionRoutesApi | MultipleSessionDocumentsV2UsercollectionSessionGet | GET /v2/usercollection/session | Multiple Session Documents |
| SessionRoutesApi | SingleSessionDocumentV2UsercollectionSessionDocumentIdGet | GET /v2/usercollection/session/{document_id} | Single Session Document |
| SleepRoutesApi | MultipleSleepDocumentsV2UsercollectionSleepGet | GET /v2/usercollection/sleep | Multiple Sleep Documents |
| SleepRoutesApi | SingleSleepDocumentV2UsercollectionSleepDocumentIdGet | GET /v2/usercollection/sleep/{document_id} | Single Sleep Document |
| SleepTimeRoutesApi | MultipleSleepTimeDocumentsV2UsercollectionSleepTimeGet | GET /v2/usercollection/sleep_time | Multiple Sleep Time Documents |
| SleepTimeRoutesApi | SingleSleepTimeDocumentV2UsercollectionSleepTimeDocumentIdGet | GET /v2/usercollection/sleep_time/{document_id} | Single Sleep Time Document |
| TagRoutesApi | MultipleTagDocumentsV2UsercollectionTagGet | GET /v2/usercollection/tag | Multiple Tag Documents |
| TagRoutesApi | SingleTagDocumentV2UsercollectionTagDocumentIdGet | GET /v2/usercollection/tag/{document_id} | Single Tag Document |
| VO2MaxRoutesApi | MultipleVO2MaxDocumentsV2UsercollectionVO2MaxGet | GET /v2/usercollection/vO2_max | Multiple Vo2 Max Documents |
| VO2MaxRoutesApi | SingleVO2MaxDocumentV2UsercollectionVO2MaxDocumentIdGet | GET /v2/usercollection/vO2_max/{document_id} | Single Vo2 Max Document |
| WebhookSubscriptionRoutesApi | CreateWebhookSubscriptionV2WebhookSubscriptionPost | POST /v2/webhook/subscription | Create Webhook Subscription |
| WebhookSubscriptionRoutesApi | DeleteWebhookSubscriptionV2WebhookSubscriptionIdDelete | DELETE /v2/webhook/subscription/{id} | Delete Webhook Subscription |
| WebhookSubscriptionRoutesApi | GetWebhookSubscriptionV2WebhookSubscriptionIdGet | GET /v2/webhook/subscription/{id} | Get Webhook Subscription |
| WebhookSubscriptionRoutesApi | ListWebhookSubscriptionsV2WebhookSubscriptionGet | GET /v2/webhook/subscription | List Webhook Subscriptions |
| WebhookSubscriptionRoutesApi | RenewWebhookSubscriptionV2WebhookSubscriptionRenewIdPut | PUT /v2/webhook/subscription/renew/{id} | Renew Webhook Subscription |
| WebhookSubscriptionRoutesApi | UpdateWebhookSubscriptionV2WebhookSubscriptionIdPut | PUT /v2/webhook/subscription/{id} | Update Webhook Subscription |
| WorkoutRoutesApi | MultipleWorkoutDocumentsV2UsercollectionWorkoutGet | GET /v2/usercollection/workout | Multiple Workout Documents |
| WorkoutRoutesApi | SingleWorkoutDocumentV2UsercollectionWorkoutDocumentIdGet | GET /v2/usercollection/workout/{document_id} | Single Workout Document |
<a id="documentation-for-models"></a>
Documentation for Models
- Model.CreateWebhookSubscriptionRequest
- Model.DailyResilienceModel
- Model.EnhancedTagModel
- Model.ExtApiV2DataType
- Model.HTTPValidationError
- Model.LongTermResilienceLevel
- Model.MultiDocumentResponseDailyResilienceModel
- Model.MultiDocumentResponseEnhancedTagModel
- Model.MultiDocumentResponsePublicDailyActivity
- Model.MultiDocumentResponsePublicDailyCardiovascularAge
- Model.MultiDocumentResponsePublicDailyReadiness
- Model.MultiDocumentResponsePublicDailySleep
- Model.MultiDocumentResponsePublicDailySpO2
- Model.MultiDocumentResponsePublicDailyStress
- Model.MultiDocumentResponsePublicModifiedSleepModel
- Model.MultiDocumentResponsePublicRestModePeriod
- Model.MultiDocumentResponsePublicRingConfiguration
- Model.MultiDocumentResponsePublicSession
- Model.MultiDocumentResponsePublicSleepTime
- Model.MultiDocumentResponsePublicVO2Max
- Model.MultiDocumentResponsePublicWorkout
- Model.MultiDocumentResponseTagModel
- Model.PersonalInfoResponse
- Model.PublicActivityContributors
- Model.PublicDailyActivity
- Model.PublicDailyCardiovascularAge
- Model.PublicDailyReadiness
- Model.PublicDailySleep
- Model.PublicDailySpO2
- Model.PublicDailyStress
- Model.PublicDailyStressSummary
- Model.PublicHeartRateRow
- Model.PublicHeartRateSource
- Model.PublicModifiedSleepModel
- Model.PublicMomentMood
- Model.PublicMomentType
- Model.PublicReadiness
- Model.PublicReadinessContributors
- Model.PublicRestModeEpisode
- Model.PublicRestModePeriod
- Model.PublicRingBatteryLevelRow
- Model.PublicRingColor
- Model.PublicRingConfiguration
- Model.PublicRingDesign
- Model.PublicRingHardwareType
- Model.PublicSample
- Model.PublicSession
- Model.PublicSleepAlgorithmVersion
- Model.PublicSleepAnalysisReason
- Model.PublicSleepContributors
- Model.PublicSleepTime
- Model.PublicSleepTimeRecommendation
- Model.PublicSleepTimeStatus
- Model.PublicSleepTimeWindow
- Model.PublicSleepType
- Model.PublicSpo2AggregatedValues
- Model.PublicVO2Max
- Model.PublicWorkout
- Model.PublicWorkoutIntensity
- Model.PublicWorkoutSource
- Model.ResilienceContributors
- Model.ResponseMultipleHeartrateDocumentsV2UsercollectionHeartrateGet
- Model.ResponseMultipleRingBatteryLevelDocumentsV2UsercollectionRingBatteryLevelGet
- Model.ResponseSandboxMultipleHeartrateDocumentsV2SandboxUsercollectionHeartrateGet
- Model.ResponseSandboxMultipleRingBatteryLevelDocumentsV2SandboxUsercollectionRingBatteryLevelGet
- Model.TagModel
- Model.TimeSeriesResponseDict
- Model.TimeSeriesResponsePublicHeartRateRow
- Model.TimeSeriesResponsePublicRingBatteryLevelRow
- Model.UpdateWebhookSubscriptionRequest
- Model.ValidationError
- Model.ValidationErrorLocInner
- Model.WebhookOperation
- Model.WebhookSubscriptionModel
<a id="documentation-for-authorization"></a>
Documentation for Authorization
Authentication schemes defined for the API: <a id="BearerAuth"></a>
BearerAuth
- Type: Bearer Authentication
<a id="OAuth2"></a>
OAuth2
- Type: OAuth
- Flow: accessCode
- Authorization URL: https://cloud.ouraring.com/oauth/authorize
- Scopes:
- email: Email address of the user
- personal: Personal information (gender, age, height, weight)
- daily: Daily summaries of sleep, activity and readiness
- heartrate: Time series heart rate for Gen 3 users
- workout: Summaries for auto-detected and user entered workouts
- tag: User entered tags
- session: Guided and unguided sessions in the Oura app
- spo2Daily: SpO2 Average recorded during sleep
<a id="ClientIdAuth"></a>
ClientIdAuth
- Type: API key
- API key parameter name: x-client-id
- Location: HTTP header
<a id="ClientSecretAuth"></a>
ClientSecretAuth
- Type: API key
- API key parameter name: x-client-secret
- Location: HTTP header
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- JsonSubTypes (>= 2.0.1)
- Newtonsoft.Json (>= 13.0.3)
- Polly (>= 8.1.0)
- System.ComponentModel.Annotations (>= 5.0.0)
-
net10.0
- JsonSubTypes (>= 2.0.1)
- Newtonsoft.Json (>= 13.0.3)
- Polly (>= 8.1.0)
- System.ComponentModel.Annotations (>= 5.0.0)
-
net8.0
- JsonSubTypes (>= 2.0.1)
- Newtonsoft.Json (>= 13.0.3)
- Polly (>= 8.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.