Skip to content

cluebbehusen/rust-oura-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rust-oura-api

A client for the Oura V2 REST API, written in Rust.

Documentation for the Oura V2 API is available here.

The client relies on reqwest for the underlying HTTP client and serde for serialization and deserialization.

Features

Supports fetching following items from the Oura API and deserializing them into Rust structs:

  • Daily Activity
  • Daily Readiness
  • Daily Sleep
  • Daily SpO2
  • Heart Rate
  • Personal Info
  • Rest Mode Period
  • Ring Configuration
  • Session
  • Sleep
  • Sleep Time
  • Tag
  • Workout
  • TagV2

Example Usage

use oura_api::{OuraClient, DateQuery};

// token is the personal access token for the Oura API
let token = std::env::var("OURA_PERSONAL_ACCESS_TOKEN").unwrap();
let client = OuraClient::new(&token);

let august_date_query = DateQuery::builder().start_date("2023-08-01").end_date("2023-08-31").build();
let august_daily_sleep = client.list_daily_sleep(august_date_query).unwrap();

For instructions on how to generate a personal access token, see the Oura docs.