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 name (reserved)
Rust sdks/rust/oura-toolkit-api oura-toolkit-auth oura-toolkit-api / oura-toolkit-auth (crates.io)
TypeScript sdks/typescript/api @oura-toolkit/auth @oura-toolkit/api (npm)
Python sdks/python (oura_toolkit.api) oura_toolkit.auth oura-toolkit (PyPI)
Go sdks/go sdks/go/auth github.com/spxrogers/oura-toolkit/sdks/go
Java sdks/java/api com.ouratoolkit:auth com.ouratoolkit:api (Maven Central)
C# sdks/csharp/api OuraToolkit.Auth OuraToolkit.Api (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.