openapi: 3.1.0
info:
title: Vital Lab Report Parser Aggregate timeseries API
description: Submit existing lab-result PDFs to be parsed and normalized into structured biomarker results. Create lab-report parser jobs and poll for job status and parsed results.
version: 0.4.497
contact:
name: Junction (Vital) Support
url: https://docs.junction.com
servers:
- url: https://api.us.junction.com
x-fern-server-name: Production
- url: https://api.eu.junction.com
x-fern-server-name: ProductionEU
- url: https://api.sandbox.us.junction.com
x-fern-server-name: Sandbox
- url: https://api.sandbox.eu.junction.com
x-fern-server-name: SandboxEU
security:
- apiKeyAuth: []
tags:
- name: timeseries
paths:
/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
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/GroupedWorkoutSwimmingStrokeResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: vitals
x-fern-sdk-method-name: workout_swimming_stroke_grouped
x-fern-availability: generally-available
/v2/timeseries/{user_id}/workout_distance/grouped:
get:
tags:
- timeseries
summary: Workout Distance
operationId: get_workout_distance_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
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/GroupedWorkoutDistanceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: vitals
x-fern-sdk-method-name: workout_distance_grouped
x-fern-availability: generally-available
/v2/timeseries/{user_id}/heart_rate_recovery_one_minute/grouped:
get:
tags:
- timeseries
summary: Heart Rate Recovery One Minute
operationId: get_heart_rate_recovery_one_minute_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
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/GroupedHeartRateRecoveryOneMinuteResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: vitals
x-fern-sdk-method-name: heart_rate_recovery_one_minute_grouped
x-fern-availability: generally-available
/v2/timeseries/{user_id}/waist_circumference/grouped:
get:
tags:
- timeseries
summary: Waist Circumference
operationId: get_waist_circumference_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
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/GroupedWaistCircumferenceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: vitals
x-fern-sdk-method-name: waist_circumference_grouped
x-fern-availability: generally-available
/v2/timeseries/{user_id}/lean_body_mass/grouped:
get:
tags:
- timeseries
summary: Lean Body Mass
operationId: get_lean_body_mass_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
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/GroupedLeanBodyMassResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: vitals
x-fern-sdk-method-name: lean_body_mass_grouped
x-fern-availability: generally-available
/v2/timeseries/{user_id}/body_mass_index/grouped:
get:
tags:
- timeseries
summary: Body Mass Index
operationId: get_body_mass_index_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
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/GroupedBodyMassIndexResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: vitals
x-fern-sdk-method-name: body_mass_index_grouped
x-fern-availability: generally-available
/v2/timeseries/{user_id}/basal_body_temperature/grouped:
get:
tags:
- timeseries
summary: Basal Body Temperature
operationId: get_basal_body_temperature_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
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/GroupedBasalBodyTemperatureResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: vitals
x-fern-sdk-method-name: basal_body_temperature_grouped
x-fern-availability: generally-available
/v2/timeseries/{user_id}/handwashing/grouped:
get:
tags:
- timeseries
summary: Handwashing
operationId: get_handwashing_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
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/GroupedHandwashingResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: vitals
x-fern-sdk-method-name: handwashing_grouped
x-fern-availability: generally-available
/v2/timeseries/{user_id}/daylight_exposure/grouped:
get:
tags:
- timeseries
summary: Daylight Exposure
operationId: get_daylight_exposure_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
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/GroupedDaylightExposureResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: vitals
x-fern-sdk-method-name: daylight_exposure_grouped
x-fern-availability: generally-available
/v2/timeseries/{user_id}/uv_exposure/grouped:
get:
tags:
- timeseries
summary: Uv Exposure
operationId: get_uv_exposure_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
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/GroupedUVExposureResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-fern-sdk-group-name: vitals
x-fern-sdk-method-name: uv_exposure_grouped
x-fern-availability: generally-available
/v2/timeseries/{user_id}/fall/grouped:
get:
tags:
- timeseries
summary: Fall
operationId: get_fall_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.
# --- truncated at 32 KB (378 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vital-io/refs/heads/main/openapi/vital-io-timeseries-api-openapi.yml