Skip to content

SDKs

Every language gets the same shape: a data-plane client generated from Oura’s OpenAPI spec (auth-agnostic — bring a Bearer token) plus a hand-written auth companion (token store + refresh). Rust also hosts the CLI, which runs on its client — so the Rust SDK is dogfooded end to end.

Language Generated client Auth companion Package
Rust sdks/rust/oura-toolkit-api oura-toolkit-auth oura-toolkit-api / oura-toolkit-auth — published (crates.io)
TypeScript sdks/typescript/api @oura-toolkit/auth @oura-toolkit/api / @oura-toolkit/auth — published (npm)
Python sdks/python (oura_toolkit.api) oura_toolkit.auth oura-toolkit — published (PyPI)
Go sdks/go sdks/go/auth github.com/spxrogers/oura-toolkit/sdks/go — published (release-tagged)
Java sdks/java/api com.ouratoolkit:auth com.ouratoolkit:api / com.ouratoolkit:auth — published (Maven Central)
C# sdks/csharp/api OuraToolkit.Auth OuraToolkit.Api / OuraToolkit.Auth — published (NuGet)
  • Does: type every Oura API v2 operation and model, handle serialization, and issue authenticated requests when you attach a Bearer token.
  • Doesn’t: run the interactive OAuth flow (that lives in the CLI) or write to your account (the toolkit is read-only). The non-interactive auth companion handles the token store and refresh-with-rotation.

Pick your language from the sidebar for a usage sketch. For the endpoints themselves, see the generated API reference.