Each summary object is uniquely identified by its id.

If multiple events are received at the same id, the last event received replaces all its previous versions.

Properties

event_type
const string
required

Constant: daily.data.activity.created

team_id
string
required
user_id
string
required
client_user_id
string
required
data
ClientFacingActivity
required
user_id
string
required

User id returned by vital create user request. This id should be stored in your database against the user and used for all interactions with the vital api.

id
string
required
date
string
required

[⚠️ Deprecated] Date of the specified record, formatted as ISO8601 datetime string in UTC 00:00. Deprecated in favour of calendar_date.

calendar_date
string
required

Date of the summary in the YYYY-mm-dd format.

calories_total
number | null

Total energy consumption during the day including Basal Metabolic Rate in kilocalories::kilocalories

calories_active
number | null

Energy consumption caused by the physical activity of the day in kilocalories::kilocalories

steps
integer | null

Total number of steps registered during the day::steps

daily_movement
number | null

[⚠️ Deprecated] Deprecated. Daily physical activity as equal meters i.e. amount of walking needed to get the same amount of activity::meters

distance
number | null

Distance traveled during activities throughout the day::meters

low
number | null

Number of minutes during the day with low intensity activity (e.g. household work)::minutes

medium
number | null

Number of minutes during the day with medium intensity activity (e.g. walking)::minutes

high
number | null

Number of minutes during the day with high intensity activity (e.g. running)::minutes

source
ClientFacingSource
required

Source the data has come from.

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
string | 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.

name
string
required

[⚠️ Deprecated] Deprecated. Subject to removal after 1 Jan 2024.

slug
string
required

[⚠️ Deprecated] Deprecated. Use provider instead. Subject to removal after 1 Jan 2024.

logo
string
required

[⚠️ Deprecated] Deprecated. Subject to removal after 1 Jan 2024.

floors_climbed
integer | null

Number of floors climbed by the user::count

time_zone
string | null

[DEPRECATED] The time zone full identifier for the data. Example: ‘Europe/London’.

timezone_offset
integer | null

Timezone offset from UTC as seconds. For example, EEST (Eastern European Summer Time, +3h) is 10800. PST (Pacific Standard Time, -8h) is -28800::seconds

heart_rate
ClientFacingHeartRate | null

Heart rate daily summary.

avg_bpm
number | null

Average heart rate::bpm

min_bpm
number | null

Minimum heart rate::bpm

max_bpm
number | null

Maximum heart rate::bpm

resting_bpm
number | null

Resting heart rate::bpm

Examples

{
  "event_type": "daily.data.activity.created",
  "team_id": "e89cc9fe-e1c0-41bc-a83a-728b8cb1056f",
  "user_id": "fac593ed-f371-4aea-9210-9332f1b19bec",
  "client_user_id": "3Zru4O8cBEiwGTsXgUQGaQ==",
  "data": {
    "date": "2024-04-19T12:47:54+00:00",
    "calendar_date": "2024-04-19",
    "calories_total": 100,
    "calories_active": 2000,
    "steps": 10000,
    "daily_movement": 200,
    "low": 6400,
    "medium": 6400,
    "high": 6000,
    "floors_climbed": 10,
    "timezone_offset": 3600,
    "time_zone": "Europe/London",
    "heart_rate": {
      "avg_bpm": 80,
      "min_bpm": 60,
      "max_bpm": 100,
      "resting_bpm": 60
    },
    "source": {
      "name": "Oura",
      "slug": "oura",
      "logo": "https://logo_url.com"
    },
    "user_id": "35f15333-ad0f-42ae-9f77-ac390f59bd15"
  }
}