
Security News
Meet Socket at Black Hat and DEF CON 2025 in Las Vegas
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
ŌURA Cloud API. Interact with v2 of the Oura API using Personal Access Tokens, OAuth2, or the Sandbox environment. Includes support for the Webhook subscriptions.
Interact with v2 of the Oura API using Personal Access Tokens, OAuth2, or the Sandbox environment.
Available as:
Installation
# Deno
deno add jsr:@pinta365/oura-api
# Bun
bunx jsr add @pinta365/oura-api
# Node.js
npx jsr add @pinta365/oura-api
# NPM (CommonJS)
npm install oura_api --save
Basic Usage (ESM)
import { Oura } from "@pinta365/oura-api";
const accessToken = "YOUR_PERSONAL_ACCESS_TOKEN";
const oura = new Oura(accessToken);
const personalInfo = await oura.getPersonalInfo();
console.log(personalInfo);
Basic Usage (CommonJS)
const { Oura } = require("oura_api");
// ... (same as above)
See the examples
folder for more detailed implementations.
The Oura API's sandbox environment (Docs) is perfect for development. It provides sample data so you don't need a real Oura account to test your application.
const ouraSandboxClient = new Oura({ useSandbox: true });
// ...Make API calls with `ouraSandboxClient`
Our library simplifies OAuth2 authentication with these functions:
generateAuthUrl(scopes: string[], state?: string): string
async exchangeCodeForToken(code: string): Promise<OAuth2TokenResponse>
async refreshAccessToken(suppliedRefreshToken: string): Promise<OAuth2TokenResponse>
async revokeAccessToken(accessToken: string): Promise<boolean>
Example Usage (Simplified) See the examples
folder for a basic implementation using Hono.
import { OuraOAuth } from "@pinta365/oura-api";
const oura = new OuraOAuth({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET",
redirectUri: "http://localhost:8000/callback",
});
// 1. Generate the authorization URL
const authUrl = oura.generateAuthUrl(["personal"]);
// 2. Redirect the user to `authUrl`
// ... (Implementation in your web application)
// 3. In your callback route, exchange the code for tokens
app.get("/callback", async (c) => {
const code = c.req.query("code");
const tokens = await oura.exchangeCodeForToken(code);
// ... Store tokens securely and use the access_token for API calls
});
Endpoint/Scope | Status |
---|---|
Oura Base docs | |
Daily Activity | Implemented |
Daily Cardiovascular Age | Implemented |
Daily Readiness | Implemented |
Daily Resilience | Implemented |
Daily Sleep | Implemented |
Daily Spo2 | Implemented |
Daily Stress | Implemented |
Enhanced Tag | Implemented |
Heart Rate | Implemented |
Personal Info | Implemented |
Rest Mode Period | Implemented |
Ring Configuration | Implemented |
Session | Implemented |
Sleep | Implemented |
Sleep Time | Implemented |
Tag | DEPRECATED |
Vo2 Max | Implemented |
Workout | Implemented |
Webhook Subscription docs | |
List subscription | Implemented |
Create subscription | Implemented |
Update subscription | Implemented |
Delete subscription | Implemented |
Renew subscription | Implemented |
Additional info concerning the webhook API
Webhooks enable near real-time Oura data updates and are recommended for getting the latest information. The subscription workflow is implemented in this library – see the Webhook docs for details.
⚠️ I have not been able to fully verify this yet but the subscription workflow has been implemented.
Please report any issues or questions on the GitHub repository.
MIT License - see the LICENSE file.
FAQs
ŌURA Cloud API. Interact with v2 of the Oura API using Personal Access Tokens, OAuth2, or the Sandbox environment. Includes support for the Webhook subscriptions.
The npm package oura_api receives a total of 10 weekly downloads. As such, oura_api popularity was classified as not popular.
We found that oura_api demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.