Skip to main content
The Deno 2 Release Candidate is here
Learn more
Module

x/oura_api/src/OuraBase.ts>default

Typescript project to interact with v2 of the Oura Ring API
Latest
class default
import { default } from "https://deno.land/x/oura_api@1.0.1/src/OuraBase.ts";

Base class for the Oura API. Class containing all the methods to access the Oura API with an access token.

Constructors

new
default(options: ApiOptionsBase)

Creates a new Oura API client.

Methods

protected
fetchData(
_endpoint: string,
_params?: Record<string, string>,
_accessToken?: string,
): Promise<unknown>

Protected method to fetch data from the Oura API.

getAll(
accessToken: string | undefined,
endpoint: string,
initialParams?: Record<string, string>,
): Promise<unknown[] | unknown>

Generic method to fetch data from Oura API with pagination support.

getDailyActivity(documentId: string, accessToken?: string): Promise<DailyActivity>

Retrieves a single activity document by its ID.

getDailyActivityDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<DailyActivity[]>

Retrieves daily activity documents for a specified date range.

getDailyCardiovascularAge(documentId: string, accessToken?: string): Promise<DailyCardiovascularAge>

Retrieves a cardiovascular age document by its ID.

getDailyCardiovascularAgeDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<DailyCardiovascularAge[]>

Retrieves cardiovascular age documents for a specified date range.

getDailyReadiness(documentId: string, accessToken?: string): Promise<DailyReadiness>

Retrieves a single readiness document by its ID.

getDailyReadinessDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<DailyReadiness[]>

Retrieves daily readiness documents for a specified date range.

getDailyResilience(documentId: string, accessToken?: string): Promise<DailyResilience>

Retrieves a single resilience document by its ID.

getDailyResilienceDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<DailyResilience[]>

Retrieves daily resilience documents for a specified date range.

getDailySession(documentId: string, accessToken?: string): Promise<DailySession>

Retrieves a single daily session document by its ID.

getDailySessionDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<DailySession[]>

Retrieves daily session documents for a specified date range.

getDailySleep(documentId: string, accessToken?: string): Promise<DailySleep>

Retrieves a single daily sleep document by its ID.

getDailySleepDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<DailySleep[]>

Retrieves daily sleep documents for a specified date range.

getDailySpo2(documentId: string, accessToken?: string): Promise<DailySpo2>

Retrieves a single daily spO2 (blood oxygenation) average document by its ID. Data will only be available for users with a Gen 3 Oura Ring

getDailySpo2Documents(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<DailySpo2[]>

Retrieves daily spO2 (blood oxygenation) averages for a specified date range. Data will only be available for users with a Gen 3 Oura Ring

getDailyStress(documentId: string, accessToken?: string): Promise<DailyStress>

Retrieves a single daily stress summary document by its ID.

getDailyStressDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<DailyStress[]>

Retrieves daily stress summary for a specified date range.

getEnhancedTag(documentId: string, accessToken?: string): Promise<EnhancedTag>

Retrieves a single enhanced tags document by its ID.

getEnhancedTagDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<EnhancedTag[]>

Retrieves enhanced tags for a specified date range. The Enhanced Tags data scope includes tags that Oura users enter within the Oura mobile app. Enhanced Tags can be added for any lifestyle choice, habit, mood change, or environmental factor an Oura user wants to monitor the effects of. Enhanced Tags also contain context on a tag's start and end time, whether a tag repeats daily, and comments.

getHeartrate(
startDateTime: string,
endDateTime: string,
accessToken?: string,
): Promise<Heartrate[]>

Retrieves heart rate data for a specified date and time period.

getPersonalInfo(accessToken?: string): Promise<PersonalInfo>

Retrieves personal information about the user.

getRestModePeriod(documentId: string, accessToken?: string): Promise<RestModePeriod>

Retrieves a single rest mode period document by its ID.

getRestModePeriodDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<RestModePeriod[]>

Retrieves rest mode periods for a specified date range.

getRingConfiguration(documentId: string, accessToken?: string): Promise<RingConfiguration>

Retrieves a single ring configuration document by its ID.

getRingConfigurationDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<RingConfiguration[]>

Retrieves ring configuration information for a specified date range.

getSleep(documentId: string, accessToken?: string): Promise<Sleep>

Retrieves a single sleep session document by its ID.

getSleepDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<Sleep[]>

Retrieves sleep documents for a specified date range.

getSleepTime(documentId: string, accessToken?: string): Promise<SleepTime>

Retrieves a single recommended bedtime window document by its ID.

getSleepTimeDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<SleepTime[]>

Retrieves recommended bedtime windows for a specified date range.

getTag(documentId: string, accessToken?: string): Promise<Tag>

Retrieves a single tag document by its ID.

Note: Tag is deprecated. We recommend transitioning to Enhanced Tag.

getTagDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<Tag[]>

Retrieves daily tags for a specified date range.

Note: Tag is deprecated. We recommend transitioning to Enhanced Tag.

getVO2Max(documentId: string, accessToken?: string): Promise<VO2Max>

Retrieves a single VO2Max document by its ID.

getVO2MaxDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<VO2Max[]>

Retrieves VO2Max documents for a specified date range.

getWorkout(documentId: string, accessToken?: string): Promise<Workout>

Retrieves a single workout document by its ID.

getWorkoutDocuments(
startDate: DateFormat,
endDate: DateFormat,
accessToken?: string,
): Promise<Workout[]>

Retrieves workout documents for a specified date range.