API overview¶
The Oura API is a small REST API. It takes JSON, returns JSON and uses standard HTTP status codes.
Base URL¶
All endpoints are versioned under /v1.
Authentication¶
Send your secret key as a bearer token on every request:
Requests without a valid key return 401 UNAUTHORIZED. Keep secret keys on your server. See
Test and live keys.
Endpoints¶
| Method | Path | Does |
|---|---|---|
POST |
/v1/payments |
Create a payment |
GET |
/v1/payments/:id |
Retrieve a payment |
GET |
/v1/payments |
List payments |
POST |
/v1/payments/:id/cancel |
Cancel a payment |
Payment results reach you through webhooks.
Conventions¶
- Amounts are integers in paisa. See Amounts.
- Timestamps are ISO 8601 strings in UTC.
POST /v1/paymentsrequires anIdempotency-Keyheader (the SDKs add one for you). See Idempotency.- Lists use cursor pagination with
limitandstarting_after. - Errors share one shape. See Errors.
Retries¶
The SDKs retry 429 and 5xx responses with backoff (two retries by default). If you call the API
directly, do the same, and always send an idempotency key when you retry a create.