openapi: 3.1.0
info:
title: Vital Wearables Data API
description: 'Read normalized wearable device data: daily summaries (sleep, activity, body, workouts, menstrual cycle, profile)
and per-sample timeseries (heart rate, HRV, blood pressure, glucose, SpO2, ECG, temperature, steps, calories, distance,
sleep stream, workout stream, and more) across 300+ supported devices.'
version: 0.4.497
contact:
name: Junction (Vital) Support
url: https://docs.junction.com
paths:
/v2/summary/electrocardiogram/{user_id}:
get:
tags:
- summary
summary: Get User Electrocardiogram
description: Get electrocardiogram summary for user_id
operationId: get_user_electrocardiogram_v2_summary_electrocardiogram__user_id__get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: start_date
in: query
required: true
schema:
type: string
format: date
description: Start date in YYYY-MM-DD
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date
- type: 'null'
description: End date (inclusive) in YYYY-MM-DD
title: End Date
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ClientFacingElectrocardiogramResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: electrocardiogram
x-fern-sdk-method-name: get
/v2/summary/sleep_cycle/{user_id}:
get:
tags:
- summary
summary: Get User Sleep Cycle
description: Get sleep cycle for user_id
operationId: get_user_sleep_cycle_v2_summary_sleep_cycle__user_id__get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: start_date
in: query
required: true
schema:
type: string
format: date
description: Start date in YYYY-MM-DD
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date
- type: 'null'
description: End date (inclusive) in YYYY-MM-DD
title: End Date
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ClientSleepCycleResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: sleep_cycle
x-fern-sdk-method-name: get
/v2/summary/profile/{user_id}:
get:
tags:
- summary
summary: Get User Profile
description: Get profile for user_id
operationId: get_user_profile_v2_summary_profile__user_id__get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ClientFacingProfile'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: profile
x-fern-sdk-method-name: get
/v2/summary/profile/{user_id}/raw:
get:
tags:
- summary
summary: Get User Profile Raw
description: Get raw profile for user_id
operationId: get_user_profile_raw_v2_summary_profile__user_id__raw_get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RawProfile'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: profile
x-fern-sdk-method-name: get_raw
/v2/summary/devices/{user_id}/raw:
get:
tags:
- summary
summary: Get User Devices Raw
description: Get Devices for user_id
operationId: get_user_devices_raw_v2_summary_devices__user_id__raw_get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RawDevicesResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: devices
x-fern-sdk-method-name: get_raw
/v2/summary/activity/{user_id}:
get:
tags:
- summary
summary: Get User Activity
description: Get activity summary for user_id
operationId: get_user_activity_v2_summary_activity__user_id__get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
- name: start_date
in: query
required: true
schema:
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
title: Start Date
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
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
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
title: End Date
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
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ClientActivityResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: activity
x-fern-sdk-method-name: get
/v2/summary/activity/{user_id}/raw:
get:
tags:
- summary
summary: Get User Activity Raw
description: Get raw activity summary for user_id
operationId: get_user_activity_raw_v2_summary_activity__user_id__raw_get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
- name: start_date
in: query
required: true
schema:
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
title: Start Date
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
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
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
title: End Date
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
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RawActivityResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: activity
x-fern-sdk-method-name: get_raw
/v2/summary/workouts/{user_id}:
get:
tags:
- summary
summary: Get User Workouts
description: Get workout summary for user_id
operationId: get_user_workouts_v2_summary_workouts__user_id__get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
- name: start_date
in: query
required: true
schema:
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
title: Start Date
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
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
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
title: End Date
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
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ClientWorkoutResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: workouts
x-fern-sdk-method-name: get
/v2/summary/workouts/{user_id}/raw:
get:
tags:
- summary
summary: Get User Workouts Raw
description: Get raw workout summary for user_id
operationId: get_user_workouts_raw_v2_summary_workouts__user_id__raw_get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
- name: start_date
in: query
required: true
schema:
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
title: Start Date
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
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
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
title: End Date
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
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RawWorkoutResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: workouts
x-fern-sdk-method-name: get_raw
/v2/summary/sleep/{user_id}:
get:
tags:
- summary
summary: Get User Sleep
description: Get sleep summary for user_id
operationId: get_user_sleep_v2_summary_sleep__user_id__get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
- name: start_date
in: query
required: true
schema:
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
title: Start Date
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
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
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
title: End Date
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
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ClientSleepResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: sleep
x-fern-sdk-method-name: get
/v2/summary/sleep/{user_id}/raw:
get:
tags:
- summary
summary: Get User Sleep Raw
description: Get raw sleep summary for user_id
operationId: get_user_sleep_raw_v2_summary_sleep__user_id__raw_get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
- name: start_date
in: query
required: true
schema:
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
title: Start Date
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
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
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
title: End Date
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
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RawSleepResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: sleep
x-fern-sdk-method-name: get_raw
/v2/summary/body/{user_id}:
get:
tags:
- summary
summary: Get User Body
description: Get Body summary for user_id
operationId: get_user_body_v2_summary_body__user_id__get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
- name: start_date
in: query
required: true
schema:
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
title: Start Date
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
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
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
title: End Date
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
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ClientBodyResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: body
x-fern-sdk-method-name: get
/v2/summary/body/{user_id}/raw:
get:
tags:
- summary
summary: Get User Body Raw
description: Get raw Body summary for user_id
operationId: get_user_body_raw_v2_summary_body__user_id__raw_get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
- name: start_date
in: query
required: true
schema:
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
title: Start Date
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
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
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
title: End Date
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
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RawBodyResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: body
x-fern-sdk-method-name: get_raw
/v2/summary/meal/{user_id}:
get:
tags:
- summary
summary: Get Meals
description: Get user's meals
operationId: get_meals_v2_summary_meal__user_id__get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
- name: start_date
in: query
required: true
schema:
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
title: Start Date
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
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
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
title: End Date
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
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ClientFacingMealResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: meal
x-fern-sdk-method-name: get
/v2/summary/menstrual_cycle/{user_id}:
get:
tags:
- summary
summary: Get User Menstrual Cycles
operationId: get_user_menstrual_cycles_v2_summary_menstrual_cycle__user_id__get
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: provider
in: query
required: false
schema:
type: string
description: Provider oura/strava etc
default: ''
title: Provider
description: Provider oura/strava etc
- name: start_date
in: query
required: true
schema:
type: string
format: date
description: Start date in YYYY-MM-DD
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date
- type: 'null'
description: End date (inclusive) in YYYY-MM-DD
title: End Date
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/MenstrualCycleResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: menstrual_cycle
x-fern-sdk-method-name: get
/v2/timeseries/sleep/{sleep_id}/stream:
get:
tags:
- timeseries
summary: Get User Sleep Stream
description: Get Sleep stream for a user_id
operationId: get_user_sleep_stream_v2_timeseries_sleep__sleep_id__stream_get
parameters:
- name: sleep_id
in: path
required: true
schema:
type: string
format: uuid
description: The Vital Sleep ID
title: Sleep Id
description: The Vital Sleep ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ClientFacingSleepStream'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: sleep
x-fern-sdk-method-name: get_stream_by_sleep_id
x-fern-availability: deprecated
/v2/timeseries/workouts/{workout_id}/stream:
get:
tags:
- timeseries
summary: Get User Workouts
operationId: get_user_workouts_v2_timeseries_workouts__workout_id__stream_get
parameters:
- name: workout_id
in: path
required: true
schema:
type: string
format: uuid
description: The Vital ID for the workout
title: Workout Id
description: The Vital ID for the workout
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ClientFacingStream'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: workouts
x-fern-sdk-method-name: get_by_workout_id
/v2/timeseries/{user_id}/workout_swimming_stroke/grouped:
get:
tags:
- timeseries
summary: Workout Swimming Stroke
operationId: get_workout_swimming_stroke_grouped
parameters:
- name: user_id
in: path
required: true
schema:
type: string
format: uuid
title: User id returned by vital create user id request. This id should be stored in your database against the user
and used for all interactions with the vital api.
- name: cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The cursor for fetching the next page, or `null` to fetch the first page.
deprecated: true
title: Cursor
description: The cursor for fetching the next page, or `null` to fetch the first page.
deprecated: true
- name: next_cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The cursor for fetching the next page, or `null` to fetch the first page.
title: Next Cursor
description: The cursor for fetching the next page, or `null` to fetch the first page.
- name: provider
in: query
required: false
schema:
type: string
# --- truncated at 32 KB (917 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vital-io/refs/heads/main/openapi/vital-wearables-api-openapi.yml