Vital · Capability
Vital Wearables Data API
Vital Wearables Data API. 95 operations. Self-contained Naftiko capability covering the Wearables Data business surface of the Junction (Vital) health-data platform.
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Vital Wearables Data API
description: Vital Wearables Data API. 95 operations. Self-contained Naftiko capability covering the Wearables Data business
surface of the Junction (Vital) health-data platform.
tags:
- Vital
- Junction
- Wearables Data
created: '2026-05-25'
modified: '2026-05-25'
binds:
- namespace: env
keys:
VITAL_API_KEY: VITAL_API_KEY
capability:
consumes:
- type: http
namespace: wearables
baseUri: https://api.us.junction.com
description: Vital Wearables Data API business capability. Self-contained, no shared references.
resources:
- name: v2-summary-electrocardiogram
path: /v2/summary/electrocardiogram/{user_id}
operations:
- name: get_user_electrocardiogram_v2_summary_electrocardiogram__user_id__get
method: GET
description: Get User Electrocardiogram
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: start_date
in: query
type: string
description: ''
required: true
- name: end_date
in: query
type: string
description: ''
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: v2-summary-sleep-cycle
path: /v2/summary/sleep_cycle/{user_id}
operations:
- name: get_user_sleep_cycle_v2_summary_sleep_cycle__user_id__get
method: GET
description: Get User Sleep Cycle
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: start_date
in: query
type: string
description: ''
required: true
- name: end_date
in: query
type: string
description: ''
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: v2-summary-profile
path: /v2/summary/profile/{user_id}
operations:
- name: get_user_profile_v2_summary_profile__user_id__get
method: GET
description: Get User Profile
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: v2-summary-profile--raw
path: /v2/summary/profile/{user_id}/raw
operations:
- name: get_user_profile_raw_v2_summary_profile__user_id__raw_get
method: GET
description: Get User Profile Raw
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: v2-summary-devices--raw
path: /v2/summary/devices/{user_id}/raw
operations:
- name: get_user_devices_raw_v2_summary_devices__user_id__raw_get
method: GET
description: Get User Devices Raw
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: v2-summary-activity
path: /v2/summary/activity/{user_id}
operations:
- name: get_user_activity_v2_summary_activity__user_id__get
method: GET
description: Get User Activity
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-summary-activity--raw
path: /v2/summary/activity/{user_id}/raw
operations:
- name: get_user_activity_raw_v2_summary_activity__user_id__raw_get
method: GET
description: Get User Activity Raw
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-summary-workouts
path: /v2/summary/workouts/{user_id}
operations:
- name: get_user_workouts_v2_summary_workouts__user_id__get
method: GET
description: Get User Workouts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-summary-workouts--raw
path: /v2/summary/workouts/{user_id}/raw
operations:
- name: get_user_workouts_raw_v2_summary_workouts__user_id__raw_get
method: GET
description: Get User Workouts Raw
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-summary-sleep
path: /v2/summary/sleep/{user_id}
operations:
- name: get_user_sleep_v2_summary_sleep__user_id__get
method: GET
description: Get User Sleep
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-summary-sleep--raw
path: /v2/summary/sleep/{user_id}/raw
operations:
- name: get_user_sleep_raw_v2_summary_sleep__user_id__raw_get
method: GET
description: Get User Sleep Raw
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-summary-body
path: /v2/summary/body/{user_id}
operations:
- name: get_user_body_v2_summary_body__user_id__get
method: GET
description: Get User Body
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-summary-body--raw
path: /v2/summary/body/{user_id}/raw
operations:
- name: get_user_body_raw_v2_summary_body__user_id__raw_get
method: GET
description: Get User Body Raw
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-summary-meal
path: /v2/summary/meal/{user_id}
operations:
- name: get_meals_v2_summary_meal__user_id__get
method: GET
description: Get Meals
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-summary-menstrual-cycle
path: /v2/summary/menstrual_cycle/{user_id}
operations:
- name: get_user_menstrual_cycles_v2_summary_menstrual_cycle__user_id__get
method: GET
description: Get User Menstrual Cycles
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: ''
required: true
- name: end_date
in: query
type: string
description: ''
required: false
- name: v2-timeseries-sleep--stream
path: /v2/timeseries/sleep/{sleep_id}/stream
operations:
- name: get_user_sleep_stream_v2_timeseries_sleep__sleep_id__stream_get
method: GET
description: Get User Sleep Stream
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sleep_id
in: path
type: string
description: The Vital Sleep ID
required: true
- name: v2-timeseries-workouts--stream
path: /v2/timeseries/workouts/{workout_id}/stream
operations:
- name: get_user_workouts_v2_timeseries_workouts__workout_id__stream_get
method: GET
description: Get User Workouts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: workout_id
in: path
type: string
description: The Vital ID for the workout
required: true
- name: v2-timeseries--workout-swimming-stroke-grouped
path: /v2/timeseries/{user_id}/workout_swimming_stroke/grouped
operations:
- name: get_workout_swimming_stroke_grouped
method: GET
description: Workout Swimming Stroke
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: next_cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-timeseries--workout-distance-grouped
path: /v2/timeseries/{user_id}/workout_distance/grouped
operations:
- name: get_workout_distance_grouped
method: GET
description: Workout Distance
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: next_cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-timeseries--heart-rate-recovery-one-minute-grouped
path: /v2/timeseries/{user_id}/heart_rate_recovery_one_minute/grouped
operations:
- name: get_heart_rate_recovery_one_minute_grouped
method: GET
description: Heart Rate Recovery One Minute
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: next_cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-timeseries--waist-circumference-grouped
path: /v2/timeseries/{user_id}/waist_circumference/grouped
operations:
- name: get_waist_circumference_grouped
method: GET
description: Waist Circumference
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: next_cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-timeseries--lean-body-mass-grouped
path: /v2/timeseries/{user_id}/lean_body_mass/grouped
operations:
- name: get_lean_body_mass_grouped
method: GET
description: Lean Body Mass
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: next_cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-timeseries--body-mass-index-grouped
path: /v2/timeseries/{user_id}/body_mass_index/grouped
operations:
- name: get_body_mass_index_grouped
method: GET
description: Body Mass Index
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: next_cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-timeseries--basal-body-temperature-grouped
path: /v2/timeseries/{user_id}/basal_body_temperature/grouped
operations:
- name: get_basal_body_temperature_grouped
method: GET
description: Basal Body Temperature
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: next_cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-timeseries--handwashing-grouped
path: /v2/timeseries/{user_id}/handwashing/grouped
operations:
- name: get_handwashing_grouped
method: GET
description: Handwashing
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: next_cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-timeseries--daylight-exposure-grouped
path: /v2/timeseries/{user_id}/daylight_exposure/grouped
operations:
- name: get_daylight_exposure_grouped
method: GET
description: Daylight Exposure
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: next_cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-timeseries--uv-exposure-grouped
path: /v2/timeseries/{user_id}/uv_exposure/grouped
operations:
- name: get_uv_exposure_grouped
method: GET
description: Uv Exposure
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: next_cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time
will be set to 00:00:00
required: true
- name: end_date
in: query
type: string
description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will
be set to 23:59:59
required: false
- name: v2-timeseries--fall-grouped
path: /v2/timeseries/{user_id}/fall/grouped
operations:
- name: get_fall_grouped
method: GET
description: Fall
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: ''
required: true
- name: cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: next_cursor
in: query
type: string
description: The cursor for fetching the next page, or `null` to fetch the first page.
required: false
- name: provider
in: query
type: string
description: Provider oura/strava etc
required: false
- name: start_date
in: query
type: string
description: Date
# --- truncated at 32 KB (120 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vital-io/refs/heads/main/capabilities/wearables.yaml