openapi: 3.1.0
info:
title: Oura API
version: '2.0'
paths:
/v2/usercollection/personal_info:
get:
tags:
- Personal Info Routes
summary: Single Personal Info Document
operationId: Single_Personal_Info_Document_v2_usercollection_personal_info_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PersonalInfoResponse'
'400':
description: Client Exception
'401':
description: Unauthorized access exception. Usually means the access token
is expired, malformed or revoked.
'403':
description: Access forbidden. Usually means the user's subscription to
Oura has expired and their data is not available via the API.
'429':
description: Request Rate Limit Exceeded.
security:
- BearerAuth: []
- OAuth2: []
x-codeSamples:
- lang: cURL
label: cURL
source: 'curl --location --request GET ''https://api.ouraring.com/v2/usercollection/personal_info''
\
--header ''Authorization: Bearer <token>'''
- lang: Python
source: "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/personal_info'\
\ \nparams={ \n 'start_date': '2021-11-01', \n 'end_date': '2021-12-01'\
\ \n}\nheaders = { \n 'Authorization': 'Bearer <token>' \n}\nresponse =\
\ requests.request('GET', url, headers=headers, params=params) \nprint(response.text)"
label: Python
- lang: JavaScript
source: "var myHeaders = new Headers(); \nmyHeaders.append('Authorization',\
\ 'Bearer <token>'); \nvar requestOptions = { \n method: 'GET', \n headers:\
\ myHeaders, \nfetch('https://api.ouraring.com/v2/usercollection/personal_info',\
\ requestOptions) \n .then(response => response.text()) \n .then(result\
\ => console.log(result)) \n .catch(error => console.log('error', error));"
label: JavaScript
- lang: Java
source: "OkHttpClient client = new OkHttpClient().newBuilder() \n .build();\
\ \nRequest request = new Request.Builder() \n .url(\"https://api.ouraring.com/v2/usercollection/personal_info\"\
) \n .method(\"GET\", null) \n .addHeader(\"Authorization\", \"Bearer\
\ <token>\") \n .build(); \nResponse response = client.newCall(request).execute();"
label: Java
/v2/usercollection/tag:
get:
tags:
- Tag Routes
summary: Multiple Tag Documents
operationId: Multiple_tag_Documents_v2_usercollection_tag_get
parameters:
- name: start_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: End Date
- name: next_token
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Next Token
- name: fields
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: N/A. This route does not support field selection yet, all fields
will be returned.
title: Fields
description: N/A. This route does not support field selection yet, all fields
will be returned.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/MultiDocumentResponse_TagModel_'
- $ref: '#/components/schemas/MultiDocumentResponseDict'
title: Response Multiple Tag Documents V2 Usercollection Tag Get
'400':
description: Client Exception
'401':
description: Unauthorized access exception. Usually means the access token
is expired, malformed or revoked.
'403':
description: Access forbidden. Usually means the user's subscription to
Oura has expired and their data is not available via the API.
'429':
description: Request Rate Limit Exceeded.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- BearerAuth: []
- OAuth2: []
x-codeSamples:
- lang: cURL
label: cURL
source: 'curl --location --request GET ''https://api.ouraring.com/v2/usercollection/tag?start_date=2021-11-01&end_date=2021-12-01''
\
--header ''Authorization: Bearer <token>'''
- lang: Python
source: "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/tag'\
\ \nparams={ \n 'start_date': '2021-11-01', \n 'end_date': '2021-12-01'\
\ \n}\nheaders = { \n 'Authorization': 'Bearer <token>' \n}\nresponse =\
\ requests.request('GET', url, headers=headers, params=params) \nprint(response.text)"
label: Python
- lang: JavaScript
source: "var myHeaders = new Headers(); \nmyHeaders.append('Authorization',\
\ 'Bearer <token>'); \nvar requestOptions = { \n method: 'GET', \n headers:\
\ myHeaders, \nfetch('https://api.ouraring.com/v2/usercollection/tag?start_date=2021-11-01&end_date=2021-12-01',\
\ requestOptions) \n .then(response => response.text()) \n .then(result\
\ => console.log(result)) \n .catch(error => console.log('error', error));"
label: JavaScript
- lang: Java
source: "OkHttpClient client = new OkHttpClient().newBuilder() \n .build();\
\ \nRequest request = new Request.Builder() \n .url(\"https://api.ouraring.com/v2/usercollection/tag?start_date=2021-11-01&end_date=2021-12-01\"\
) \n .method(\"GET\", null) \n .addHeader(\"Authorization\", \"Bearer\
\ <token>\") \n .build(); \nResponse response = client.newCall(request).execute();"
label: Java
/v2/sandbox/usercollection/tag:
get:
tags:
- Sandbox Routes
summary: Sandbox - Multiple Tag Documents
operationId: Sandbox___Multiple_tag_Documents_v2_sandbox_usercollection_tag_get
parameters:
- name: start_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: End Date
- name: next_token
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Next Token
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/MultiDocumentResponse_TagModel_'
- $ref: '#/components/schemas/MultiDocumentResponseDict'
title: Response Sandbox Multiple Tag Documents V2 Sandbox Usercollection
Tag Get
'400':
description: Client Exception
'401':
description: Unauthorized access exception. Usually means the access token
is expired, malformed or revoked.
'403':
description: Access forbidden. Usually means the user's subscription to
Oura has expired and their data is not available via the API.
'429':
description: Request Rate Limit Exceeded.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- BearerAuth: []
- OAuth2: []
x-codeSamples:
- lang: cURL
label: cURL
source: 'curl --location --request GET ''https://api.ouraring.com/v2/sandbox/usercollection/tag?start_date=2021-11-01&end_date=2021-12-01''
\
--header ''Authorization: Bearer <token>'''
- lang: Python
source: "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/tag'\
\ \nparams={ \n 'start_date': '2021-11-01', \n 'end_date': '2021-12-01'\
\ \n}\nheaders = { \n 'Authorization': 'Bearer <token>' \n}\nresponse =\
\ requests.request('GET', url, headers=headers, params=params) \nprint(response.text)"
label: Python
- lang: JavaScript
source: "var myHeaders = new Headers(); \nmyHeaders.append('Authorization',\
\ 'Bearer <token>'); \nvar requestOptions = { \n method: 'GET', \n headers:\
\ myHeaders, \nfetch('https://api.ouraring.com/v2/sandbox/usercollection/tag?start_date=2021-11-01&end_date=2021-12-01',\
\ requestOptions) \n .then(response => response.text()) \n .then(result\
\ => console.log(result)) \n .catch(error => console.log('error', error));"
label: JavaScript
- lang: Java
source: "OkHttpClient client = new OkHttpClient().newBuilder() \n .build();\
\ \nRequest request = new Request.Builder() \n .url(\"https://api.ouraring.com/v2/sandbox/usercollection/tag?start_date=2021-11-01&end_date=2021-12-01\"\
) \n .method(\"GET\", null) \n .addHeader(\"Authorization\", \"Bearer\
\ <token>\") \n .build(); \nResponse response = client.newCall(request).execute();"
label: Java
/v2/usercollection/enhanced_tag:
get:
tags:
- Enhanced Tag Routes
summary: Multiple Enhanced Tag Documents
operationId: Multiple_enhanced_tag_Documents_v2_usercollection_enhanced_tag_get
parameters:
- name: start_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: End Date
- name: next_token
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Next Token
- name: fields
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: N/A. This route does not support field selection yet, all fields
will be returned.
title: Fields
description: N/A. This route does not support field selection yet, all fields
will be returned.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/MultiDocumentResponse_EnhancedTagModel_'
- $ref: '#/components/schemas/MultiDocumentResponseDict'
title: Response Multiple Enhanced Tag Documents V2 Usercollection
Enhanced Tag Get
'400':
description: Client Exception
'401':
description: Unauthorized access exception. Usually means the access token
is expired, malformed or revoked.
'403':
description: Access forbidden. Usually means the user's subscription to
Oura has expired and their data is not available via the API.
'429':
description: Request Rate Limit Exceeded.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- BearerAuth: []
- OAuth2: []
x-codeSamples:
- lang: cURL
label: cURL
source: 'curl --location --request GET ''https://api.ouraring.com/v2/usercollection/enhanced_tag?start_date=2021-11-01&end_date=2021-12-01''
\
--header ''Authorization: Bearer <token>'''
- lang: Python
source: "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/enhanced_tag'\
\ \nparams={ \n 'start_date': '2021-11-01', \n 'end_date': '2021-12-01'\
\ \n}\nheaders = { \n 'Authorization': 'Bearer <token>' \n}\nresponse =\
\ requests.request('GET', url, headers=headers, params=params) \nprint(response.text)"
label: Python
- lang: JavaScript
source: "var myHeaders = new Headers(); \nmyHeaders.append('Authorization',\
\ 'Bearer <token>'); \nvar requestOptions = { \n method: 'GET', \n headers:\
\ myHeaders, \nfetch('https://api.ouraring.com/v2/usercollection/enhanced_tag?start_date=2021-11-01&end_date=2021-12-01',\
\ requestOptions) \n .then(response => response.text()) \n .then(result\
\ => console.log(result)) \n .catch(error => console.log('error', error));"
label: JavaScript
- lang: Java
source: "OkHttpClient client = new OkHttpClient().newBuilder() \n .build();\
\ \nRequest request = new Request.Builder() \n .url(\"https://api.ouraring.com/v2/usercollection/enhanced_tag?start_date=2021-11-01&end_date=2021-12-01\"\
) \n .method(\"GET\", null) \n .addHeader(\"Authorization\", \"Bearer\
\ <token>\") \n .build(); \nResponse response = client.newCall(request).execute();"
label: Java
/v2/sandbox/usercollection/enhanced_tag:
get:
tags:
- Sandbox Routes
summary: Sandbox - Multiple Enhanced Tag Documents
operationId: Sandbox___Multiple_enhanced_tag_Documents_v2_sandbox_usercollection_enhanced_tag_get
parameters:
- name: start_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: End Date
- name: next_token
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Next Token
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/MultiDocumentResponse_EnhancedTagModel_'
- $ref: '#/components/schemas/MultiDocumentResponseDict'
title: Response Sandbox Multiple Enhanced Tag Documents V2 Sandbox
Usercollection Enhanced Tag Get
'400':
description: Client Exception
'401':
description: Unauthorized access exception. Usually means the access token
is expired, malformed or revoked.
'403':
description: Access forbidden. Usually means the user's subscription to
Oura has expired and their data is not available via the API.
'429':
description: Request Rate Limit Exceeded.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- BearerAuth: []
- OAuth2: []
x-codeSamples:
- lang: cURL
label: cURL
source: 'curl --location --request GET ''https://api.ouraring.com/v2/sandbox/usercollection/enhanced_tag?start_date=2021-11-01&end_date=2021-12-01''
\
--header ''Authorization: Bearer <token>'''
- lang: Python
source: "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/enhanced_tag'\
\ \nparams={ \n 'start_date': '2021-11-01', \n 'end_date': '2021-12-01'\
\ \n}\nheaders = { \n 'Authorization': 'Bearer <token>' \n}\nresponse =\
\ requests.request('GET', url, headers=headers, params=params) \nprint(response.text)"
label: Python
- lang: JavaScript
source: "var myHeaders = new Headers(); \nmyHeaders.append('Authorization',\
\ 'Bearer <token>'); \nvar requestOptions = { \n method: 'GET', \n headers:\
\ myHeaders, \nfetch('https://api.ouraring.com/v2/sandbox/usercollection/enhanced_tag?start_date=2021-11-01&end_date=2021-12-01',\
\ requestOptions) \n .then(response => response.text()) \n .then(result\
\ => console.log(result)) \n .catch(error => console.log('error', error));"
label: JavaScript
- lang: Java
source: "OkHttpClient client = new OkHttpClient().newBuilder() \n .build();\
\ \nRequest request = new Request.Builder() \n .url(\"https://api.ouraring.com/v2/sandbox/usercollection/enhanced_tag?start_date=2021-11-01&end_date=2021-12-01\"\
) \n .method(\"GET\", null) \n .addHeader(\"Authorization\", \"Bearer\
\ <token>\") \n .build(); \nResponse response = client.newCall(request).execute();"
label: Java
/v2/usercollection/workout:
get:
tags:
- Workout Routes
summary: Multiple Workout Documents
operationId: Multiple_workout_Documents_v2_usercollection_workout_get
parameters:
- name: start_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: End Date
- name: next_token
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Next Token
- name: fields
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated list of fields to include in the response,
in addition to the always returned fields. Defaults to all fields if not
provided.
title: Fields
description: Comma-separated list of fields to include in the response, in
addition to the always returned fields. Defaults to all fields if not provided.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/MultiDocumentResponse_PublicWorkout_'
- $ref: '#/components/schemas/MultiDocumentResponseDict'
title: Response Multiple Workout Documents V2 Usercollection Workout
Get
'400':
description: Client Exception
'401':
description: Unauthorized access exception. Usually means the access token
is expired, malformed or revoked.
'403':
description: Access forbidden. Usually means the user's subscription to
Oura has expired and their data is not available via the API.
'429':
description: Request Rate Limit Exceeded.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- BearerAuth: []
- OAuth2: []
x-codeSamples:
- lang: cURL
label: cURL
source: 'curl --location --request GET ''https://api.ouraring.com/v2/usercollection/workout?start_date=2021-11-01&end_date=2021-12-01&fields=day,score''
\
--header ''Authorization: Bearer <token>'''
- lang: Python
source: "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/workout'\
\ \nparams={ \n 'start_date': '2021-11-01', \n 'end_date': '2021-12-01',\n\
\ 'fields': 'day,score' \n}\nheaders = { \n 'Authorization': 'Bearer\
\ <token>' \n}\nresponse = requests.request('GET', url, headers=headers,\
\ params=params) \nprint(response.text)"
label: Python
- lang: JavaScript
source: "var myHeaders = new Headers(); \nmyHeaders.append('Authorization',\
\ 'Bearer <token>'); \nvar requestOptions = { \n method: 'GET', \n headers:\
\ myHeaders, \nfetch('https://api.ouraring.com/v2/usercollection/workout?start_date=2021-11-01&end_date=2021-12-01&fields=day,score',\
\ requestOptions) \n .then(response => response.text()) \n .then(result\
\ => console.log(result)) \n .catch(error => console.log('error', error));"
label: JavaScript
- lang: Java
source: "OkHttpClient client = new OkHttpClient().newBuilder() \n .build();\
\ \nRequest request = new Request.Builder() \n .url(\"https://api.ouraring.com/v2/usercollection/workout?start_date=2021-11-01&end_date=2021-12-01&fields=day,score\"\
) \n .method(\"GET\", null) \n .addHeader(\"Authorization\", \"Bearer\
\ <token>\") \n .build(); \nResponse response = client.newCall(request).execute();"
label: Java
/v2/sandbox/usercollection/workout:
get:
tags:
- Sandbox Routes
summary: Sandbox - Multiple Workout Documents
operationId: Sandbox___Multiple_workout_Documents_v2_sandbox_usercollection_workout_get
parameters:
- name: start_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: End Date
- name: next_token
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Next Token
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/MultiDocumentResponse_PublicWorkout_'
- $ref: '#/components/schemas/MultiDocumentResponseDict'
title: Response Sandbox Multiple Workout Documents V2 Sandbox Usercollection
Workout Get
'400':
description: Client Exception
'401':
description: Unauthorized access exception. Usually means the access token
is expired, malformed or revoked.
'403':
description: Access forbidden. Usually means the user's subscription to
Oura has expired and their data is not available via the API.
'429':
description: Request Rate Limit Exceeded.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- BearerAuth: []
- OAuth2: []
x-codeSamples:
- lang: cURL
label: cURL
source: 'curl --location --request GET ''https://api.ouraring.com/v2/sandbox/usercollection/workout?start_date=2021-11-01&end_date=2021-12-01&fields=day,score''
\
--header ''Authorization: Bearer <token>'''
- lang: Python
source: "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/workout'\
\ \nparams={ \n 'start_date': '2021-11-01', \n 'end_date': '2021-12-01',\n\
\ 'fields': 'day,score' \n}\nheaders = { \n 'Authorization': 'Bearer\
\ <token>' \n}\nresponse = requests.request('GET', url, headers=headers,\
\ params=params) \nprint(response.text)"
label: Python
- lang: JavaScript
source: "var myHeaders = new Headers(); \nmyHeaders.append('Authorization',\
\ 'Bearer <token>'); \nvar requestOptions = { \n method: 'GET', \n headers:\
\ myHeaders, \nfetch('https://api.ouraring.com/v2/sandbox/usercollection/workout?start_date=2021-11-01&end_date=2021-12-01&fields=day,score',\
\ requestOptions) \n .then(response => response.text()) \n .then(result\
\ => console.log(result)) \n .catch(error => console.log('error', error));"
label: JavaScript
- lang: Java
source: "OkHttpClient client = new OkHttpClient().newBuilder() \n .build();\
\ \nRequest request = new Request.Builder() \n .url(\"https://api.ouraring.com/v2/sandbox/usercollection/workout?start_date=2021-11-01&end_date=2021-12-01&fields=day,score\"\
) \n .method(\"GET\", null) \n .addHeader(\"Authorization\", \"Bearer\
\ <token>\") \n .build(); \nResponse response = client.newCall(request).execute();"
label: Java
/v2/usercollection/session:
get:
tags:
- Session Routes
summary: Multiple Session Documents
operationId: Multiple_session_Documents_v2_usercollection_session_get
parameters:
- name: start_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: End Date
- name: next_token
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Next Token
- name: fields
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated list of fields to include in the response,
in addition to the always returned fields. Defaults to all fields if not
provided.
title: Fields
description: Comma-separated list of fields to include in the response, in
addition to the always returned fields. Defaults to all fields if not provided.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/MultiDocumentResponse_PublicSession_'
- $ref: '#/components/schemas/MultiDocumentResponseDict'
title: Response Multiple Session Documents V2 Usercollection Session
Get
'400':
description: Client Exception
'401':
description: Unauthorized access exception. Usually means the access token
is expired, malformed or revoked.
'403':
description: Access forbidden. Usually means the user's subscription to
Oura has expired and their data is not available via the API.
'429':
description: Request Rate Limit Exceeded.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- BearerAuth: []
- OAuth2: []
x-codeSamples:
- lang: cURL
label: cURL
source: 'curl --location --request GET ''https://api.ouraring.com/v2/usercollection/session?start_date=2021-11-01&end_date=2021-12-01&fields=day,score''
\
--header ''Authorization: Bearer <token>'''
- lang: Python
source: "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/session'\
\ \nparams={ \n 'start_date': '2021-11-01', \n 'end_date': '2021-12-01',\n\
\ 'fields': 'day,score' \n}\nheaders = { \n 'Authorization': 'Bearer\
\ <token>' \n}\nresponse = requests.request('GET', url, headers=headers,\
\ params=params) \nprint(response.text)"
label: Python
- lang: JavaScript
source: "var myHeaders = new Headers(); \nmyHeaders.append('Authorization',\
\ 'Bearer <token>'); \nvar requestOptions = { \n method: 'GET', \n headers:\
\ myHeaders, \nfetch('https://api.ouraring.com/v2/usercollection/session?start_date=2021-11-01&end_date=2021-12-01&fields=day,score',\
\ requestOptions) \n .then(response => response.text()) \n .then(result\
\ => console.log(result)) \n .catch(error => console.log('error', error));"
label: JavaScript
- lang: Java
source: "OkHttpClient client = new OkHttpClient().newBuilder() \n .build();\
\ \nRequest request = new Request.Builder() \n .url(\"https://api.ouraring.com/v2/usercollection/session?start_date=2021-11-01&end_date=2021-12-01&fields=day,score\"\
) \n .method(\"GET\", null) \n .addHeader(\"Authorization\", \"Bearer\
\ <token>\") \n .build(); \nResponse response = client.newCall(request).execute();"
label: Java
/v2/sandbox/usercollection/session:
get:
tags:
- Sandbox Routes
summary: Sandbox - Multiple Session Documents
operationId: Sandbox___Multiple_session_Documents_v2_sandbox_usercollection_session_get
parameters:
- name: start_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: string
format: date
- type: 'null'
title: End Date
- name: next_token
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Next Token
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/MultiDocumentResponse_PublicSession_'
- $ref: '#/components/schemas/MultiDocumentResponseDict'
title: Response Sandbox Multiple Session Documents V2 Sandbox Usercollection
Session Get
'400':
description: Client Exception
'401':
description: Unauthorized access exception. Usually means the access token
is expired, malformed or revoked.
'403':
description: Access forbidden. Usually means the user's subscription to
Oura has expired and their data is not available via the API.
'429':
description: Request Rate Limit Exceeded.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/sc
# --- truncated at 32 KB (316 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oura-ring/refs/heads/main/openapi/oura-api-openapi.yml