Each summary is uniquely identified by its ID ($.id).

Given the same ID, the latest version of a summary you received replaces all its previous versions.

Properties

event_type
const string
required

Constant: daily.data.sleep_cycle.updated

team_id
string
required
user_id
string
required
client_user_id
string
required
data
ClientFacingSleepCycle
required
id
string
required
sleep_id
string
required
session_start
string
required
session_end
string
required
stage_start_offset_second
integer
required
stage_end_offset_second
integer
required
stage_type
VitalSleepStage[]
required

Sleep stage classification: -1: Unknown or unclassified sleep stage; 1: Deep sleep; 2: Light/non-REM sleep; 3: Rapid Eye Movement sleep; 4: Awake period; 5: Manually classified stage.

time_zone
anyOf | null

Any of:

  • string
  • null
source_provider
anyOf
required

Any of:

  • Providers
  • Labs
source_type
string
required
source_app_id
anyOf | null

Any of:

  • string
  • null
user_id
string
required
source
ClientFacingSource
required
provider
string
required

Provider slug. e.g., oura, fitbit, garmin.

type
string | null

The type of the data source (app or device) by which the summary or the timeseries data were recorded. This defaults to unknown when Vital cannot extract or infer that information

app_id
anyOf | null

The identifier of the app which recorded this summary. This is only applicable to multi-source providers like Apple Health and Android Health Connect. Any of:

  • string
  • null
name
string | null
deprecated

Deprecated. Subject to removal after 1 Jan 2024.

slug
string | null
deprecated

Deprecated. Use provider instead. Subject to removal after 1 Jan 2024.

Deprecated. Subject to removal after 1 Jan 2024.