Withings sleep API

Returns data related to user sleep activities, wether they are captured by an Activity Tracker or a Sleep Monitor. The data are only available once a synchronization occured between the device and Withings servers (which might include synchronizing with Withings mobile application or via Withings Mobile SDK).

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

withings-sleep-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: '2.0'
  title: Withings developer documentation answers sleep API
  description: These webservices allows you to get user's answers from surveys
servers:
- url: https://wbsapi.withings.net/
tags:
- name: sleep
  x-displayName: Sleep
  description: 'Returns data related to user sleep activities, wether they are captured by an Activity Tracker or a Sleep Monitor.


    The data are only available once a synchronization occured between the device and Withings servers (which might include synchronizing with Withings mobile application or via Withings Mobile SDK).'
paths:
  https://wbsapi.withings.net/v2/sleep:
    post:
      tags:
      - sleep
      description: '

        Returns sleep data captured at high frequency, including sleep stages.<br/><br/>

        **Notes**

        If your input ```startdate``` and ```enddate``` are separated by more than 24h, only the first 24h after ```startdate``` will be returned.<br/><br/>

        **IMPORTANT**: Please refer to this [page](https://developer.withings.com/developer-guide/v3/data-api/all-available-health-data/#sleep) to check the availability of metrics based on the sleep tracking device used. Some data types are regulated in the EU and US and may not be available in your region.'
      summary: Sleep v2  - Get
      operationId: sleepv2-get
      parameters:
      - name: action
        in: query
        required: true
        schema:
          type: string
        description: Service action name. Must take the string value ```get```.
      - name: startdate
        in: query
        required: true
        schema:
          type: integer
        description: Data start date as a unix timestamp.
        format: timestamp
      - name: enddate
        in: query
        required: true
        schema:
          type: integer
        description: Data end date as a unix timestamp.
        format: timestamp
      - name: data_fields
        in: query
        required: false
        schema:
          type: string
        description: 'List of requested data fields, separated by a comma.<br>Available data fields are listed below.<br><u>Ex</u>: data_fields=hr,rr,snoring<br><br>hr<br>> Heart Rate (beats per minute). <br><br>rr<br>> Respiration Rate (breaths per minute). <br><br>snoring<br>> Total snoring time (seconds).<br><br>sdnn_1<br>> Heart rate variability - Standard deviation of the NN over 1 minute (in miliseconds).<br><br>rmssd<br>> Heart rate variability - Root mean square of the successive differences over "a few seconds" (in miliseconds).<br><br>hrv_quality<br>> Heart rate variability - quality score.<br><br>mvt_score<br>> Track the intensity of movement in bed on a minute-by-minute basis. The score ranges from 0 to 255, representing the intensity of movement. This metric is only available for Sleep Analyzer devices in the EU and prescription-based devices in the US (Sleep Rx).<br><br>chest_movement_rate<br>> Chest movement rate (events per minute). <br><br>withings_index<br>> Withings Sleep Rx (FDA Cleared) allows to estimate gaps in breathing sounds and to generate an index. This index corresponds to the number of breathing events per hour.



          <table><thead><tr><td>Value</td><td>Description</td></tr></thead><tbody><tr><td>0-15 (events per hour on average)</td><td>No/Mild</td></tr><tr><td>15-30 (events per hour on average)</td><td>Moderate</td></tr><tr><td>> 30 (events per hour on average)</td><td>Severe</td></tr></tbody></table>



          Note: 5 hours of sleep are required in order to calculate the Withings Index.<br><br>breathing_sounds<br>> Total time when breathing sounds were tracked. (seconds) <br><br>'
      - name: meastypes
        in: query
        required: false
        schema:
          type: list of integers
        description: 'List of requested measure types (separated by a comma).<br>Ex: meastypes=1,4,12'
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
        description: 'Used to pass your access token. Must take value: ```Bearer {your access_token}``` Replace {your access_token} with the access_token'
      responses:
        200:
          description: ' (Click to unfold)'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: Response status. See <a href='#section/Response-status'>Status</a> section for details.
                  body:
                    type: object
                    description: Response data.
                    properties:
                      model:
                        type: integer
                        description: The source for sleep data. Value can be 16 for a tracker or 32 for a Sleep Monitor.
                        example: 32
                      series:
                        type: object
                        properties:
                          startdate:
                            type: integer
                            description: The starting datetime for the sleep state data.
                            format: timestamp
                            example: 1594159200
                          enddate:
                            type: integer
                            description: The end datetime for the sleep data. A single call can span up to 7 days maximum. To cover a wider time range, you will need to perform multiple calls.
                            format: timestamp
                            example: 1594202400
                          state:
                            type: integer
                            description: 'The state of sleeping. Values can be:



                              | Value | Description|

                              |---|---|

                              |0 | Sleep state awake|

                              |1 | Sleep state light|

                              |2 | Sleep state deep|

                              |3 | Sleep state rem|

                              |4 | Sleep manual|

                              |5 | Sleep unspecified|

                              |15 | Sleep out of bed (require a specific plan, <a href=''https://developer.withings.com/developer-guide/v3/withings-solutions/withings-api-plans/''>contact-us</a>)|

                              '
                            example: 1
                          model:
                            type: string
                            description: 'Device model. Value can be:



                              | Value | Description|

                              |---|---|

                              |Aura Dock | Sleep Monitor|

                              |Aura Sensor | Sleep Monitor|

                              |Aura Sensor V2 | Sleep Monitor|

                              |Pulse | Activity Tracker|

                              |Activite | Activity Tracker|

                              |Activite (Pop, Steel) | Activity Tracker|

                              |Withings Go | Activity Tracker|

                              |Activite Steel HR | Activity Tracker|

                              |Activite Steel HR Sport Edition | Activity Tracker|

                              |Pulse HR | Activity Tracker|

                              |Move | Activity Tracker|

                              |Move ECG | Activity Tracker|

                              |ScanWatch | Activity Tracker|

                              |ScanWatch 2 | Activity Tracker|

                              |ScanWatch Light | Activity Tracker|

                              '
                            example: Aura Sensor V2
                          model_id:
                            type: integer
                            description: '


                              | Value | Description|

                              |---|---|

                              |60 | Aura Dock|

                              |61 | Aura Sensor|

                              |63 | Aura Sensor V2|

                              |51 | Pulse|

                              |52 | Activite|

                              |53 | Activite (Pop, Steel)|

                              |54 | Withings Go|

                              |55 | Activite Steel HR|

                              |59 | Activite Steel HR Sport Edition|

                              |58 | Pulse HR|

                              |90 | Move|

                              |91 | Move ECG|

                              |92 | Move ECG|

                              |93 | ScanWatch|

                              |94 | ScanWatch 2|

                              |95 | ScanWatch Light|

                              '
                            example: 63
                          hr:
                            type: object
                            description: Heart Rate (beats per minute). *(Use 'data_fields' to request this data.)*
                            properties:
                              $timestamp:
                                type: integer
                                description: $timestamp represents the epoch value of the heart rate data, value of this key will be the heart rate data
                          rr:
                            type: object
                            description: Respiration Rate (breaths per minute). *(Use 'data_fields' to request this data.)*
                            properties:
                              $timestamp:
                                type: integer
                                description: $timestamp represents the epoch value of the respiration rate data, value of this key will be the respiration rate data
                          snoring:
                            type: object
                            description: Total snoring time (seconds).
                            properties:
                              $timestamp:
                                type: integer
                          sdnn_1:
                            type: object
                            description: Heart rate variability - Standard deviation of the NN over 1 minute (in miliseconds).
                            properties:
                              $timestamp:
                                type: integer
                          rmssd:
                            type: object
                            description: Heart rate variability - Root mean square of the successive differences over "a few seconds" (in miliseconds).
                            properties:
                              $timestamp:
                                type: integer
                          hrv_quality:
                            type: object
                            description: Heart rate variability - quality score.
                            properties:
                              $timestamp:
                                type: integer
                          mvt_score:
                            type: object
                            description: Track the intensity of movement in bed on a minute-by-minute basis. The score ranges from 0 to 255, representing the intensity of movement. This metric is only available for Sleep Analyzer devices in the EU and prescription-based devices in the US (Sleep Rx).
                            properties:
                              $timestamp:
                                type: integer
                          chest_movement_rate:
                            type: object
                            description: Chest movement rate (events per minute). *(Use 'data_fields' to request this data.)*
                            properties:
                              $timestamp:
                                type: integer
                          withings_index:
                            type: object
                            description: 'Withings Sleep Rx (FDA Cleared) allows to estimate gaps in breathing sounds and to generate an index. This index corresponds to the number of breathing events per hour.



                              <table><thead><tr><td>Value</td><td>Description</td></tr></thead><tbody><tr><td>0-15 (events per hour on average)</td><td>No/Mild</td></tr><tr><td>15-30 (events per hour on average)</td><td>Moderate</td></tr><tr><td>> 30 (events per hour on average)</td><td>Severe</td></tr></tbody></table>



                              Note: 5 hours of sleep are required in order to calculate the Withings Index.'
                            properties:
                              $timestamp:
                                type: integer
                          breathing_sounds:
                            type: object
                            description: Total time when breathing sounds were tracked. (seconds) *(Use 'data_fields' to request this data.)*
                            properties:
                              $timestamp:
                                type: integer
      x-codeSamples:
      - lang: PHP
        source: "<?php\n\n$ch = curl_init();\n\ncurl_setopt($ch, CURLOPT_URL, \"https://wbsapi.withings.net/v2/sleep\");\n\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);\n\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n\t'Authorization: Bearer YOUR_ACCESS_TOKEN'\n]);\n\ncurl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ \n\t'action' => 'get',\n\t'startdate' => 'startdate',\n\t'enddate' => 'enddate',\n\t'data_fields' => 'data_fields',\n\t'meastypes' => 'meastypes'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
      - lang: CURL
        source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=get&startdate=startdate&enddate=enddate&data_fields=data_fields&meastypes=meastypes" ''https://wbsapi.withings.net/v2/sleep'''
  'https://wbsapi.withings.net/v2/sleep ':
    post:
      tags:
      - sleep
      description: 'Returns sleep activity summaries, which are an aggregation of all the data captured at high frequency during the sleep activity.</br></br>

        Use the [Sleep v2 - Get](#operation/sleepv2-get) service to get the high frequency data used to build these summaries.</br></br>

        **IMPORTANT**: Please refer to this [page](https://developer.withings.com/developer-guide/v3/data-api/all-available-health-data/#sleep) to check the availability of metrics based on the sleep tracking device used. Some data types are regulated in the EU and US and may not be available in your region.

        '
      summary: Sleep v2  - Getsummary
      operationId: sleepv2-getsummary
      parameters:
      - name: action
        in: query
        required: true
        schema:
          type: string
        description: Service action name. Must take the string value ```getsummary```.
      - name: startdateymd
        in: query
        required: true
        schema:
          type: string
        description: 'DO NOT USE WITH FOLLOWING PARAMS: [lastupdate]<br>Start date. Required if no lastupdate.'
        format: Y-m-d
      - name: enddateymd
        in: query
        required: true
        schema:
          type: string
        description: 'DO NOT USE WITH FOLLOWING PARAMS: [lastupdate]<br>End date. Required if startdateymd is provided.'
        format: Y-m-d
      - name: lastupdate
        in: query
        required: true
        schema:
          type: integer
        description: 'DO NOT USE WITH FOLLOWING PARAMS: [startdateymd, enddateymd]<br>Timestamp for requesting data that were updated or created after this date.<br>Useful for data synchronization between systems.<br>Use this instead of startdateymd + enddateymd.'
      - name: data_fields
        in: query
        required: false
        schema:
          type: string
        description: "List of requested data fields, separated by a comma.<br>Available data fields are listed below.<br><u>Ex</u>: data_fields=total_timeinbed,total_sleep_time,asleepduration<br><br><b><i>Standard sleep medicine metrics</i></b><br><br>total_timeinbed<br>> Total time spent in bed (seconds). <br><br>total_sleep_time<br>> Total time spent asleep. Sum of light, deep and rem durations (seconds). <br><br>asleepduration<br>> Duration of sleep when night comes from external source (seconds).<br>Light, Deep and Rem sleep durations are null in this case. <br><br>lightsleepduration<br>> Duration in state light sleep (seconds). <br><br>remsleepduration<br>> Duration in state REM sleep (seconds). <br><br>deepsleepduration<br>> Duration in state deep sleep (seconds). <br><br>sleep_efficiency<br>> Ratio of the total sleep time over the time spent in bed. <br><br>sleep_latency<br>> Time spent in bed before falling asleep (seconds). <br><br>wakeup_latency<br>> Time spent in bed after waking up (seconds). <br><br>wakeupduration<br>> Time spent awake (seconds). <br><br>wakeupcount<br>> Number of times the user woke up while in bed. Does not include the number of times the user got out of bed. <br><br>waso<br>> Time spent awake in bed after falling asleep for the 1st time during the night (seconds). <br><br>nb_rem_episodes<br>> Count of the REM sleep phases. <br><br><br><b><i>Sleep apnea and breathing disturbances</i></b><br><br>breathing_disturbances_intensity<br>> Intensity of <a href='/api-reference/#section/Glossary'>breathing disturbances</a>.<br>Available for all Sleep and Sleep Analyzer devices (wellness metric). <br><br>apnea_hypopnea_index<br>> Medical grade AHI. Average number of hypopnea and apnea episodes per hour, that occured during sleep time.<br>Only available for devices purchased in Europe and Australia, with the sleep apnea detection feature activated. <br><br>withings_index<br>> Withings Sleep Rx (FDA Cleared) allows to estimate gaps in breathing sounds and to generate an index. This index corresponds to the number of breathing events per hour.\n\n\n<table><thead><tr><td>Value</td><td>Description</td></tr></thead><tbody><tr><td>0-15 (events per hour on average)</td><td>No/Mild</td></tr><tr><td>15-30 (events per hour on average)</td><td>Moderate</td></tr><tr><td>> 30 (events per hour on average)</td><td>Severe</td></tr></tbody></table>\n\n\nNote: 5 hours of sleep are required in order to calculate the Withings Index.<br><br><br><b><i>Other sleep datapoints and vitals</i></b><br><br>durationtosleep<br>> Time to sleep (seconds). (deprecated) <br><br>durationtowakeup<br>> Time to wake up (seconds). (deprecated) <br><br>out_of_bed_count<br>> Number of times the user got out of bed during the night. <br><br>hr_average<br>> Average heart rate. (beats per minute).<br><br>hr_min<br>> Minimal heart rate (beats per minute). <br><br>hr_max<br>> Maximal heart rate (beats per minute).. <br><br>rr_average<br>> Average respiration rate (breaths per minute).  <br><br>rr_min<br>> Minimal respiration rate (breaths per minute). <br><br>rr_max<br>> Maximal respiration rate (breaths per minute). <br><br>breathing_quality_assessment<br>> Intensity of <a href='/api-reference/#section/Glossary'>breathing disturbances</a>.<br>Available for all Sleep and Sleep Analyzer devices (wellness metric). <br><br>snoring<br>> Total snoring time (seconds).<br><br>snoringepisodecount<br>> Numbers of snoring episodes of at least one minute.<br><br>sleep_score<br>> Sleep score<br><br>night_events<br>> Summary of sleep events that happened during the sleep activity.\n\nIt is structured as a dictionary, where keys are the type of event, and the value is an array of timestamps relative to the activity startdate.\n\nTypes of events can be one of the following : \n\n<table><thead><tr><td>Value</td><td>Description</td></tr></thead><tbody><tr><td>1</td><td>got in bed</td></tr><tr><td>2</td><td>fell asleep</td></tr><tr><td>3</td><td>woke up</td></tr><tr><td>4</td><td>got out of bed</td></tr><tr><td>5</td><td>start of asleep period that was manually input</td></tr><tr><td>6</td><td>start of awake period that was manually input</td></tr></tbody></table>\n\n<br><br>mvt_score_avg<br>> Track the average movement score in bed throughout the night. The score ranges from 0 to 255, representing the intensity of movement. This metric is only available for Sleep Analyzer devices in the EU and prescription-based devices in the US (Sleep Rx).<br><br>mvt_active_duration<br>> Track the duration (in seconds) of movement in bed. Only available for Sleep Analyzer devices (EU) and devices under prescriptions in the US (Sleep Rx)<br><br>rmssd_start_avg<br>> Heart rate variability - Start average<br><br>rmssd_end_avg<br>> Heart rate variability - End average<br><br>chest_movement_rate_wellness_average<br>> Average respiration rate (breaths per minute).  <br><br>chest_movement_rate_wellness_min<br>> Minimal respiration rate (breaths per minute). <br><br>chest_movement_rate_wellness_max<br>> Maximal respiration rate (breaths per minute). <br><br>breathing_sounds<br>> Total time when breathing sounds were tracked. (seconds) <br><br>breathing_sounds_episode_count<br>> Numbers of breathing sounds episodes of at least one minute. <br><br>chest_movement_rate_average<br>> Average chest movement rate (events per minute). <br><br>chest_movement_rate_min<br>> Minimal chest movement rate (events per minute). <br><br>chest_movement_rate_max<br>> Maximal chest movement rate (events per minute). <br><br>core_body_temperature_min<br>> Minimal core body temperature (in celsius degrees). <br><br>core_body_temperature_max<br>> Maximal core body temperature (in celsius degrees). <br><br>core_body_temperature_avg<br>> Avenage core body temperature (in celsius degrees). <br><br>core_body_temperature_status<br>> Status of the temperature. *(Use 'data_fields' to request this data)* Value can be: 'unknown', 'usual' or 'elevated'.\n <br><br>"
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
        description: 'Used to pass your access token. Must take value: ```Bearer {your access_token}``` Replace {your access_token} with the access_token'
      responses:
        200:
          description: ' (Click to unfold)'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: Response status. See <a href='#section/Response-status'>Status</a> section for details.
                  body:
                    type: object
                    description: Response data.
                    properties:
                      series:
                        type: array
                        items:
                          $ref: '#/components/schemas/sleep_summary_object'
                      more:
                        type: boolean
                        description: To know if there is more data to fetch or not.
                      offset:
                        type: integer
                        description: Offset to use to retrieve the next data.
      x-codeSamples:
      - lang: PHP
        source: "<?php\n\n$ch = curl_init();\n\ncurl_setopt($ch, CURLOPT_URL, \"https://wbsapi.withings.net/v2/sleep \");\n\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);\n\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n\t'Authorization: Bearer YOUR_ACCESS_TOKEN'\n]);\n\ncurl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ \n\t'action' => 'getsummary',\n\t'startdateymd' => '2020-07-01',\n\t'enddateymd' => '2020-07-02'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
      - lang: CURL
        source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=getsummary&startdateymd=2020-07-01&enddateymd=2020-07-02" ''https://wbsapi.withings.net/v2/sleep '''
components:
  schemas:
    sleep_summary_object:
      type: object
      properties:
        id:
          type: integer
          example: 12345
        timezone:
          type: string
          description: Timezone for the date.
          example: Europe/Paris
        model:
          type: integer
          description: The source for sleep data. Value can be 16 for a tracker or 32 for a Sleep Monitor.
          example: 16
        model_id:
          type: integer
          description: '


            | Value | Description|

            |---|---|

            |60 | Aura Dock|

            |61 | Aura Sensor|

            |63 | Aura Sensor V2|

            |51 | Pulse|

            |52 | Activite|

            |53 | Activite (Pop, Steel)|

            |54 | Withings Go|

            |55 | Activite Steel HR|

            |59 | Activite Steel HR Sport Edition|

            |58 | Pulse HR|

            |90 | Move|

            |91 | Move ECG|

            |92 | Move ECG|

            |93 | ScanWatch|

            |94 | ScanWatch 2|

            |95 | ScanWatch Light|

            '
          example: 51
        startdate:
          type: integer
          description: The starting datetime for the sleep state data.
          format: timestamp
          example: 1594245600
        enddate:
          type: integer
          description: The end datetime for the sleep data. A single call can span up to 7 days maximum. To cover a wider time range, you will need to perform multiple calls.
          format: timestamp
          example: 1594257200
        date:
          type: string
          description: Date at which the measure was taken or entered.
          example: '2020-07-09'
        created:
          type: integer
          format: timestamp
          example: 1594257200
        modified:
          type: integer
          description: The timestamp of the last modification.
          format: timestamp
          example: 1594257200
        hash_deviceid:
          type: string
          description: 'ID of device that tracked the data. To retrieve information about this device, refer to : <a href=''/api-reference/#operation/userv2-getdevice''>User v2 - Getdevice</a>.'
          example: 892359876fd8805ac45bab078c4828692f0276b1
        completed:
          type: boolean
          example: true
        data:
          type: object
          description: Details of sleep.
          properties:
            total_timeinbed:
              type: integer
              description: Total time spent in bed (seconds). *(Use 'data_fields' to request this data.)*
            total_sleep_time:
              type: integer
              description: Total time spent asleep. Sum of light, deep and rem durations (seconds). *(Use 'data_fields' to request this data.)*
            asleepduration:
              type: integer
              description: Duration of sleep when night comes from external source (seconds).<br>Light, Deep and Rem sleep durations are null in this case. *(Use 'data_fields' to request this data.)*
            lightsleepduration:
              type: integer
              description: Duration in state light sleep (seconds). *(Use 'data_fields' to request this data.)*
            remsleepduration:
              type: integer
              description: Duration in state REM sleep (seconds). *(Use 'data_fields' to request this data.)*
            deepsleepduration:
              type: integer
              description: Duration in state deep sleep (seconds). *(Use 'data_fields' to request this data.)*
            sleep_efficiency:
              type: number
              description: Ratio of the total sleep time over the time spent in bed. *(Use 'data_fields' to request this data.)*
            sleep_latency:
              type: integer
              description: Time spent in bed before falling asleep (seconds). *(Use 'data_fields' to request this data.)*
            wakeup_latency:
              type: integer
              description: Time spent in bed after waking up (seconds). *(Use 'data_fields' to request this data.)*
            wakeupduration:
              type: integer
              description: Time spent awake (seconds). *(Use 'data_fields' to request this data.)*
            wakeupcount:
              type: integer
              description: Number of times the user woke up while in bed. Does not include the number of times the user got out of bed. *(Use 'data_fields' to request this data.)*
            waso:
              type: integer
              description: Time spent awake in bed after falling asleep for the 1st time during the night (seconds). *(Use 'data_fields' to request this data.)*
            nb_rem_episodes:
              type: integer
              description: Count of the REM sleep phases. *(Use 'data_fields' to request this data.)*
            durationtosleep:
              type: integer
              description: Time to sleep (seconds). (deprecated) *(Use 'data_fields' to request this data.)*
            durationtowakeup:
              type: integer
              description: Time to wake up (seconds). (deprecated) *(Use 'data_fields' to request this data.)*
            out_of_bed_count:
              type: integer
              description: Number of times the user got out of bed during the night. *(Use 'data_fields' to request this data.)*
            hr_average:
              type: integer
              description: Average heart rate. (beats per minute).*(Use 'data_fields' to request this data.)*
            hr_min:
              type: integer
              description: Minimal heart rate (beats per minute). *(Use 'data_fields' to request this data.)*
            hr_max:
              type: integer
              description: Maximal heart rate (beats per minute).. *(Use 'data_fields' to request this data.)*
            rr_average:
              type: integer
              description: Average respiration rate (breaths per minute).  *(Use 'data_fields' to request this data.)*
            rr_min:
              type: integer
              description: Minimal respiration rate (breaths per minute). *(Use 'data_fields' to request this data.)*
            rr_max:
              type: integer
              description: Maximal respiration rate (breaths per minute). *(Use 'data_fields' to request this data.)*
            breathing_quality_assessment:
              type: integer
              description: 'Intensity of <a href=''/api-reference/#section/Glossary''>breathing disturbances</a>.<br>Available for all Sleep and Sleep Analyzer devices (wellness metric). '
            breathing_disturbances_intensity:
              type: integer
              description: 'Intensity of <a href=''/api-reference/#section/Glossary''>breathing disturbances</a>.<br>Available for all Sleep and Sleep Analyzer devices (wellness metric). '
            snoring:
              type: integer
              description: Total snoring time (seconds).
            snoringepisodecount:
              type: integer
              description: Numbers of snoring episodes of at least one minute.
            sleep_score:
              type: integer
              description: Sleep score
            night_events:
              type: array
              description: "Summary of sleep events that happened during the sleep activity.\n\nIt is structured as a dictionary, where keys are the type of event, and the value is an array of timestamps relative to the activity startdate.\n\nTypes of events can be one of the following : \n\n<table><thead><tr><td>Value</td><td>Description</td></tr></thead><tbody><tr><td>1</td><td>got in bed</td></tr><tr><td>2</td><td>fell asleep</td></tr><tr><td>3</td><td>woke up</td></tr><tr><td>4</td><td>got out of bed</td></tr><tr><td>5</td><td>start of asleep period that was manually input</td></tr><tr><td>6</td><td>start of awake period that was manually input</td></tr></tbody></table>\n\n"
            apnea_hypopnea_index:
              type: integer
              description: 'Medical grade AHI. Average number of hypopnea and apnea episodes per hour, that occured during sleep time.<br>Only available for devices purchased in Europe and Australia, with the sleep apnea detection feature activated. '
            mvt_score_avg:
              type: integer
              description: Track the average movement score in bed throughout the night. The score ranges from 0 to 255, representing the intensity of movement. This metric is only available for Sleep Analyzer devices in the EU and prescription-based devices in the US (Sleep Rx).
            mvt_active_duration:
              type: integer
              description: Track the duration (in seconds) of movement in bed. Only available for Sleep Analyzer devices (EU) and devices under prescriptions in the US (Sleep Rx)
            rmssd_start_avg:
       

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/withings/refs/heads/main/openapi/withings-sleep-api-openapi.yml