List Sleep Periods

oura.list_sleep_periods
ActionBusiness appsconnection required

Calls the Oura API with the connection's credentials.

Read each individual sleep period rather than the daily score: stage durations, efficiency, heart rate and HRV.

Connection

Required
Yes — the node will not save without one
Auth type
Bearer token
Providers
Oura
Secret shape
the Oura access token, or {"access_token": "…"}
Resolved by
config.connection_id, else node.connection_id

Configuration

3 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
start_date
Earliest day to return, as YYYY-MM-DD. Leave empty for Oura's default window.
stringNo—iso8601 format2026-09-01
end_date
Latest day to return, as YYYY-MM-DD. Leave empty for Oura's default window.
stringNo—iso8601 format2026-09-10
next_token
Cursor from a previous call's next_token, to fetch the following page.
stringNo———

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "end_date": "2026-09-10",
  "start_date": "2026-09-01"
}

Output

One shape.

result

FieldTypeExample
data[].id
Unique identifier of the sleep period.
string—
data[].day
The day the sleep period belongs to, as YYYY-MM-DD.
string—
data[].type
The kind of sleep period, e.g. long_sleep or nap.
string—
data[].bedtime_start
When the sleep period began.
string—
data[].bedtime_end
When the sleep period ended.
string—
data[].total_sleep_duration
Total time asleep, in seconds.
number—
data[].time_in_bed
Time spent in bed, in seconds.
number—
data[].awake_time
Time spent awake during the period, in seconds.
number—
data[].deep_sleep_duration
Time in deep sleep, in seconds.
number—
data[].light_sleep_duration
Time in light sleep, in seconds.
number—
data[].rem_sleep_duration
Time in REM sleep, in seconds.
number—
data[].latency
How long it took to fall asleep, in seconds.
number—
data[].efficiency
Sleep efficiency rating in the range 1 to 100.
number—
data[].average_heart_rate
Average heart rate during sleep, in bpm.
number—
data[].lowest_heart_rate
Lowest heart rate during sleep, in bpm.
number—
data[].average_hrv
Average heart-rate variability during sleep.
number—
data[].average_breath
Average breathing rate, in breaths per minute.
number—
data[].restless_periods
How many restless periods there were.
number—
count
How many documents this page carried.
number—
next_token
Cursor for the next page; empty on the last page.
string—
{
  "count": 0,
  "data": [
    {
      "average_breath": 0,
      "average_heart_rate": 0,
      "average_hrv": 0,
      "awake_time": 0,
      "bedtime_end": "",
      "bedtime_start": "",
      "day": "",
      "deep_sleep_duration": 0,
      "efficiency": 0,
      "id": "",
      "latency": 0,
      "light_sleep_duration": 0,
      "lowest_heart_rate": 0,
      "rem_sleep_duration": 0,
      "restless_periods": 0,
      "time_in_bed": 0,
      "total_sleep_duration": 0,
      "type": ""
    }
  ],
  "next_token": ""
}

See List Sleep Periods run in a workflow.

In a technical demo we add the Oura connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.