{
  "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' \\\n--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' \\\n--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' \\\n--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' \\\n--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' \\\n--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' \\\n--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' \\\n--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' \\\n--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/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          },
          {
            "OAuth2": []
          }
        ],
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl --location --request GET 'https://api.ouraring.com/v2/sandbox/usercollection/session?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/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/sandbox/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/sandbox/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/usercollection/daily_activity": {
      "get": {
        "tags": [
          "Daily Activity Routes"
        ],
        "summary": "Multiple Daily Activity Documents",
        "operationId": "Multiple_daily_activity_Documents_v2_usercollection_daily_activity_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_PublicDailyActivity_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Daily Activity Documents V2 Usercollection Daily Activity 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/daily_activity?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_activity' \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/daily_activity?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/daily_activity?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/daily_activity": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Daily Activity Documents",
        "operationId": "Sandbox___Multiple_daily_activity_Documents_v2_sandbox_usercollection_daily_activity_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_PublicDailyActivity_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Daily Activity Documents V2 Sandbox Usercollection Daily Activity 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/daily_activity?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_activity' \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/daily_activity?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/daily_activity?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/daily_sleep": {
      "get": {
        "tags": [
          "Daily Sleep Routes"
        ],
        "summary": "Multiple Daily Sleep Documents",
        "operationId": "Multiple_daily_sleep_Documents_v2_usercollection_daily_sleep_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_PublicDailySleep_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Daily Sleep Documents V2 Usercollection Daily Sleep 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/daily_sleep?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_sleep' \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/daily_sleep?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/daily_sleep?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/daily_sleep": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Daily Sleep Documents",
        "operationId": "Sandbox___Multiple_daily_sleep_Documents_v2_sandbox_usercollection_daily_sleep_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_PublicDailySleep_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Daily Sleep Documents V2 Sandbox Usercollection Daily Sleep 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/daily_sleep?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_sleep' \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/daily_sleep?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/daily_sleep?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/daily_spo2": {
      "get": {
        "tags": [
          "Daily Spo2 Routes"
        ],
        "summary": "Multiple Daily Spo2 Documents",
        "operationId": "Multiple_daily_spo2_Documents_v2_usercollection_daily_spo2_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_PublicDailySpO2_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Daily Spo2 Documents V2 Usercollection Daily Spo2 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/daily_spo2?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_spo2' \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/daily_spo2?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/daily_spo2?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/daily_spo2": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Daily Spo2 Documents",
        "operationId": "Sandbox___Multiple_daily_spo2_Documents_v2_sandbox_usercollection_daily_spo2_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_PublicDailySpO2_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Daily Spo2 Documents V2 Sandbox Usercollection Daily Spo2 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/daily_spo2?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_spo2' \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/daily_spo2?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/daily_spo2?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/daily_readiness": {
      "get": {
        "tags": [
          "Daily Readiness Routes"
        ],
        "summary": "Multiple Daily Readiness Documents",
        "operationId": "Multiple_daily_readiness_Documents_v2_usercollection_daily_readiness_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_PublicDailyReadiness_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Daily Readiness Documents V2 Usercollection Daily Readiness 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/daily_readiness?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_readiness' \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/daily_readiness?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/daily_readiness?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/daily_readiness": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Daily Readiness Documents",
        "operationId": "Sandbox___Multiple_daily_readiness_Documents_v2_sandbox_usercollection_daily_readiness_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_PublicDailyReadiness_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Daily Readiness Documents V2 Sandbox Usercollection Daily Readiness 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/daily_readiness?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_readiness' \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/daily_readiness?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/daily_readiness?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/sleep": {
      "get": {
        "tags": [
          "Sleep Routes"
        ],
        "summary": "Multiple Sleep Documents",
        "operationId": "Multiple_sleep_Documents_v2_usercollection_sleep_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_PublicModifiedSleepModel_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Sleep Documents V2 Usercollection Sleep 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/sleep?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/sleep' \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/sleep?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/sleep?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/sleep": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Sleep Documents",
        "operationId": "Sandbox___Multiple_sleep_Documents_v2_sandbox_usercollection_sleep_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_PublicModifiedSleepModel_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Sleep Documents V2 Sandbox Usercollection Sleep 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/sleep?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/sleep' \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/sleep?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/sleep?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/sleep_time": {
      "get": {
        "tags": [
          "Sleep Time Routes"
        ],
        "summary": "Multiple Sleep Time Documents",
        "operationId": "Multiple_sleep_time_Documents_v2_usercollection_sleep_time_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_PublicSleepTime_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Sleep Time Documents V2 Usercollection Sleep Time 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/sleep_time?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/sleep_time' \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/sleep_time?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/sleep_time?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/sleep_time": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Sleep Time Documents",
        "operationId": "Sandbox___Multiple_sleep_time_Documents_v2_sandbox_usercollection_sleep_time_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_PublicSleepTime_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Sleep Time Documents V2 Sandbox Usercollection Sleep Time 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/sleep_time?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/sleep_time' \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/sleep_time?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/sleep_time?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/rest_mode_period": {
      "get": {
        "tags": [
          "Rest Mode Period Routes"
        ],
        "summary": "Multiple Rest Mode Period Documents",
        "operationId": "Multiple_rest_mode_period_Documents_v2_usercollection_rest_mode_period_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_PublicRestModePeriod_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Rest Mode Period Documents V2 Usercollection Rest Mode Period 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/rest_mode_period?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/rest_mode_period' \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/rest_mode_period?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/rest_mode_period?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/rest_mode_period": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Rest Mode Period Documents",
        "operationId": "Sandbox___Multiple_rest_mode_period_Documents_v2_sandbox_usercollection_rest_mode_period_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_PublicRestModePeriod_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Rest Mode Period Documents V2 Sandbox Usercollection Rest Mode Period 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/rest_mode_period?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/rest_mode_period' \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/rest_mode_period?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/rest_mode_period?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/ring_configuration": {
      "get": {
        "tags": [
          "Ring Configuration Routes"
        ],
        "summary": "Multiple Ring Configuration Documents",
        "operationId": "Multiple_ring_configuration_Documents_v2_usercollection_ring_configuration_get",
        "parameters": [
          {
            "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."
          },
          {
            "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_PublicRingConfiguration_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Ring Configuration Documents V2 Usercollection Ring Configuration 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/ring_configuration?fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/ring_configuration' \nparams = {'fields': 'day,score'}\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/ring_configuration?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/ring_configuration?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/ring_configuration": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Ring Configuration Documents",
        "operationId": "Sandbox___Multiple_ring_configuration_Documents_v2_sandbox_usercollection_ring_configuration_get",
        "parameters": [
          {
            "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_PublicRingConfiguration_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Ring Configuration Documents V2 Sandbox Usercollection Ring Configuration 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/ring_configuration?fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/ring_configuration' \nparams = {'fields': 'day,score'}\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/ring_configuration?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/ring_configuration?fields=day,score\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/daily_stress": {
      "get": {
        "tags": [
          "Daily Stress Routes"
        ],
        "summary": "Multiple Daily Stress Documents",
        "operationId": "Multiple_daily_stress_Documents_v2_usercollection_daily_stress_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_PublicDailyStress_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Daily Stress Documents V2 Usercollection Daily Stress 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/daily_stress?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_stress' \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/daily_stress?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/daily_stress?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/daily_stress": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Daily Stress Documents",
        "operationId": "Sandbox___Multiple_daily_stress_Documents_v2_sandbox_usercollection_daily_stress_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_PublicDailyStress_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Daily Stress Documents V2 Sandbox Usercollection Daily Stress 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/daily_stress?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_stress' \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/daily_stress?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/daily_stress?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/daily_resilience": {
      "get": {
        "tags": [
          "Daily Resilience Routes"
        ],
        "summary": "Multiple Daily Resilience Documents",
        "operationId": "Multiple_daily_resilience_Documents_v2_usercollection_daily_resilience_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_DailyResilienceModel_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Daily Resilience Documents V2 Usercollection Daily Resilience 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/daily_resilience?start_date=2021-11-01&end_date=2021-12-01' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_resilience' \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/daily_resilience?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/daily_resilience?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/daily_resilience": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Daily Resilience Documents",
        "operationId": "Sandbox___Multiple_daily_resilience_Documents_v2_sandbox_usercollection_daily_resilience_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_DailyResilienceModel_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Daily Resilience Documents V2 Sandbox Usercollection Daily Resilience 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/daily_resilience?start_date=2021-11-01&end_date=2021-12-01' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_resilience' \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/daily_resilience?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/daily_resilience?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/daily_cardiovascular_age": {
      "get": {
        "tags": [
          "Daily Cardiovascular Age Routes"
        ],
        "summary": "Multiple Daily Cardiovascular Age Documents",
        "operationId": "Multiple_daily_cardiovascular_age_Documents_v2_usercollection_daily_cardiovascular_age_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_PublicDailyCardiovascularAge_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Daily Cardiovascular Age Documents V2 Usercollection Daily Cardiovascular Age 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/daily_cardiovascular_age?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_cardiovascular_age' \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/daily_cardiovascular_age?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/daily_cardiovascular_age?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/daily_cardiovascular_age": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Daily Cardiovascular Age Documents",
        "operationId": "Sandbox___Multiple_daily_cardiovascular_age_Documents_v2_sandbox_usercollection_daily_cardiovascular_age_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_PublicDailyCardiovascularAge_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Daily Cardiovascular Age Documents V2 Sandbox Usercollection Daily Cardiovascular Age 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/daily_cardiovascular_age?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_cardiovascular_age' \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/daily_cardiovascular_age?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/daily_cardiovascular_age?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/vO2_max": {
      "get": {
        "tags": [
          "VO2 Max Routes"
        ],
        "summary": "Multiple Vo2 Max Documents",
        "operationId": "Multiple_vO2_max_Documents_v2_usercollection_vO2_max_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_PublicVO2Max_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Multiple Vo2 Max Documents V2 Usercollection Vo2 Max 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/vO2_max?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/vO2_max' \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/vO2_max?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/vO2_max?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/vO2_max": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Vo2 Max Documents",
        "operationId": "Sandbox___Multiple_vO2_max_Documents_v2_sandbox_usercollection_vO2_max_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_PublicVO2Max_"
                    },
                    {
                      "$ref": "#/components/schemas/MultiDocumentResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Vo2 Max Documents V2 Sandbox Usercollection Vo2 Max 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/vO2_max?start_date=2021-11-01&end_date=2021-12-01&fields=day,score' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/vO2_max' \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/vO2_max?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/vO2_max?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/tag/{document_id}": {
      "get": {
        "tags": [
          "Tag Routes"
        ],
        "summary": "Single Tag Document",
        "operationId": "Single_tag_Document_v2_usercollection_tag__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/tag/2-5daccc095220cc5493a4e9c2b681ca941e\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/2-5daccc095220cc5493a4e9c2b681ca941e', 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/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/tag/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Tag Document",
        "operationId": "Sandbox___Single_tag_Document_v2_sandbox_usercollection_tag__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/tag/2-5daccc095220cc5493a4e9c2b681ca941e\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/2-5daccc095220cc5493a4e9c2b681ca941e', 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/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/enhanced_tag/{document_id}": {
      "get": {
        "tags": [
          "Enhanced Tag Routes"
        ],
        "summary": "Single Enhanced Tag Document",
        "operationId": "Single_enhanced_tag_Document_v2_usercollection_enhanced_tag__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnhancedTagModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/enhanced_tag/2-5daccc095220cc5493a4e9c2b681ca941e\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/2-5daccc095220cc5493a4e9c2b681ca941e', 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/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/enhanced_tag/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Enhanced Tag Document",
        "operationId": "Sandbox___Single_enhanced_tag_Document_v2_sandbox_usercollection_enhanced_tag__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnhancedTagModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/enhanced_tag/2-5daccc095220cc5493a4e9c2b681ca941e\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/2-5daccc095220cc5493a4e9c2b681ca941e', 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/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/workout/{document_id}": {
      "get": {
        "tags": [
          "Workout Routes"
        ],
        "summary": "Single Workout Document",
        "operationId": "Single_workout_Document_v2_usercollection_workout__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicWorkout"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/workout/2-5daccc095220cc5493a4e9c2b681ca941e\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/2-5daccc095220cc5493a4e9c2b681ca941e', 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/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/workout/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Workout Document",
        "operationId": "Sandbox___Single_workout_Document_v2_sandbox_usercollection_workout__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicWorkout"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/workout/2-5daccc095220cc5493a4e9c2b681ca941e\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/2-5daccc095220cc5493a4e9c2b681ca941e', 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/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/session/{document_id}": {
      "get": {
        "tags": [
          "Session Routes"
        ],
        "summary": "Single Session Document",
        "operationId": "Single_session_Document_v2_usercollection_session__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSession"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/session/2-5daccc095220cc5493a4e9c2b681ca941e\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/2-5daccc095220cc5493a4e9c2b681ca941e', 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/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/session/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Session Document",
        "operationId": "Sandbox___Single_session_Document_v2_sandbox_usercollection_session__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSession"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/session/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/session/2-5daccc095220cc5493a4e9c2b681ca941e\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/session/2-5daccc095220cc5493a4e9c2b681ca941e', 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/session/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/daily_activity/{document_id}": {
      "get": {
        "tags": [
          "Daily Activity Routes"
        ],
        "summary": "Single Daily Activity Document",
        "operationId": "Single_daily_activity_Document_v2_usercollection_daily_activity__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailyActivity"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_activity/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_activity/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_activity/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_activity/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/daily_activity/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Daily Activity Document",
        "operationId": "Sandbox___Single_daily_activity_Document_v2_sandbox_usercollection_daily_activity__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailyActivity"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_activity/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_activity/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_activity/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_activity/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/daily_sleep/{document_id}": {
      "get": {
        "tags": [
          "Daily Sleep Routes"
        ],
        "summary": "Single Daily Sleep Document",
        "operationId": "Single_daily_sleep_Document_v2_usercollection_daily_sleep__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailySleep"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_sleep/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_sleep/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_sleep/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_sleep/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/daily_sleep/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Daily Sleep Document",
        "operationId": "Sandbox___Single_daily_sleep_Document_v2_sandbox_usercollection_daily_sleep__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailySleep"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_sleep/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_sleep/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_sleep/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_sleep/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/daily_spo2/{document_id}": {
      "get": {
        "tags": [
          "Daily Spo2 Routes"
        ],
        "summary": "Single Daily Spo2 Document",
        "operationId": "Single_daily_spo2_Document_v2_usercollection_daily_spo2__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailySpO2"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_spo2/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_spo2/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_spo2/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_spo2/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/daily_spo2/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Daily Spo2 Document",
        "operationId": "Sandbox___Single_daily_spo2_Document_v2_sandbox_usercollection_daily_spo2__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailySpO2"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_spo2/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_spo2/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_spo2/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_spo2/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/daily_readiness/{document_id}": {
      "get": {
        "tags": [
          "Daily Readiness Routes"
        ],
        "summary": "Single Daily Readiness Document",
        "operationId": "Single_daily_readiness_Document_v2_usercollection_daily_readiness__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailyReadiness"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_readiness/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_readiness/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_readiness/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_readiness/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/daily_readiness/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Daily Readiness Document",
        "operationId": "Sandbox___Single_daily_readiness_Document_v2_sandbox_usercollection_daily_readiness__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailyReadiness"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_readiness/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_readiness/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_readiness/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_readiness/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/sleep/{document_id}": {
      "get": {
        "tags": [
          "Sleep Routes"
        ],
        "summary": "Single Sleep Document",
        "operationId": "Single_sleep_Document_v2_usercollection_sleep__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicModifiedSleepModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/sleep/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/sleep/2-5daccc095220cc5493a4e9c2b681ca941e\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/sleep/2-5daccc095220cc5493a4e9c2b681ca941e', 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/sleep/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/sleep/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Sleep Document",
        "operationId": "Sandbox___Single_sleep_Document_v2_sandbox_usercollection_sleep__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicModifiedSleepModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/sleep/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/sleep/2-5daccc095220cc5493a4e9c2b681ca941e\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/sleep/2-5daccc095220cc5493a4e9c2b681ca941e', 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/sleep/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/sleep_time/{document_id}": {
      "get": {
        "tags": [
          "Sleep Time Routes"
        ],
        "summary": "Single Sleep Time Document",
        "operationId": "Single_sleep_time_Document_v2_usercollection_sleep_time__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSleepTime"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/sleep_time/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/sleep_time/2-5daccc095220cc5493a4e9c2b681ca941e\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/sleep_time/2-5daccc095220cc5493a4e9c2b681ca941e', 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/sleep_time/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/sleep_time/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Sleep Time Document",
        "operationId": "Sandbox___Single_sleep_time_Document_v2_sandbox_usercollection_sleep_time__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSleepTime"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/sleep_time/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/sleep_time/2-5daccc095220cc5493a4e9c2b681ca941e\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/sleep_time/2-5daccc095220cc5493a4e9c2b681ca941e', 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/sleep_time/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/rest_mode_period/{document_id}": {
      "get": {
        "tags": [
          "Rest Mode Period Routes"
        ],
        "summary": "Single Rest Mode Period Document",
        "operationId": "Single_rest_mode_period_Document_v2_usercollection_rest_mode_period__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRestModePeriod"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/rest_mode_period/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/rest_mode_period/2-5daccc095220cc5493a4e9c2b681ca941e\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/rest_mode_period/2-5daccc095220cc5493a4e9c2b681ca941e', 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/rest_mode_period/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/rest_mode_period/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Rest Mode Period Document",
        "operationId": "Sandbox___Single_rest_mode_period_Document_v2_sandbox_usercollection_rest_mode_period__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRestModePeriod"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/rest_mode_period/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/rest_mode_period/2-5daccc095220cc5493a4e9c2b681ca941e\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/rest_mode_period/2-5daccc095220cc5493a4e9c2b681ca941e', 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/rest_mode_period/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/ring_configuration/{document_id}": {
      "get": {
        "tags": [
          "Ring Configuration Routes"
        ],
        "summary": "Single Ring Configuration Document",
        "operationId": "Single_ring_configuration_Document_v2_usercollection_ring_configuration__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRingConfiguration"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/ring_configuration/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/ring_configuration/2-5daccc095220cc5493a4e9c2b681ca941e\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/ring_configuration/2-5daccc095220cc5493a4e9c2b681ca941e', 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/ring_configuration/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/ring_configuration/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Ring Configuration Document",
        "operationId": "Sandbox___Single_ring_configuration_Document_v2_sandbox_usercollection_ring_configuration__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRingConfiguration"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/ring_configuration/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/ring_configuration/2-5daccc095220cc5493a4e9c2b681ca941e\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/ring_configuration/2-5daccc095220cc5493a4e9c2b681ca941e', 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/ring_configuration/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/daily_stress/{document_id}": {
      "get": {
        "tags": [
          "Daily Stress Routes"
        ],
        "summary": "Single Daily Stress Document",
        "operationId": "Single_daily_stress_Document_v2_usercollection_daily_stress__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailyStress"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_stress/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_stress/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_stress/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_stress/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/daily_stress/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Daily Stress Document",
        "operationId": "Sandbox___Single_daily_stress_Document_v2_sandbox_usercollection_daily_stress__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailyStress"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_stress/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_stress/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_stress/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_stress/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/daily_resilience/{document_id}": {
      "get": {
        "tags": [
          "Daily Resilience Routes"
        ],
        "summary": "Single Daily Resilience Document",
        "operationId": "Single_daily_resilience_Document_v2_usercollection_daily_resilience__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DailyResilienceModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_resilience/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_resilience/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_resilience/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_resilience/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/daily_resilience/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Daily Resilience Document",
        "operationId": "Sandbox___Single_daily_resilience_Document_v2_sandbox_usercollection_daily_resilience__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DailyResilienceModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_resilience/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_resilience/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_resilience/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_resilience/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/daily_cardiovascular_age/{document_id}": {
      "get": {
        "tags": [
          "Daily Cardiovascular Age Routes"
        ],
        "summary": "Single Daily Cardiovascular Age Document",
        "operationId": "Single_daily_cardiovascular_age_Document_v2_usercollection_daily_cardiovascular_age__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailyCardiovascularAge"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_cardiovascular_age/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/daily_cardiovascular_age/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_cardiovascular_age/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_cardiovascular_age/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/daily_cardiovascular_age/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Daily Cardiovascular Age Document",
        "operationId": "Sandbox___Single_daily_cardiovascular_age_Document_v2_sandbox_usercollection_daily_cardiovascular_age__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDailyCardiovascularAge"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/daily_cardiovascular_age/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/daily_cardiovascular_age/2-5daccc095220cc5493a4e9c2b681ca941e\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/daily_cardiovascular_age/2-5daccc095220cc5493a4e9c2b681ca941e', 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/daily_cardiovascular_age/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/vO2_max/{document_id}": {
      "get": {
        "tags": [
          "VO2 Max Routes"
        ],
        "summary": "Single Vo2 Max Document",
        "operationId": "Single_vO2_max_Document_v2_usercollection_vO2_max__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVO2Max"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/vO2_max/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/vO2_max/2-5daccc095220cc5493a4e9c2b681ca941e\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/vO2_max/2-5daccc095220cc5493a4e9c2b681ca941e', 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/vO2_max/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/vO2_max/{document_id}": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Single Vo2 Max Document",
        "operationId": "Sandbox___Single_vO2_max_Document_v2_sandbox_usercollection_vO2_max__document_id__get",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Document Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVO2Max"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "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/vO2_max/2-5daccc095220cc5493a4e9c2b681ca941e' \\\n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/vO2_max/2-5daccc095220cc5493a4e9c2b681ca941e\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/vO2_max/2-5daccc095220cc5493a4e9c2b681ca941e', 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/vO2_max/2-5daccc095220cc5493a4e9c2b681ca941e\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/webhook/subscription": {
      "get": {
        "tags": [
          "Webhook Subscription Routes"
        ],
        "summary": "List Webhook Subscriptions",
        "operationId": "list_webhook_subscriptions_v2_webhook_subscription_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/WebhookSubscriptionModel"
                  },
                  "type": "array",
                  "title": "Response List Webhook Subscriptions V2 Webhook Subscription Get"
                }
              }
            }
          }
        },
        "security": [
          {
            "ClientIdAuth": [],
            "ClientSecretAuth": []
          }
        ],
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl --location --request GET 'https://api.ouraring.com/v2/webhook/subscription' --header 'x-client-id: client-id' --header 'x-client-secret: client-secret'"
          }
        ]
      },
      "post": {
        "tags": [
          "Webhook Subscription Routes"
        ],
        "summary": "Create Webhook Subscription",
        "operationId": "create_webhook_subscription_v2_webhook_subscription_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebhookSubscriptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSubscriptionModel"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "ClientIdAuth": [],
            "ClientSecretAuth": []
          }
        ],
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl --location --request POST 'https://api.ouraring.com/v2/webhook/subscription' --header 'x-client-id: client-id' --header 'x-client-secret: client-secret' --header 'Content-Type: application/json' --data-raw '{\n    \"callback_url\": \"https://my-api/oura/tag/delete\",\n    \"verification_token\": \"123\",\n    \"event_type\": \"delete\",\n    \"data_type\": \"tag\"\n}'"
          }
        ]
      }
    },
    "/v2/webhook/subscription/{id}": {
      "get": {
        "tags": [
          "Webhook Subscription Routes"
        ],
        "summary": "Get Webhook Subscription",
        "operationId": "get_webhook_subscription_v2_webhook_subscription__id__get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSubscriptionModel"
                }
              }
            }
          },
          "403": {
            "description": "Webhook with specified id does not exist."
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "ClientIdAuth": [],
            "ClientSecretAuth": []
          }
        ],
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl --location --request GET 'https://api.ouraring.com/v2/webhook/subscription/5d3fe17b-f880-4d93-b9b6-afbfb76c1e78' --header 'x-client-id: client-id' --header 'x-client-secret: client-secret'"
          }
        ]
      },
      "put": {
        "tags": [
          "Webhook Subscription Routes"
        ],
        "summary": "Update Webhook Subscription",
        "operationId": "update_webhook_subscription_v2_webhook_subscription__id__put",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWebhookSubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSubscriptionModel"
                }
              }
            }
          },
          "403": {
            "description": "Webhook with specified id does not exist."
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "ClientIdAuth": [],
            "ClientSecretAuth": []
          }
        ],
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl --location --request PUT 'https://api.ouraring.com/v2/webhook/subscription/5d3fe17b-f880-4d93-b9b6-afbfb76c1e78' --header 'x-client-id: client-id' --header 'x-client-secret: client-secret' --header 'Content-Type: application/json' --data-raw '{\n    \"callback_url\": \"https://my-api/oura/tag/delete\",\n    \"verification_token\": \"123\",\n    \"event_type\": \"delete\",\n    \"data_type\": \"tag\"\n}'"
          }
        ]
      },
      "delete": {
        "tags": [
          "Webhook Subscription Routes"
        ],
        "summary": "Delete Webhook Subscription",
        "operationId": "delete_webhook_subscription_v2_webhook_subscription__id__delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "403": {
            "description": "Webhook with specified id does not exist."
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "ClientIdAuth": [],
            "ClientSecretAuth": []
          }
        ],
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl --location --request DELETE 'https://api.ouraring.com/v2/webhook/subscription/5d3fe17b-f880-4d93-b9b6-afbfb76c1e78' --header 'x-client-id: client-id' --header 'x-client-secret: client-secret'"
          }
        ]
      }
    },
    "/v2/webhook/subscription/renew/{id}": {
      "put": {
        "tags": [
          "Webhook Subscription Routes"
        ],
        "summary": "Renew Webhook Subscription",
        "operationId": "renew_webhook_subscription_v2_webhook_subscription_renew__id__put",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSubscriptionModel"
                }
              }
            }
          },
          "403": {
            "description": "Webhook with specified id does not exist."
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "ClientIdAuth": [],
            "ClientSecretAuth": []
          }
        ],
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl --location --request PUT 'https://api.ouraring.com/v2/webhook/subscription/renew/5d3fe17b-f880-4d93-b9b6-afbfb76c1e78' --header 'x-client-id: client-id' --header 'x-client-secret: client-secret' --header 'Content-Type: application/json'"
          }
        ]
      }
    },
    "/v2/usercollection/heartrate": {
      "get": {
        "tags": [
          "Heart Rate Routes"
        ],
        "summary": "Multiple Heartrate Documents",
        "operationId": "Multiple_heartrate_Documents_v2_usercollection_heartrate_get",
        "parameters": [
          {
            "name": "start_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Start Datetime"
            }
          },
          {
            "name": "end_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "End Datetime"
            }
          },
          {
            "name": "next_token",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Next Token"
            }
          },
          {
            "name": "latest",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Latest"
            }
          },
          {
            "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/TimeSeriesResponse_PublicHeartRateRow_"
                    },
                    {
                      "$ref": "#/components/schemas/TimeSeriesResponseDict"
                    }
                  ],
                  "title": "Response Multiple Heartrate Documents V2 Usercollection Heartrate 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": "# The '+' symbol in the timezone must be escaped to `%2B` if included. \ncurl --location --request GET 'https://api.ouraring.com/v2/usercollection/heartrate?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm' \\ \n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/heartrate' \nparams={ \n    'start_datetime': '2021-11-01T00:00:00-08:00', \n    'end_datetime': '2021-12-01T00:00:00-08:00',\n    'fields': 'timestamp,bpm' \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/heartrate?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm', 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/heartrate?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/heartrate": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Heartrate Documents",
        "operationId": "Sandbox___Multiple_heartrate_Documents_v2_sandbox_usercollection_heartrate_get",
        "parameters": [
          {
            "name": "start_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Start Datetime"
            }
          },
          {
            "name": "end_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "End Datetime"
            }
          },
          {
            "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/TimeSeriesResponse_PublicHeartRateRow_"
                    },
                    {
                      "$ref": "#/components/schemas/TimeSeriesResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Heartrate Documents V2 Sandbox Usercollection Heartrate 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": "# The '+' symbol in the timezone must be escaped to `%2B` if included. \ncurl --location --request GET 'https://api.ouraring.com/v2/sandbox/usercollection/heartrate?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm' \\ \n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/heartrate' \nparams={ \n    'start_datetime': '2021-11-01T00:00:00-08:00', \n    'end_datetime': '2021-12-01T00:00:00-08:00',\n    'fields': 'timestamp,bpm' \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/heartrate?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm', 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/heartrate?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/ring_battery_level": {
      "get": {
        "tags": [
          "Ring Battery Level Routes"
        ],
        "summary": "Multiple Ring Battery Level Documents",
        "operationId": "Multiple_ring_battery_level_Documents_v2_usercollection_ring_battery_level_get",
        "parameters": [
          {
            "name": "start_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Start Datetime"
            }
          },
          {
            "name": "end_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "End Datetime"
            }
          },
          {
            "name": "next_token",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Next Token"
            }
          },
          {
            "name": "latest",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Latest"
            }
          },
          {
            "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/TimeSeriesResponse_PublicRingBatteryLevelRow_"
                    },
                    {
                      "$ref": "#/components/schemas/TimeSeriesResponseDict"
                    }
                  ],
                  "title": "Response Multiple Ring Battery Level Documents V2 Usercollection Ring Battery Level 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": "# The '+' symbol in the timezone must be escaped to `%2B` if included. \ncurl --location --request GET 'https://api.ouraring.com/v2/usercollection/ring_battery_level?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm' \\ \n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/ring_battery_level' \nparams={ \n    'start_datetime': '2021-11-01T00:00:00-08:00', \n    'end_datetime': '2021-12-01T00:00:00-08:00',\n    'fields': 'timestamp,bpm' \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/ring_battery_level?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm', 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/ring_battery_level?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/ring_battery_level": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Ring Battery Level Documents",
        "operationId": "Sandbox___Multiple_ring_battery_level_Documents_v2_sandbox_usercollection_ring_battery_level_get",
        "parameters": [
          {
            "name": "start_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Start Datetime"
            }
          },
          {
            "name": "end_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "End Datetime"
            }
          },
          {
            "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/TimeSeriesResponse_PublicRingBatteryLevelRow_"
                    },
                    {
                      "$ref": "#/components/schemas/TimeSeriesResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Ring Battery Level Documents V2 Sandbox Usercollection Ring Battery Level 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": "# The '+' symbol in the timezone must be escaped to `%2B` if included. \ncurl --location --request GET 'https://api.ouraring.com/v2/sandbox/usercollection/ring_battery_level?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm' \\ \n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/ring_battery_level' \nparams={ \n    'start_datetime': '2021-11-01T00:00:00-08:00', \n    'end_datetime': '2021-12-01T00:00:00-08:00',\n    'fields': 'timestamp,bpm' \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/ring_battery_level?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm', 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/ring_battery_level?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/usercollection/interbeat_interval": {
      "get": {
        "tags": [
          "Interbeat Interval Routes"
        ],
        "summary": "Multiple Interbeat Interval Documents",
        "operationId": "Multiple_interbeat_interval_Documents_v2_usercollection_interbeat_interval_get",
        "parameters": [
          {
            "name": "start_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Start Datetime"
            }
          },
          {
            "name": "end_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "End Datetime"
            }
          },
          {
            "name": "next_token",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Next Token"
            }
          },
          {
            "name": "latest",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Latest"
            }
          },
          {
            "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/TimeSeriesResponse_PublicInterbeatIntervalRow_"
                    },
                    {
                      "$ref": "#/components/schemas/TimeSeriesResponseDict"
                    }
                  ],
                  "title": "Response Multiple Interbeat Interval Documents V2 Usercollection Interbeat Interval 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": "# The '+' symbol in the timezone must be escaped to `%2B` if included. \ncurl --location --request GET 'https://api.ouraring.com/v2/usercollection/interbeat_interval?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm' \\ \n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/usercollection/interbeat_interval' \nparams={ \n    'start_datetime': '2021-11-01T00:00:00-08:00', \n    'end_datetime': '2021-12-01T00:00:00-08:00',\n    'fields': 'timestamp,bpm' \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/interbeat_interval?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm', 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/interbeat_interval?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    },
    "/v2/sandbox/usercollection/interbeat_interval": {
      "get": {
        "tags": [
          "Sandbox Routes"
        ],
        "summary": "Sandbox - Multiple Interbeat Interval Documents",
        "operationId": "Sandbox___Multiple_interbeat_interval_Documents_v2_sandbox_usercollection_interbeat_interval_get",
        "parameters": [
          {
            "name": "start_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Start Datetime"
            }
          },
          {
            "name": "end_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "End Datetime"
            }
          },
          {
            "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/TimeSeriesResponse_PublicInterbeatIntervalRow_"
                    },
                    {
                      "$ref": "#/components/schemas/TimeSeriesResponseDict"
                    }
                  ],
                  "title": "Response Sandbox   Multiple Interbeat Interval Documents V2 Sandbox Usercollection Interbeat Interval 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": "# The '+' symbol in the timezone must be escaped to `%2B` if included. \ncurl --location --request GET 'https://api.ouraring.com/v2/sandbox/usercollection/interbeat_interval?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm' \\ \n--header 'Authorization: Bearer <token>'"
          },
          {
            "lang": "Python",
            "source": "import requests \nurl = 'https://api.ouraring.com/v2/sandbox/usercollection/interbeat_interval' \nparams={ \n    'start_datetime': '2021-11-01T00:00:00-08:00', \n    'end_datetime': '2021-12-01T00:00:00-08:00',\n    'fields': 'timestamp,bpm' \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/interbeat_interval?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm', 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/interbeat_interval?start_datetime=2021-11-01T00:00:00-08:00&end_datetime=2021-12-01T00:00:00-08:00&fields=timestamp,bpm\") \n  .method(\"GET\", null) \n  .addHeader(\"Authorization\", \"Bearer <token>\") \n  .build(); \nResponse response = client.newCall(request).execute();",
            "label": "Java"
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Array_Union_float__NoneType__Bits64_": {
        "items": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": "array",
        "title": "ArrayNullableFloatBits64"
      },
      "CreateWebhookSubscriptionRequest": {
        "properties": {
          "callback_url": {
            "type": "string",
            "title": "Callback Url"
          },
          "verification_token": {
            "type": "string",
            "title": "Verification Token"
          },
          "event_type": {
            "$ref": "#/components/schemas/WebhookOperation"
          },
          "data_type": {
            "$ref": "#/components/schemas/ExtApiV2DataType"
          }
        },
        "type": "object",
        "required": [
          "callback_url",
          "verification_token",
          "event_type",
          "data_type"
        ],
        "title": "CreateWebhookSubscriptionRequest"
      },
      "DailyResilienceModel": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "day": {
            "type": "string",
            "format": "date",
            "title": "Day",
            "description": "Day when the resilience record was recorded."
          },
          "contributors": {
            "$ref": "#/components/schemas/ResilienceContributors",
            "description": "Contributors to the resilience score."
          },
          "level": {
            "$ref": "#/components/schemas/LongTermResilienceLevel",
            "description": "Resilience level."
          }
        },
        "type": "object",
        "required": [
          "id",
          "day",
          "contributors",
          "level"
        ],
        "title": "DailyResilienceModel"
      },
      "EnhancedTagModel": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "tag_type_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tag Type Code",
            "description": "The unique code of the selected tag type, `NULL` for text-only tags, or `custom` for custom tag types."
          },
          "start_time": {
            "$ref": "#/components/schemas/LocalDateTime",
            "description": "Timestamp of the tag (if no duration) or the start time of the tag (with duration)."
          },
          "end_time": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp of the tag's end for events with duration or `NULL` if there is no duration."
          },
          "start_day": {
            "type": "string",
            "format": "date",
            "title": "Start Day",
            "description": "Day of the tag (if no duration) or the start day of the tag (with duration)."
          },
          "end_day": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "End Day",
            "description": "Day of the tag's end for events with duration or `NULL` if there is no duration."
          },
          "comment": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Comment",
            "description": "Additional freeform text on the tag."
          },
          "custom_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Name",
            "description": "The name of the tag if the tag_type_code is `custom`."
          }
        },
        "type": "object",
        "required": [
          "id",
          "start_time",
          "start_day"
        ],
        "title": "EnhancedTagModel",
        "description": "An EnhancedTagModel maps an ASSATag. An ASSATag in ExtAPIV2 is called a EnhancedTag\nAn EnhancedTagModel will be populated by data from an ASSATag\nThe fields in the EnhancedTagModel map to fields in an ASSATag"
      },
      "ExtApiV2DataType": {
        "type": "string",
        "enum": [
          "tag",
          "enhanced_tag",
          "workout",
          "session",
          "sleep",
          "daily_sleep",
          "daily_readiness",
          "daily_activity",
          "daily_spo2",
          "sleep_time",
          "rest_mode_period",
          "ring_configuration",
          "daily_stress",
          "daily_cycle_phases",
          "activation_status",
          "daily_cardiovascular_age",
          "daily_resilience",
          "vo2_max",
          "period_start",
          "pregnancy",
          "fertile_window",
          "ovulation_confirmed",
          "blood_glucose"
        ],
        "title": "ExtApiV2DataType"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "ISODate": {
        "type": "string"
      },
      "LocalDateTime": {
        "type": "string"
      },
      "LocalizedDateTime": {
        "type": "string"
      },
      "LongTermResilienceLevel": {
        "type": "string",
        "enum": [
          "limited",
          "adequate",
          "solid",
          "strong",
          "exceptional"
        ],
        "title": "LongTermResilienceLevel",
        "description": "Possible long term resilience level values."
      },
      "Metadata": {
        "properties": {
          "updated_at": {
            "$ref": "#/components/schemas/UtcDateTime",
            "title": "",
            "description": "Timestamp indicating when the object was last updated."
          },
          "version": {
            "type": "integer",
            "title": "",
            "description": "Version number of the object."
          }
        },
        "type": "object",
        "required": [
          "updated_at",
          "version"
        ],
        "title": "Metadata",
        "description": "Object defining the metadata of a collection model instance."
      },
      "MultiDocumentResponseDict": {
        "properties": {
          "data": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponseDict"
      },
      "MultiDocumentResponse_DailyResilienceModel_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/DailyResilienceModel"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[DailyResilienceModel]"
      },
      "MultiDocumentResponse_EnhancedTagModel_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EnhancedTagModel"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[EnhancedTagModel]"
      },
      "MultiDocumentResponse_PublicDailyActivity_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicDailyActivity"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicDailyActivity]"
      },
      "MultiDocumentResponse_PublicDailyCardiovascularAge_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicDailyCardiovascularAge"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicDailyCardiovascularAge]"
      },
      "MultiDocumentResponse_PublicDailyReadiness_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicDailyReadiness"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicDailyReadiness]"
      },
      "MultiDocumentResponse_PublicDailySleep_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicDailySleep"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicDailySleep]"
      },
      "MultiDocumentResponse_PublicDailySpO2_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicDailySpO2"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicDailySpO2]"
      },
      "MultiDocumentResponse_PublicDailyStress_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicDailyStress"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicDailyStress]"
      },
      "MultiDocumentResponse_PublicModifiedSleepModel_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicModifiedSleepModel"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicModifiedSleepModel]"
      },
      "MultiDocumentResponse_PublicRestModePeriod_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicRestModePeriod"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicRestModePeriod]"
      },
      "MultiDocumentResponse_PublicRingConfiguration_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicRingConfiguration"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicRingConfiguration]"
      },
      "MultiDocumentResponse_PublicSession_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicSession"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicSession]"
      },
      "MultiDocumentResponse_PublicSleepTime_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicSleepTime"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicSleepTime]"
      },
      "MultiDocumentResponse_PublicVO2Max_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicVO2Max"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicVO2Max]"
      },
      "MultiDocumentResponse_PublicWorkout_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicWorkout"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[PublicWorkout]"
      },
      "MultiDocumentResponse_TagModel_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/TagModel"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data",
          "next_token"
        ],
        "title": "MultiDocumentResponse[TagModel]"
      },
      "PersonalInfoResponse": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "age": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Age"
          },
          "weight": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Weight"
          },
          "height": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Height"
          },
          "biological_sex": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Biological Sex"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "PersonalInfoResponse"
      },
      "PublicActivityContributors": {
        "properties": {
          "meet_daily_targets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of meeting previous 7-day daily activity targets in range [1, 100]."
          },
          "move_every_hour": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of previous 24-hour inactivity alerts in range [1, 100]."
          },
          "recovery_time": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of previous 7-day recovery time in range [1, 100]."
          },
          "stay_active": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of previous 24-hour activity in range [1, 100]."
          },
          "training_frequency": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of previous 7-day exercise frequency in range [1, 100]."
          },
          "training_volume": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of previous 7-day exercise volume in range [1, 100]."
          }
        },
        "type": "object",
        "title": "PublicActivityContributors",
        "description": "Object defining activity score contributors."
      },
      "PublicDailyActivity": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "active_calories": {
            "type": "integer",
            "title": "",
            "description": "Active calories expended in kilocalories."
          },
          "average_met_minutes": {
            "type": "number",
            "title": "",
            "description": "Average MET minutes."
          },
          "class_5_min": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "5-minute activity classification for the period where every character corresponds to:\n'0' = non wear\n'1' = rest\n'2' = inactive\n'3' = low activity\n'4' = medium activity\n'5' = high activity\nExample: \"001233334555524001\"."
          },
          "contributors": {
            "$ref": "#/components/schemas/PublicActivityContributors",
            "title": "",
            "description": "Object containing activity score contributors."
          },
          "day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "Day that the daily activity belong to."
          },
          "equivalent_walking_distance": {
            "type": "integer",
            "title": "",
            "description": "Equivalent walking distance of energe expenditure in meters."
          },
          "high_activity_met_minutes": {
            "type": "integer",
            "title": "",
            "description": "The total METs of each minute classified as high activity."
          },
          "high_activity_time": {
            "type": "integer",
            "title": "",
            "description": "The total time in seconds of each minute classified as high activity."
          },
          "inactivity_alerts": {
            "type": "integer",
            "title": "",
            "description": "Number of inactivity alerts received."
          },
          "low_activity_met_minutes": {
            "type": "integer",
            "title": "",
            "description": "The total METs of each minute classified as low activity."
          },
          "low_activity_time": {
            "type": "integer",
            "title": "",
            "description": "The total time in seconds of each minute classified as low activity."
          },
          "medium_activity_met_minutes": {
            "type": "integer",
            "title": "",
            "description": "The total METs of each minute classified as medium activity."
          },
          "medium_activity_time": {
            "type": "integer",
            "title": "",
            "description": "The total time in seconds of each minute classified as medium activity."
          },
          "met": {
            "$ref": "#/components/schemas/PublicSample",
            "title": "",
            "description": "Sample containing METs."
          },
          "meters_to_target": {
            "type": "integer",
            "title": "",
            "description": "Meters remaining to target."
          },
          "non_wear_time": {
            "type": "integer",
            "title": "",
            "description": "Ring non-wear time in seconds."
          },
          "resting_time": {
            "type": "integer",
            "title": "",
            "description": "Resting time in seconds."
          },
          "score": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Activity score in range [1, 100]."
          },
          "sedentary_met_minutes": {
            "type": "integer",
            "title": "",
            "description": "Sedentary MET minutes."
          },
          "sedentary_time": {
            "type": "integer",
            "title": "",
            "description": "Sedentary time in seconds."
          },
          "steps": {
            "type": "integer",
            "title": "",
            "description": "Total number of steps taken."
          },
          "target_calories": {
            "type": "integer",
            "title": "",
            "description": "Daily activity target in kilocalories."
          },
          "target_meters": {
            "type": "integer",
            "title": "",
            "description": "Daily activity target in meters."
          },
          "timestamp": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Timestamp of the daily activity."
          },
          "total_calories": {
            "type": "integer",
            "title": "",
            "description": "Total calories expended in kilocalories."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "active_calories",
          "average_met_minutes",
          "contributors",
          "day",
          "equivalent_walking_distance",
          "high_activity_met_minutes",
          "high_activity_time",
          "inactivity_alerts",
          "low_activity_met_minutes",
          "low_activity_time",
          "medium_activity_met_minutes",
          "medium_activity_time",
          "met",
          "meters_to_target",
          "non_wear_time",
          "resting_time",
          "sedentary_met_minutes",
          "sedentary_time",
          "steps",
          "target_calories",
          "target_meters",
          "timestamp",
          "total_calories"
        ],
        "title": "PublicDailyActivity",
        "description": "Object defining a daily activity that is a 24-hour period starting at 4 a.m.",
        "x-cloud-only": true,
        "x-collection": "publicdailyactivity",
        "x-owner": "movement-squad"
      },
      "PublicDailyCardiovascularAge": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "Day that the prediction belongs to."
          },
          "vascular_age": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Predicted vascular age in range [18, 100]."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "day"
        ],
        "title": "PublicDailyCardiovascularAge",
        "description": "Daily Cardiovascular Age.",
        "x-cloud-only": true,
        "x-collection": "publicdailycardiovascularage",
        "x-owner": "health-squad"
      },
      "PublicDailyReadiness": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "contributors": {
            "$ref": "#/components/schemas/PublicReadinessContributors",
            "title": "",
            "description": "Contributors of the daily readiness score."
          },
          "day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "Day that the daily readiness belongs to."
          },
          "score": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Daily readiness score."
          },
          "temperature_deviation": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Temperature deviation in degrees Celcius."
          },
          "temperature_trend_deviation": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Temperature trend deviation in degrees Celcius."
          },
          "timestamp": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Timestamp of the daily readiness."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "contributors",
          "day",
          "timestamp"
        ],
        "title": "PublicDailyReadiness",
        "description": "Public object defining daily readiness.",
        "x-cloud-only": true,
        "x-collection": "publicdailyreadiness",
        "x-owner": "health-squad"
      },
      "PublicDailySleep": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "contributors": {
            "$ref": "#/components/schemas/PublicSleepContributors",
            "title": "",
            "description": "Contributors for the daily sleep score."
          },
          "day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "Day that the daily sleep belongs to."
          },
          "score": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Daily sleep score."
          },
          "timestamp": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Timestamp of the daily sleep."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "contributors",
          "day",
          "timestamp"
        ],
        "title": "PublicDailySleep",
        "description": "Public object defining daily sleep.",
        "x-cloud-only": true,
        "x-collection": "publicdailysleep",
        "x-owner": "health-squad"
      },
      "PublicDailySpO2": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "breathing_disturbance_index": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Breathing Disturbance Index (BDI) calculated using detected SpO2 drops from timeseries. Values should be in range [0, 100]"
          },
          "day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "Day that the spo2 values belong to."
          },
          "spo2_percentage": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSpo2AggregatedValues"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "The daily SpO2 percentage value aggregates. Sourced from SpO2 percentage timeseries values."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "day"
        ],
        "title": "PublicDailySpO2",
        "description": "Daily SpO2 (Oxygen saturation).",
        "x-cloud-only": true,
        "x-collection": "publicdailyspo2",
        "x-owner": "health-squad"
      },
      "PublicDailyStress": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "Day that the daily stress belongs to."
          },
          "day_summary": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicDailyStressSummary"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Stress summary of full day."
          },
          "recovery_high": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Time spent in a high recovery zone (bottom quartile data) in seconds."
          },
          "stress_high": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Time spent in a high stress zone (top quartile of data) in seconds."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "day"
        ],
        "title": "PublicDailyStress",
        "description": "Daily stress.",
        "x-cloud-only": true,
        "x-collection": "publicdailystress",
        "x-owner": "wellbeing-squad"
      },
      "PublicDailyStressSummary": {
        "type": "string",
        "enum": [
          "restored",
          "normal",
          "stressful"
        ],
        "title": "PublicDailyStressSummary",
        "description": "Possible public daily stress summary types."
      },
      "PublicHeartRateRow": {
        "properties": {
          "timestamp": {
            "$ref": "#/components/schemas/UtcDateTime",
            "title": "",
            "description": "Timestamp of the discrete sample."
          },
          "timestamp_unix": {
            "type": "integer",
            "title": "",
            "description": "Timestamp of the discrete sample as unix time in milliseconds."
          },
          "bpm": {
            "type": "integer",
            "title": "",
            "description": "Heart rate as beats per minute."
          },
          "source": {
            "$ref": "#/components/schemas/PublicHeartRateSource",
            "title": "",
            "description": "Source of the sample."
          }
        },
        "type": "object",
        "required": [
          "timestamp",
          "timestamp_unix",
          "bpm",
          "source"
        ],
        "title": "PublicHeartRateRow",
        "description": "Heart rate sample",
        "x-cloud-only": true,
        "x-collection": "publicheartrate",
        "x-owner": "health-squad"
      },
      "PublicHeartRateSource": {
        "type": "string",
        "enum": [
          "awake",
          "workout",
          "rest",
          "sleep",
          "live",
          "session"
        ],
        "title": "PublicHeartRateSource",
        "description": "Possible heart rate sources."
      },
      "PublicInterbeatIntervalRow": {
        "properties": {
          "timestamp": {
            "$ref": "#/components/schemas/UtcDateTime",
            "title": "",
            "description": "Timestamp of the discrete sample."
          },
          "timestamp_unix": {
            "type": "integer",
            "title": "",
            "description": "Timestamp of the discrete sample as unix time in milliseconds."
          },
          "ibi": {
            "type": "integer",
            "title": "",
            "description": "Time between two consecutive beats of the heart, in milliseconds. Maximum value limited to 2000ms."
          },
          "validity": {
            "type": "integer",
            "title": "",
            "description": "Validation classification: 1=Good,2=Bad,3=Corrected,-1/-2=Gap, 0=Raw(Uncorrected). The validity indicates\nwhether the data in this row is trustworthy. Gap: indicates that there was no available ppg signal in the\npast seconds, which makes it impossible to compute the IBI for this row. Corrected: In rare cases the ring\nalgorithm produces artifacts that can be corrected during post-processing. An example is the ring algo\ngenerating two IBI events when there should be a single one. If the IBI value was fixed in post-processing,\nit will have this validity classification. If the IBI value was not fixed, it will have the Raw classification."
          }
        },
        "type": "object",
        "required": [
          "timestamp",
          "timestamp_unix",
          "ibi",
          "validity"
        ],
        "title": "PublicInterbeatIntervalRow",
        "description": "Discrete interbeat interval",
        "x-cloud-only": true,
        "x-collection": "publicinterbeatinterval",
        "x-owner": "app-platform"
      },
      "PublicModifiedSleepModel": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "average_breath": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Average breathing rate during sleep as breaths/minute."
          },
          "average_heart_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Average heart rate during sleep as beats/minute. NOTE: this is the average calculated by ecore (based on 30-second samples) which is different from what is shown in the app. The app shows the average of aggregated 5-minute heart rate samples."
          },
          "average_hrv": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Average heart rate variability during sleep."
          },
          "awake_time": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Duration spent awake in seconds."
          },
          "bedtime_end": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Bedtime end of the sleep."
          },
          "bedtime_start": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Bedtime start of the sleep."
          },
          "day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "Day that the sleep belongs to."
          },
          "deep_sleep_duration": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Duration spent in deep sleep in seconds."
          },
          "efficiency": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Sleep efficiency rating in range [1, 100]."
          },
          "heart_rate": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSample"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Object containing heart rate samples."
          },
          "hrv": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSample"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Object containing heart rate variability samples."
          },
          "latency": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Sleep latency in seconds. This is the time it took for the user to fall asleep after going to bed."
          },
          "light_sleep_duration": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Duration spent in light sleep in seconds."
          },
          "low_battery_alert": {
            "type": "boolean",
            "title": "",
            "description": "Flag indicating if a low battery alert occurred."
          },
          "lowest_heart_rate": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Lowest heart rate during sleep. NOTE: this is the value calculated by ecore (based on 30-second samples) which is different from what is shown in the app. The app shows the minimum of aggregated 5-minute heart rate samples."
          },
          "movement_30_sec": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "30-second movement classification for the period where every character corresponds to:\n'1' = no motion,\n'2' = restless,\n'3' = tossing and turning\n'4' = active\nExample: \"1143222134\"."
          },
          "period": {
            "type": "integer",
            "title": "",
            "description": "ECore sleep period identifier."
          },
          "readiness": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicReadiness"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Object containing the readiness details."
          },
          "readiness_score_delta": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Effect on readiness score caused by this sleep period."
          },
          "rem_sleep_duration": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Duration spent in REM sleep in seconds."
          },
          "restless_periods": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Number of restless periods during sleep."
          },
          "sleep_algorithm_version": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSleepAlgorithmVersion"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Version of the sleep algorithm used to calculate the sleep data."
          },
          "sleep_analysis_reason": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSleepAnalysisReason"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "The reason for the creation or update of the latest version of this sleep."
          },
          "sleep_phase_30_sec": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "30-second sleep phase classification for the period where every character corresponds to:\n'1' = deep sleep,\n'2' = light sleep,\n'3' = REM sleep\n'4' = awake.\nExample: \"444423323441114\"."
          },
          "sleep_phase_5_min": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "5-minute sleep phase classification for the period where every character corresponds to:\n'1' = deep sleep,\n'2' = light sleep,\n'3' = REM sleep\n'4' = awake.\nExample: \"444423323441114\"."
          },
          "sleep_score_delta": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Effect on sleep score caused by this sleep period."
          },
          "time_in_bed": {
            "type": "integer",
            "title": "",
            "description": "Duration spent in bed in seconds."
          },
          "total_sleep_duration": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Total sleep duration in seconds."
          },
          "type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSleepType"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Type of the sleep period."
          },
          "ring_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ring Id",
            "description": "Encrypted identifier of the ring that produced this sleep data."
          },
          "app_sleep_phase_5_min": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "App Sleep Phase 5 Min",
            "description": "\n        5-minute sleep phase classification for the period aligned with what is shown in the app\n        where every character corresponds to:\n        '1' = deep sleep,\n        '2' = light sleep,\n        '3' = REM sleep\n        '4' = awake.\n        Example: \"444423323441114\".\n        NOTE: This field will be removed in the future after a transition period.\n        "
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "bedtime_end",
          "bedtime_start",
          "day",
          "low_battery_alert",
          "period",
          "time_in_bed"
        ],
        "title": "PublicModifiedSleepModel",
        "x-cloud-only": true,
        "x-collection": "publicsleepmodel",
        "x-owner": "health-squad"
      },
      "PublicMomentMood": {
        "type": "string",
        "enum": [
          "bad",
          "worse",
          "same",
          "good",
          "great"
        ],
        "title": "PublicMomentMood",
        "description": "Possible Moment moods."
      },
      "PublicMomentType": {
        "type": "string",
        "enum": [
          "breathing",
          "meditation",
          "nap",
          "relaxation",
          "rest",
          "body_status"
        ],
        "title": "PublicMomentType",
        "description": "Possible Moment types."
      },
      "PublicReadiness": {
        "properties": {
          "contributors": {
            "$ref": "#/components/schemas/PublicReadinessContributors",
            "title": "",
            "description": "Contributors of the readiness score."
          },
          "score": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Readiness score in range [1, 100]."
          },
          "temperature_deviation": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Temperature deviation in degrees Celcius."
          },
          "temperature_trend_deviation": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Temperature trend deviation in degrees Celcius."
          }
        },
        "type": "object",
        "required": [
          "contributors"
        ],
        "title": "PublicReadiness",
        "description": "Object defining readiness."
      },
      "PublicReadinessContributors": {
        "properties": {
          "activity_balance": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of cumulative activity balance in range [1, 100]."
          },
          "body_temperature": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of body temperature in range [1, 100]."
          },
          "hrv_balance": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of heart rate variability balance in range [1, 100]."
          },
          "previous_day_activity": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of previous day's activity in range [1, 100]."
          },
          "previous_night": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of previous night's sleep in range [1, 100]."
          },
          "recovery_index": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of recovery index in range [1, 100]."
          },
          "resting_heart_rate": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of resting heart rate in range [1, 100]."
          },
          "sleep_balance": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of sleep balance in range [1, 100]."
          },
          "sleep_regularity": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of sleep regularity in range [1, 100]."
          }
        },
        "type": "object",
        "title": "PublicReadinessContributors",
        "description": "Object defining readiness score contributors."
      },
      "PublicRestModeEpisode": {
        "properties": {
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "",
            "description": "Tags selected for the episode."
          },
          "timestamp": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Timestamp indicating when the episode occurred."
          }
        },
        "type": "object",
        "required": [
          "tags",
          "timestamp"
        ],
        "title": "PublicRestModeEpisode",
        "description": "Object defining a public Rest Mode episode."
      },
      "PublicRestModePeriod": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "end_day": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ISODate"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "End date of rest mode."
          },
          "end_time": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LocalizedDateTime"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Timestamp when rest mode ended."
          },
          "episodes": {
            "items": {
              "$ref": "#/components/schemas/PublicRestModeEpisode"
            },
            "type": "array",
            "title": "",
            "description": "Collection of episodes during rest mode, consisting of tags."
          },
          "start_day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "Start date of rest mode."
          },
          "start_time": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LocalizedDateTime"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Timestamp when rest mode ended."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "episodes",
          "start_day"
        ],
        "title": "PublicRestModePeriod",
        "description": "Rest mode episode information.",
        "x-cloud-only": true,
        "x-collection": "publicrestmodeperiod",
        "x-owner": "health-squad"
      },
      "PublicRingBatteryLevelRow": {
        "properties": {
          "timestamp": {
            "$ref": "#/components/schemas/UtcDateTime",
            "title": "",
            "description": "Timestamp of the discrete sample."
          },
          "timestamp_unix": {
            "type": "integer",
            "title": "",
            "description": "Timestamp of the discrete sample as unix time in milliseconds."
          },
          "charging": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Flag indicating if the ring was charging."
          },
          "in_charger": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Flag indicating if the ring was in charger."
          },
          "level": {
            "type": "integer",
            "title": "",
            "description": "Ring battery level percentage. These values are within [0, 100]."
          }
        },
        "type": "object",
        "required": [
          "timestamp",
          "timestamp_unix",
          "level"
        ],
        "title": "PublicRingBatteryLevelRow",
        "description": "Object defining a ring battery level event.",
        "x-cloud-only": true,
        "x-collection": "publicringbatterylevel",
        "x-owner": "app-platform"
      },
      "PublicRingColor": {
        "type": "string",
        "enum": [
          "brushed_silver",
          "glossy_black",
          "glossy_gold",
          "glossy_white",
          "gucci",
          "matt_gold",
          "rose",
          "silver",
          "stealth_black",
          "titanium",
          "titanium_and_gold",
          "cloud",
          "petal",
          "midnight",
          "tide"
        ],
        "title": "PublicRingColor",
        "description": "Possible ring colors."
      },
      "PublicRingConfiguration": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "color": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicRingColor"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Color of the ring."
          },
          "design": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicRingDesign"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Design of the ring."
          },
          "firmware_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Firmware version of the ring."
          },
          "hardware_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicRingHardwareType"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Hardware type of the ring."
          },
          "set_up_at": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UtcDateTime"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "UTC timestamp indicating when the ring was set up."
          },
          "size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "US size of the ring."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta"
        ],
        "title": "PublicRingConfiguration",
        "description": "Ring configuration.",
        "x-cloud-only": true,
        "x-collection": "publicringconfiguration",
        "x-owner": "app-platform"
      },
      "PublicRingDesign": {
        "type": "string",
        "enum": [
          "heritage",
          "balance",
          "balance_diamond",
          "horizon",
          "ceramic"
        ],
        "title": "PublicRingDesign",
        "description": "Possible ring designs."
      },
      "PublicRingHardwareType": {
        "type": "string",
        "enum": [
          "gen1",
          "gen2",
          "gen2m",
          "gen3",
          "gen4"
        ],
        "title": "PublicRingHardwareType",
        "description": "Possible ring hardware types."
      },
      "PublicSample": {
        "properties": {
          "interval": {
            "type": "number",
            "title": "",
            "description": "Interval in seconds between the sampled items."
          },
          "items": {
            "$ref": "#/components/schemas/Array_Union_float__NoneType__Bits64_",
            "title": "",
            "description": "Recorded sample items."
          },
          "timestamp": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Timestamp when the sample recording started."
          }
        },
        "type": "object",
        "required": [
          "interval",
          "items",
          "timestamp"
        ],
        "title": "PublicSample",
        "description": "Object defining a recorded sample."
      },
      "PublicSession": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "The date when the session occurred."
          },
          "end_datetime": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Timestamp indicating when the Moment ended."
          },
          "heart_rate": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSample"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Recorded heart rate samples during the Moment."
          },
          "heart_rate_variability": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSample"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Recorded heart rate variability samples during the Moment."
          },
          "mood": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicMomentMood"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "User-selected mood for the Moment."
          },
          "motion_count": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSample"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Recorded motion count samples during the Moment."
          },
          "start_datetime": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Timestamp indicating when the Moment ended."
          },
          "type": {
            "$ref": "#/components/schemas/PublicMomentType",
            "title": "",
            "description": "Type of the Moment."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "day",
          "end_datetime",
          "start_datetime",
          "type"
        ],
        "title": "PublicSession",
        "description": "Public model defining a recorded Session.",
        "x-cloud-only": true,
        "x-collection": "publicsession",
        "x-owner": "health-squad"
      },
      "PublicSleepAlgorithmVersion": {
        "type": "string",
        "enum": [
          "v1",
          "v2"
        ],
        "title": "PublicSleepAlgorithmVersion",
        "description": "Oura Sleep Staging Algorithms.\nv1 = original aka legacy aka OSSA 1.0,\nv2 = latest sleep algorithm"
      },
      "PublicSleepAnalysisReason": {
        "type": "string",
        "enum": [
          "foreground_sleep_analysis",
          "bedtime_edit"
        ],
        "title": "PublicSleepAnalysisReason",
        "description": "Possible sleep analysis reasons."
      },
      "PublicSleepContributors": {
        "properties": {
          "deep_sleep": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of deep sleep in range [1, 100]."
          },
          "efficiency": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of sleep efficiency in range [1, 100]."
          },
          "latency": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of sleep latency in range [1, 100]."
          },
          "rem_sleep": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of REM sleep in range [1, 100]."
          },
          "restfulness": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of sleep restfulness in range [1, 100]."
          },
          "timing": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of sleep timing in range [1, 100]."
          },
          "total_sleep": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Contribution of total sleep in range [1, 100]."
          }
        },
        "type": "object",
        "title": "PublicSleepContributors",
        "description": "Object defining sleep score contributors."
      },
      "PublicSleepTime": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "Corresponding day for the sleep time."
          },
          "optimal_bedtime": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSleepTimeWindow"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Optimal bedtime."
          },
          "recommendation": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSleepTimeRecommendation"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Recommended action for bedtime."
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicSleepTimeStatus"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Sleep time status; used to inform sleep time recommendation."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "day"
        ],
        "title": "PublicSleepTime",
        "description": "Suggested bedtime for the user.",
        "x-cloud-only": true,
        "x-collection": "publicsleeptime",
        "x-owner": "app-platform"
      },
      "PublicSleepTimeRecommendation": {
        "type": "string",
        "enum": [
          "improve_efficiency",
          "earlier_bedtime",
          "later_bedtime",
          "earlier_wake_up_time",
          "later_wake_up_time",
          "follow_optimal_bedtime"
        ],
        "title": "PublicSleepTimeRecommendation",
        "description": "Possible public SleepTime recommendation."
      },
      "PublicSleepTimeStatus": {
        "type": "string",
        "enum": [
          "not_enough_nights",
          "not_enough_recent_nights",
          "bad_sleep_quality",
          "only_recommended_found",
          "optimal_found"
        ],
        "title": "PublicSleepTimeStatus",
        "description": "Possible public SleepTime status."
      },
      "PublicSleepTimeWindow": {
        "properties": {
          "day_tz": {
            "type": "integer",
            "title": "",
            "description": "Timezone offset in second from GMT of the day"
          },
          "end_offset": {
            "type": "integer",
            "title": "",
            "description": "End offset from midnight in second"
          },
          "start_offset": {
            "type": "integer",
            "title": "",
            "description": "Start offset from midnight in second"
          }
        },
        "type": "object",
        "required": [
          "day_tz",
          "end_offset",
          "start_offset"
        ],
        "title": "PublicSleepTimeWindow",
        "description": "Object defining sleep time window"
      },
      "PublicSleepType": {
        "type": "string",
        "enum": [
          "deleted",
          "sleep",
          "long_sleep",
          "late_nap",
          "rest"
        ],
        "title": "PublicSleepType",
        "description": "Possible sleep period types.\n'deleted' = deleted sleep by user.\n'sleep' = user confirmed sleep / nap, min 15 minutes, max 3 hours, contributes to daily scores\n'late_nap' = user confirmed sleep / nap, min 15 minutes, ended after sleep day change (6 pm), contributes to next days daily scores\n'long_sleep' = sleep that is long enough (>3h) to automatically contribute to daily scores\n'rest' = Falsely detected sleep / nap, rejected in confirm prompt by user"
      },
      "PublicSpo2AggregatedValues": {
        "properties": {
          "average": {
            "type": "number",
            "title": "",
            "description": "Average of spo2."
          }
        },
        "type": "object",
        "required": [
          "average"
        ],
        "title": "PublicSpo2AggregatedValues",
        "description": "Object defining public spo2 aggregated values."
      },
      "PublicVO2Max": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "Day that the estimate belongs to."
          },
          "timestamp": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Timestamp indicating when the estimate was created."
          },
          "vo2_max": {
            "type": "integer",
            "title": "",
            "description": "VO2 max value."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "day",
          "timestamp",
          "vo2_max"
        ],
        "title": "PublicVO2Max",
        "description": "VO2Max estimate.",
        "x-cloud-only": true,
        "x-collection": "publicvo2max",
        "x-owner": "health-squad"
      },
      "PublicWorkout": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "",
            "description": "Unique identifier of the object."
          },
          "meta": {
            "$ref": "#/components/schemas/Metadata",
            "title": "",
            "description": "Meta data of the object."
          },
          "activity": {
            "type": "string",
            "title": "",
            "description": "Type of the workout activity."
          },
          "calories": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Energy burned in kilocalories during the workout."
          },
          "day": {
            "$ref": "#/components/schemas/ISODate",
            "title": "",
            "description": "Day when the workout occurred."
          },
          "distance": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "Distance traveled in meters during the workout."
          },
          "end_datetime": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Timestamp indicating when the workout ended."
          },
          "intensity": {
            "$ref": "#/components/schemas/PublicWorkoutIntensity",
            "title": "",
            "description": "Intensity of the workout."
          },
          "label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "",
            "description": "User-defined label for the workout."
          },
          "source": {
            "$ref": "#/components/schemas/PublicWorkoutSource",
            "title": "",
            "description": "Possible workout sources."
          },
          "start_datetime": {
            "$ref": "#/components/schemas/LocalizedDateTime",
            "title": "",
            "description": "Timestamp indicating when the workout started."
          }
        },
        "type": "object",
        "required": [
          "id",
          "meta",
          "activity",
          "day",
          "end_datetime",
          "intensity",
          "source",
          "start_datetime"
        ],
        "title": "PublicWorkout",
        "description": "Public model for Workout.",
        "x-cloud-only": true,
        "x-collection": "publicworkout",
        "x-owner": "movement-squad"
      },
      "PublicWorkoutIntensity": {
        "type": "string",
        "enum": [
          "easy",
          "moderate",
          "hard"
        ],
        "title": "PublicWorkoutIntensity",
        "description": "Possible workout intensities."
      },
      "PublicWorkoutSource": {
        "type": "string",
        "enum": [
          "manual",
          "autodetected",
          "confirmed",
          "workout_heart_rate"
        ],
        "title": "PublicWorkoutSource",
        "description": "Possible workout sources."
      },
      "ResilienceContributors": {
        "properties": {
          "sleep_recovery": {
            "type": "number",
            "title": "Sleep Recovery",
            "description": "Sleep recovery contributor to the resilience score. Range: [0, 100]"
          },
          "daytime_recovery": {
            "type": "number",
            "title": "Daytime Recovery",
            "description": "Daytime recovery contributor to the resilience score. Range: [0, 100]"
          },
          "stress": {
            "type": "number",
            "title": "Stress",
            "description": "Stress contributor to the resilience score. Range: [0, 100]"
          }
        },
        "type": "object",
        "required": [
          "sleep_recovery",
          "daytime_recovery",
          "stress"
        ],
        "title": "ResilienceContributors"
      },
      "TagModel": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "day": {
            "type": "string",
            "format": "date",
            "title": "Day",
            "description": "Day that the note belongs to."
          },
          "text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Text",
            "description": "Textual contents of the note."
          },
          "timestamp": {
            "$ref": "#/components/schemas/LocalDateTime",
            "description": "Timestamp of the note."
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Tags",
            "description": "Selected tags for the tag."
          }
        },
        "type": "object",
        "required": [
          "id",
          "day",
          "text",
          "timestamp",
          "tags"
        ],
        "title": "TagModel",
        "description": "A TagModel maps to an ASSANote. An ASSANote in ExtAPIV2 is called a Tag\nA TagModel will be populated by data from an ASSANote\nThe fields in the TagModel map to fields in an ASSANote"
      },
      "TimeSeriesResponseDict": {
        "properties": {
          "data": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "TimeSeriesResponseDict"
      },
      "TimeSeriesResponse_PublicHeartRateRow_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicHeartRateRow"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "TimeSeriesResponse[PublicHeartRateRow]"
      },
      "TimeSeriesResponse_PublicInterbeatIntervalRow_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicInterbeatIntervalRow"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "TimeSeriesResponse[PublicInterbeatIntervalRow]"
      },
      "TimeSeriesResponse_PublicRingBatteryLevelRow_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicRingBatteryLevelRow"
            },
            "type": "array",
            "title": "Data"
          },
          "next_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Token"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "TimeSeriesResponse[PublicRingBatteryLevelRow]"
      },
      "UpdateWebhookSubscriptionRequest": {
        "properties": {
          "verification_token": {
            "type": "string",
            "title": "Verification Token"
          },
          "callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Url"
          },
          "event_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WebhookOperation"
              },
              {
                "type": "null"
              }
            ]
          },
          "data_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExtApiV2DataType"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "verification_token"
        ],
        "title": "UpdateWebhookSubscriptionRequest"
      },
      "UtcDateTime": {
        "type": "string"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "WebhookOperation": {
        "type": "string",
        "enum": [
          "create",
          "update",
          "delete"
        ],
        "title": "WebhookOperation"
      },
      "WebhookSubscriptionModel": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "callback_url": {
            "type": "string",
            "title": "Callback Url"
          },
          "event_type": {
            "$ref": "#/components/schemas/WebhookOperation"
          },
          "data_type": {
            "$ref": "#/components/schemas/ExtApiV2DataType"
          },
          "expiration_time": {
            "type": "string",
            "format": "date-time",
            "title": "Expiration Time"
          }
        },
        "type": "object",
        "required": [
          "id",
          "callback_url",
          "event_type",
          "data_type",
          "expiration_time"
        ],
        "title": "WebhookSubscriptionModel"
      }
    }
  }
}
