Skip to content

Latest commit

 

History

History
13179 lines (9022 loc) · 157 KB

reference.md

File metadata and controls

13179 lines (9022 loc) · 157 KB

Reference

Link

client.link.token(...)

📝 Description

Endpoint to generate a user link token, to be used throughout the vital link process. The vital link token is a one time use token, that expires after 10 minutes. If you would like vital-link widget to launch with a specific provider, pass in a provider in the body. If you would like to redirect to a custom url after successful or error connection, pass in your own custom redirect_url parameter.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.token(
    user_id="user_id",
)

⚙️ Parameters

user_id: str — 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.

provider: typing.Optional[Providers]

redirect_url: typing.Optional[str]

filter_on_providers: typing.Optional[typing.Sequence[Providers]]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.is_token_valid(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.is_token_valid(
    token="token",
)

⚙️ Parameters

token: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.code_create(...)

📝 Description

Generate a token to invite a user of Vital mobile app to your team

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.code_create(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

expires_at: typing.Optional[dt.datetime] — When the link code should expire. Defaults to server time plus 1 hour.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.start_connect(...)

📝 Description

REQUEST_SOURCE: VITAL-LINK Start link token process

🔌 Usage

from vital import Providers, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.start_connect(
    link_token="link_token",
    provider=Providers.OURA,
)

⚙️ Parameters

link_token: str

provider: Providers

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.token_state(...)

📝 Description

REQUEST_SOURCE: VITAL-LINK Check link token state - can be hit continuously used as heartbeat

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.token_state()

⚙️ Parameters

vital_link_token: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.email_auth(...)

📝 Description

Deprecated. Use POST /v2/link/provider/email/{provider} instead.

🔌 Usage

from vital import AuthType, Providers, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.email_auth(
    email="email",
    provider=Providers.OURA,
    auth_type=AuthType.PASSWORD,
)

⚙️ Parameters

email: str

provider: Providers

auth_type: AuthType

vital_link_token: typing.Optional[str]

region: typing.Optional[Region]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.password_auth(...)

📝 Description

Deprecated. Use POST /v2/link/provider/password/{provider} instead.

🔌 Usage

from vital import AuthType, Providers, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.password_auth(
    username="username",
    password="password",
    provider=Providers.OURA,
    auth_type=AuthType.PASSWORD,
)

⚙️ Parameters

username: str

password: str

provider: Providers

auth_type: AuthType

vital_link_token: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.generate_oauth_link(...)

📝 Description

This endpoint generates an OAuth link for oauth provider

🔌 Usage

from vital import OAuthProviders, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.generate_oauth_link(
    oauth_provider=OAuthProviders.OURA,
)

⚙️ Parameters

oauth_provider: OAuthProviders

vital_link_token: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.connect_password_provider(...)

📝 Description

This connects auth providers that are password based.

🔌 Usage

from vital import PasswordProviders, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.connect_password_provider(
    provider=PasswordProviders.WHOOP,
    username="username",
    password="password",
)

⚙️ Parameters

provider: PasswordProviders

username: str — Username for provider

password: str — Password for provider

vital_link_token: typing.Optional[str]

region: typing.Optional[Region]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.complete_password_provider_mfa(...)

📝 Description

This connects auth providers that are password based.

🔌 Usage

from vital import PasswordProviders, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.complete_password_provider_mfa(
    provider=PasswordProviders.WHOOP,
    mfa_code="mfa_code",
)

⚙️ Parameters

provider: PasswordProviders

mfa_code: str

vital_link_token: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.connect_email_auth_provider(...)

📝 Description

This connects auth providers that are email based.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.connect_email_auth_provider(
    email="email",
)

⚙️ Parameters

email: str

vital_link_token: typing.Optional[str]

email_provider_auth_link_provider: typing.Optional[Providers]

region: typing.Optional[Region]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.get_all_providers(...)

📝 Description

GET List of all available providers given the generated link token.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.get_all_providers()

⚙️ Parameters

vital_link_token: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.connect_manual_provider(...)

🔌 Usage

from vital import ManualProviders, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.connect_manual_provider(
    provider=ManualProviders.BEURER_BLE,
    user_id="user_id",
)

⚙️ Parameters

provider: ManualProviders

user_id: str

provider_id: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.link.connect_demo_provider(...)

📝 Description

POST Connect the given Vital user to a demo provider.

🔌 Usage

from vital import DemoProviders, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.link.connect_demo_provider(
    user_id="user_id",
    provider=DemoProviders.APPLE_HEALTH_KIT,
)

⚙️ Parameters

user_id: str — Vital user ID

provider: DemoProviders — Demo provider. For more information, please check out our docs (https://docs.tryvital.io/wearables/providers/test_data)

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Electrocardiogram

client.electrocardiogram.get(...)

📝 Description

Get electrocardiogram summary for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.electrocardiogram.get(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str

end_date: typing.Optional[str]

provider: typing.Optional[str] — Provider oura/strava etc

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

SleepCycle

client.sleep_cycle.get(...)

📝 Description

Get sleep cycle for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.sleep_cycle.get(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str

end_date: typing.Optional[str]

provider: typing.Optional[str] — Provider oura/strava etc

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Profile

client.profile.get(...)

📝 Description

Get profile for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.profile.get(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

provider: typing.Optional[str] — Provider oura/strava etc

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.profile.get_raw(...)

📝 Description

Get raw profile for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.profile.get_raw(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

provider: typing.Optional[str] — Provider oura/strava etc

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Devices

client.devices.get_raw(...)

📝 Description

Get Devices for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.devices.get_raw(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

provider: typing.Optional[str] — Provider oura/strava etc

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Activity

client.activity.get(...)

📝 Description

Get activity summary for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.activity.get(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.activity.get_raw(...)

📝 Description

Get raw activity summary for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.activity.get_raw(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Workouts

client.workouts.get(...)

📝 Description

Get workout summary for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.workouts.get(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.workouts.get_raw(...)

📝 Description

Get raw workout summary for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.workouts.get_raw(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.workouts.get_by_workout_id(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.workouts.get_by_workout_id(
    workout_id="workout_id",
)

⚙️ Parameters

workout_id: str — The Vital ID for the workout

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Sleep

client.sleep.get(...)

📝 Description

Get sleep summary for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.sleep.get(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.sleep.get_stream(...)

📝 Description

Get sleep stream for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.sleep.get_stream(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.sleep.get_raw(...)

📝 Description

Get raw sleep summary for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.sleep.get_raw(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.sleep.get_stream_by_sleep_id(...)

📝 Description

Get Sleep stream for a user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.sleep.get_stream_by_sleep_id(
    sleep_id="sleep_id",
)

⚙️ Parameters

sleep_id: str — The Vital Sleep ID

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Body

client.body.get(...)

📝 Description

Get Body summary for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.body.get(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.body.get_raw(...)

📝 Description

Get raw Body summary for user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.body.get_raw(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Meal

client.meal.get(...)

📝 Description

Get user's meals

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.meal.get(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

MenstrualCycle

client.menstrual_cycle.get(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.menstrual_cycle.get(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Vitals

client.vitals.heart_rate_alert_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.heart_rate_alert_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.afib_burden_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.afib_burden_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.workout_duration_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.workout_duration_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.vo_2_max_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.vo_2_max_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.stress_level_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.stress_level_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.mindfulness_minutes_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.mindfulness_minutes_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.caffeine_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.caffeine_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.water_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.water_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.steps_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.steps_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.floors_climbed_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.floors_climbed_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.distance_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.distance_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.calories_basal_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.calories_basal_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.calories_active_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.calories_active_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.respiratory_rate_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.respiratory_rate_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.note_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.note_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.insulin_injection_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.insulin_injection_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.ige_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.ige_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.igg_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.igg_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.hypnogram_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.hypnogram_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.hrv_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.hrv_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.heartrate_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.heartrate_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.glucose_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.glucose_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.cholesterol_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.cholesterol_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.carbohydrates_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.carbohydrates_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.body_temperature_delta_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.body_temperature_delta_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.body_temperature_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.body_temperature_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.body_weight_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.body_weight_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.body_fat_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.body_fat_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.blood_oxygen_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.blood_oxygen_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.electrocardiogram_voltage_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.electrocardiogram_voltage_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.blood_pressure_grouped(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.blood_pressure_grouped(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.vo_2_max(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.vo_2_max(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.stress_level(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.stress_level(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.mindfulness_minutes(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.mindfulness_minutes(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.caffeine(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.caffeine(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.water(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.water(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.steps(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.steps(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.floors_climbed(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.floors_climbed(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.distance(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.distance(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.calories_basal(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.calories_basal(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.calories_active(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.calories_active(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.respiratory_rate(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.respiratory_rate(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.ige(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.ige(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.igg(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.igg(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.hypnogram(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.hypnogram(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.hrv(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.hrv(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.heartrate(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.heartrate(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.glucose(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.glucose(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.cholesterol_triglycerides(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.cholesterol_triglycerides(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.cholesterol_total(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.cholesterol_total(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.cholesterol_ldl(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.cholesterol_ldl(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.cholesterol_hdl(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.cholesterol_hdl(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.cholesterol(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.cholesterol(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.body_weight(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.body_weight(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.body_fat(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.body_fat(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.blood_oxygen(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.blood_oxygen(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.electrocardiogram_voltage(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.electrocardiogram_voltage(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.vitals.blood_pressure(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.vitals.blood_pressure(
    user_id="user_id",
    start_date="start_date",
)

⚙️ Parameters

user_id: str

start_date: str — 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

provider: typing.Optional[str] — Provider oura/strava etc

end_date: typing.Optional[str] — 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

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

User

client.user.get_all(...)

📝 Description

GET All users for team.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.get_all()

⚙️ Parameters

offset: typing.Optional[int]

limit: typing.Optional[int]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.create(...)

📝 Description

POST Create a Vital user given a client_user_id and returns the user_id.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.create(
    client_user_id="client_user_id",
)

⚙️ Parameters

client_user_id: str — A unique ID representing the end user. Typically this will be a user ID from your application. Personally identifiable information, such as an email address or phone number, should not be used in the client_user_id.

fallback_time_zone: typing.Optional[str]

Fallback time zone of the user, in the form of a valid IANA tzdatabase identifier (e.g., `Europe/London` or `America/Los_Angeles`).
Used when pulling data from sources that are completely time zone agnostic (e.g., all time is relative to UTC clock, without any time zone attributions on data points).

fallback_birth_date: typing.Optional[str] — Fallback date of birth of the user, in YYYY-mm-dd format. Used for calculating max heartrate for providers that don not provide users' age.

ingestion_start: typing.Optional[str] — Starting bound for user data ingestion. Data older than this date will not be ingested.

ingestion_end: typing.Optional[str] — Ending bound for user data ingestion. Data from this date or later will not be ingested and the connection will be deregistered.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.get_team_metrics()

📝 Description

GET metrics for team.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.get_team_metrics()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.get_user_sign_in_token(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.get_user_sign_in_token(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.get_connected_providers(...)

📝 Description

GET Users connected providers

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.get_connected_providers(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.get(...)

📝 Description

GET User details given the user_id.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.get(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.delete(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.delete(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.patch(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.patch(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

fallback_time_zone: typing.Optional[str]

Fallback time zone of the user, in the form of a valid IANA tzdatabase identifier (e.g., `Europe/London` or `America/Los_Angeles`).
Used when pulling data from sources that are completely time zone agnostic (e.g., all time is relative to UTC clock, without any time zone attributions on data points).

fallback_birth_date: typing.Optional[str] — Fallback date of birth of the user, in YYYY-mm-dd format. Used for calculating max heartrate for providers that don not provide users' age.

ingestion_start: typing.Optional[str] — Starting bound for user data ingestion. Data older than this date will not be ingested.

ingestion_end: typing.Optional[str] — Ending bound for user data ingestion. Data from this date or later will not be ingested and the connection will be deregistered.

client_user_id: typing.Optional[str] — A unique ID representing the end user. Typically this will be a user ID from your application. Personally identifiable information, such as an email address or phone number, should not be used in the client_user_id.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.get_latest_user_info(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.get_latest_user_info(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.create_insurance(...)

🔌 Usage

from vital import (
    Address,
    Gender,
    ResponsibleRelationship,
    Vital,
    VitalCoreSchemasDbSchemasLabTestInsurancePersonDetails,
)

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.create_insurance(
    user_id="user_id",
    payor_code="payor_code",
    member_id="member_id",
    relationship=ResponsibleRelationship.SELF,
    insured=VitalCoreSchemasDbSchemasLabTestInsurancePersonDetails(
        first_name="first_name",
        last_name="last_name",
        gender=Gender.FEMALE,
        address=Address(
            first_line="first_line",
            country="country",
            zip="zip",
            city="city",
            state="state",
        ),
        dob="dob",
        email="email",
        phone_number="phone_number",
    ),
)

⚙️ Parameters

user_id: str

payor_code: str

member_id: str

relationship: ResponsibleRelationship

insured: VitalCoreSchemasDbSchemasLabTestInsurancePersonDetails

group_id: typing.Optional[str]

guarantor: typing.Optional[GuarantorDetails]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.get_latest_insurance(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.get_latest_insurance(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.upsert_user_info(...)

🔌 Usage

from vital import Address, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.upsert_user_info(
    user_id="user_id",
    first_name="first_name",
    last_name="last_name",
    email="email",
    phone_number="phone_number",
    gender="gender",
    dob="dob",
    address=Address(
        first_line="first_line",
        country="country",
        zip="zip",
        city="city",
        state="state",
    ),
)

⚙️ Parameters

user_id: str

first_name: str

last_name: str

email: str

phone_number: str

gender: str

dob: str

address: Address

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.get_by_client_user_id(...)

📝 Description

GET user_id from client_user_id.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.get_by_client_user_id(
    client_user_id="client_user_id",
)

⚙️ Parameters

client_user_id: str — A unique ID representing the end user. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the client_user_id.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.deregister_provider(...)

🔌 Usage

from vital import Providers, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.deregister_provider(
    user_id="user_id",
    provider=Providers.OURA,
)

⚙️ Parameters

user_id: str

provider: Providers — Provider slug. e.g., oura, fitbit, garmin.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.undo_delete(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.undo_delete()

⚙️ Parameters

user_id: typing.Optional[str] — User ID to undo deletion. Mutually exclusive with client_user_id.

client_user_id: typing.Optional[str] — Client User ID to undo deletion. Mutually exclusive with user_id.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.user.refresh(...)

📝 Description

Trigger a manual refresh for a specific user

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.user.refresh(
    user_id="user_id",
)

⚙️ Parameters

user_id: str

timeout: typing.Optional[float]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Team

client.team.get_link_config(...)

📝 Description

Post teams.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.team.get_link_config()

⚙️ Parameters

vital_link_token: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.team.get(...)

📝 Description

Get team.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.team.get(
    team_id="team_id",
)

⚙️ Parameters

team_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.team.get_user_by_id(...)

📝 Description

Search team users by user_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.team.get_user_by_id()

⚙️ Parameters

query_id: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.team.get_svix_url()

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.team.get_svix_url()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.team.get_source_priorities(...)

📝 Description

GET source priorities.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.team.get_source_priorities()

⚙️ Parameters

data_type: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.team.update_source_priorities()

📝 Description

Patch source priorities.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.team.update_source_priorities()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.team.get_physicians(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.team.get_physicians(
    team_id="team_id",
)

⚙️ Parameters

team_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Providers

client.providers.get_all(...)

📝 Description

Get Provider list

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.providers.get_all()

⚙️ Parameters

source_type: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Introspect

client.introspect.get_user_resources(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.introspect.get_user_resources()

⚙️ Parameters

user_id: typing.Optional[str]

provider: typing.Optional[Providers]

user_limit: typing.Optional[int]

cursor: typing.Optional[str]

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.introspect.get_user_historical_pulls(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.introspect.get_user_historical_pulls()

⚙️ Parameters

user_id: typing.Optional[str]

provider: typing.Optional[Providers]

user_limit: typing.Optional[int]

cursor: typing.Optional[str]

next_cursor: typing.Optional[str] — The cursor for fetching the next page, or null to fetch the first page.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

LabTests

client.lab_tests.get()

📝 Description

GET all the lab tests the team has access to.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.create(...)

🔌 Usage

from vital import LabTestCollectionMethod, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.create(
    name="name",
    method=LabTestCollectionMethod.TESTKIT,
    description="description",
)

⚙️ Parameters

name: str

method: LabTestCollectionMethod

description: str

marker_ids: typing.Optional[typing.Sequence[int]]

provider_ids: typing.Optional[typing.Sequence[str]]

fasting: typing.Optional[bool]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_markers(...)

📝 Description

GET all the markers for the given lab.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_markers()

⚙️ Parameters

lab_id: typing.Optional[typing.Union[int, typing.Sequence[int]]] — The identifier Vital assigned to a lab partner.

name: typing.Optional[str] — The name or test code of an individual biomarker or a panel.

a_la_carte_enabled: typing.Optional[bool]

page: typing.Optional[int]

size: typing.Optional[int]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_markers_for_order_set(...)

🔌 Usage

from vital import OrderSetRequest, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_markers_for_order_set(
    request=OrderSetRequest(),
)

⚙️ Parameters

request: OrderSetRequest

page: typing.Optional[int]

size: typing.Optional[int]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_markers_for_lab_test(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_markers_for_lab_test(
    lab_test_id="lab_test_id",
)

⚙️ Parameters

lab_test_id: str

page: typing.Optional[int]

size: typing.Optional[int]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_markers_by_lab_and_provider_id(...)

📝 Description

GET a specific marker for the given lab and provider_id

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_markers_by_lab_and_provider_id(
    provider_id="provider_id",
    lab_id=1,
)

⚙️ Parameters

provider_id: str

lab_id: int

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_labs()

📝 Description

GET all the labs.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_labs()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_by_id(...)

📝 Description

GET all the lab tests the team has access to.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_by_id(
    lab_test_id="lab_test_id",
)

⚙️ Parameters

lab_test_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_phlebotomy_appointment_availability(...)

📝 Description

Return the available time slots to book an appointment with a phlebotomist for the given address and order.

🔌 Usage

from vital import UsAddress, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_phlebotomy_appointment_availability(
    request=UsAddress(
        first_line="first_line",
        city="city",
        state="state",
        zip_code="zip_code",
    ),
)

⚙️ Parameters

request: UsAddress

start_date: typing.Optional[str] — Start date for appointment availability

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.book_phlebotomy_appointment(...)

📝 Description

Book an at-home phlebotomy appointment.

🔌 Usage

from vital import AppointmentBookingRequest, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.book_phlebotomy_appointment(
    order_id="order_id",
    request=AppointmentBookingRequest(
        booking_key="booking_key",
    ),
)

⚙️ Parameters

order_id: str — Your Order ID.

request: AppointmentBookingRequest

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.request_phlebotomy_appointment(...)

📝 Description

Request an at-home phlebotomy appointment.

🔌 Usage

from vital import AppointmentProvider, UsAddress, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.request_phlebotomy_appointment(
    order_id="order_id",
    address=UsAddress(
        first_line="first_line",
        city="city",
        state="state",
        zip_code="zip_code",
    ),
    provider=AppointmentProvider.GETLABS,
)

⚙️ Parameters

order_id: str — Your Order ID.

address: UsAddress — At-home phlebotomy appointment address.

provider: AppointmentProvider

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.reschedule_phlebotomy_appointment(...)

📝 Description

Reschedule a previously booked at-home phlebotomy appointment.

🔌 Usage

from vital import AppointmentRescheduleRequest, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.reschedule_phlebotomy_appointment(
    order_id="order_id",
    request=AppointmentRescheduleRequest(
        booking_key="booking_key",
    ),
)

⚙️ Parameters

order_id: str — Your Order ID.

request: AppointmentRescheduleRequest

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.cancel_phlebotomy_appointment(...)

📝 Description

Cancel a previously booked at-home phlebotomy appointment.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.cancel_phlebotomy_appointment(
    order_id="order_id",
    cancellation_reason_id="cancellation_reason_id",
)

⚙️ Parameters

order_id: str — Your Order ID.

cancellation_reason_id: str

notes: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_phlebotomy_appointment_cancellation_reason()

📝 Description

Get the list of reasons for cancelling an at-home phlebotomy appointment.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_phlebotomy_appointment_cancellation_reason()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_phlebotomy_appointment(...)

📝 Description

Get the appointment associated with an order.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_phlebotomy_appointment(
    order_id="order_id",
)

⚙️ Parameters

order_id: str — Your Order ID.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_area_info(...)

📝 Description

GET information about an area with respect to lab-testing.

Information returned:

  • Whether a given zip code is served by our Phlebotomy network.
  • List of Lab locations in the area.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_area_info(
    zip_code="zip_code",
)

⚙️ Parameters

zip_code: str — Zip code of the area to check

radius: typing.Optional[AllowedRadius] — Radius in which to search in miles

lab: typing.Optional[ClientFacingLabs] — Lab to check for PSCs

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_psc_info(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_psc_info(
    zip_code="zip_code",
    lab_id=1,
)

⚙️ Parameters

zip_code: str — Zip code of the area to check

lab_id: int — Lab ID to check for PSCs

radius: typing.Optional[AllowedRadius] — Radius in which to search. (meters)

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_order_psc_info(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_order_psc_info(
    order_id="order_id",
)

⚙️ Parameters

order_id: str — Your Order ID.

radius: typing.Optional[AllowedRadius] — Radius in which to search in miles

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_result_pdf(...)

📝 Description

This endpoint returns the lab results for the order.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_result_pdf(
    order_id="string",
)

⚙️ Parameters

order_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_result_metadata(...)

📝 Description

Return metadata related to order results, such as lab metadata, provider and sample dates.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_result_metadata(
    order_id="order_id",
)

⚙️ Parameters

order_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_result_raw(...)

📝 Description

Return both metadata and raw json test data

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_result_raw(
    order_id="order_id",
)

⚙️ Parameters

order_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_labels_pdf(...)

📝 Description

This endpoint returns the printed labels for the order.

🔌 Usage

import datetime

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_labels_pdf(
    order_id="string",
    number_of_labels=1,
    collection_date=datetime.datetime.fromisoformat(
        "2024-01-15 09:30:00+00:00",
    ),
)

⚙️ Parameters

order_id: str

collection_date: dt.datetime — Collection date

number_of_labels: typing.Optional[int] — Number of labels to generate

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_psc_appointment_availability(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_psc_appointment_availability()

⚙️ Parameters

start_date: typing.Optional[str] — Start date for appointment availability

site_codes: typing.Optional[typing.Union[str, typing.Sequence[str]]] — List of site codes to fetch availability for

zip_code: typing.Optional[str] — Zip code of the area to check

radius: typing.Optional[AllowedRadius] — Radius in which to search. (meters)

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.book_psc_appointment(...)

🔌 Usage

from vital import AppointmentBookingRequest, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.book_psc_appointment(
    order_id="order_id",
    request=AppointmentBookingRequest(
        booking_key="booking_key",
    ),
)

⚙️ Parameters

order_id: str — Your Order ID.

request: AppointmentBookingRequest

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.reschedule_psc_appointment(...)

🔌 Usage

from vital import AppointmentRescheduleRequest, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.reschedule_psc_appointment(
    order_id="order_id",
    request=AppointmentRescheduleRequest(
        booking_key="booking_key",
    ),
)

⚙️ Parameters

order_id: str — Your Order ID.

request: AppointmentRescheduleRequest

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.cancel_psc_appointment(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.cancel_psc_appointment(
    order_id="order_id",
    cancellation_reason_id="cancellationReasonId",
)

⚙️ Parameters

order_id: str — Your Order ID.

cancellation_reason_id: str

note: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_psc_appointment_cancellation_reason()

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_psc_appointment_cancellation_reason()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_psc_appointment(...)

📝 Description

Get the appointment associated with an order.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_psc_appointment(
    order_id="order_id",
)

⚙️ Parameters

order_id: str — Your Order ID.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_order_requistion_pdf(...)

📝 Description

GET requisition pdf for an order

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_order_requistion_pdf(
    order_id="string",
)

⚙️ Parameters

order_id: str — Your Order ID.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_order(...)

📝 Description

GET individual order by ID.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_order(
    order_id="order_id",
)

⚙️ Parameters

order_id: str — Your Order ID.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.create_order(...)

📝 Description

POST create new order

🔌 Usage

import datetime

from vital import (
    Gender,
    PatientAddressWithValidation,
    PatientDetailsWithValidation,
    Vital,
)

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.create_order(
    user_id="user_id",
    patient_details=PatientDetailsWithValidation(
        first_name="first_name",
        last_name="last_name",
        dob=datetime.datetime.fromisoformat(
            "2024-01-15 09:30:00+00:00",
        ),
        gender=Gender.FEMALE,
        phone_number="phone_number",
        email="email",
    ),
    patient_address=PatientAddressWithValidation(
        first_line="first_line",
        city="city",
        state="state",
        zip="zip",
        country="country",
    ),
)

⚙️ Parameters

user_id: str

patient_details: PatientDetailsWithValidation

patient_address: PatientAddressWithValidation

lab_test_id: typing.Optional[str]

order_set: typing.Optional[OrderSetRequest]

collection_method: typing.Optional[LabTestCollectionMethod]

physician: typing.Optional[PhysicianCreateRequest]

health_insurance: typing.Optional[HealthInsuranceCreateRequest]

priority: typing.Optional[bool] — Defines whether order is priority or not. For some labs, this refers to a STAT order.

billing_type: typing.Optional[Billing]

icd_codes: typing.Optional[typing.Sequence[str]]

consents: typing.Optional[typing.Sequence[Consent]]

activate_by: typing.Optional[str] — Schedule an Order to be processed in a future date.

aoe_answers: typing.Optional[typing.Sequence[AoEAnswer]]

passthrough: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.cancel_order(...)

📝 Description

POST cancel order

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.cancel_order(
    order_id="order_id",
)

⚙️ Parameters

order_id: str — Your Order ID.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.simulate_order_process(...)

📝 Description

Get available test kits.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.simulate_order_process(
    order_id="order_id",
)

⚙️ Parameters

order_id: str

final_status: typing.Optional[OrderStatus]

delay: typing.Optional[int]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.lab_tests.get_orders(...)

📝 Description

GET many orders with filters.

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.lab_tests.get_orders()

⚙️ Parameters

search_input: typing.Optional[str] — Search by order id, user id, patient name, shipping dob, or shipping recipient name.

start_date: typing.Optional[dt.datetime] — 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

end_date: typing.Optional[dt.datetime] — 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

updated_start_date: typing.Optional[dt.datetime] — 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

updated_end_date: typing.Optional[dt.datetime] — Date to 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

order_key: typing.Optional[LabTestsGetOrdersRequestOrderKey]

order_direction: typing.Optional[LabTestsGetOrdersRequestOrderDirection]

user_id: typing.Optional[str] — Filter by user ID.

patient_name: typing.Optional[str] — Filter by patient name.

shipping_recipient_name: typing.Optional[str] — Filter by shipping recipient name.

order_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] — Filter by order ids.

page: typing.Optional[int]

size: typing.Optional[int]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Testkit

client.testkit.register(...)

🔌 Usage

import datetime

from vital import Gender, PatientAddressCompatible, PatientDetails, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.testkit.register(
    user_id="user_id",
    sample_id="sample_id",
    patient_details=PatientDetails(
        first_name="first_name",
        last_name="last_name",
        dob=datetime.datetime.fromisoformat(
            "2024-01-15 09:30:00+00:00",
        ),
        gender=Gender.FEMALE,
        phone_number="phone_number",
        email="email",
    ),
    patient_address=PatientAddressCompatible(
        first_line="first_line",
        city="city",
        state="state",
        zip="zip",
        country="country",
    ),
)

⚙️ Parameters

user_id: str

sample_id: str

patient_details: PatientDetails

patient_address: PatientAddressCompatible

physician: typing.Optional[PhysicianCreateRequestBase]

health_insurance: typing.Optional[HealthInsuranceCreateRequest]

consents: typing.Optional[typing.Sequence[Consent]]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.testkit.create_order(...)

📝 Description

Creates an order for an unregistered testkit

🔌 Usage

from vital import ShippingAddress, Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.testkit.create_order(
    user_id="user_id",
    lab_test_id="lab_test_id",
    shipping_details=ShippingAddress(
        receiver_name="receiver_name",
        first_line="first_line",
        city="city",
        state="state",
        zip="zip",
        country="country",
        phone_number="phone_number",
    ),
)

⚙️ Parameters

user_id: str

lab_test_id: str

shipping_details: ShippingAddress

passthrough: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Insurance

client.insurance.search_get_payor_info(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.insurance.search_get_payor_info()

⚙️ Parameters

insurance_name: typing.Optional[str]

provider: typing.Optional[PayorCodeExternalProvider]

provider_payor_id: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.insurance.search_payor_info(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.insurance.search_payor_info()

⚙️ Parameters

insurance_name: typing.Optional[str]

provider: typing.Optional[PayorCodeExternalProvider]

provider_id: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.insurance.search_diagnosis(...)

🔌 Usage

from vital import Vital

client = Vital(
    api_key="YOUR_API_KEY",
)
client.insurance.search_diagnosis(
    diagnosis_query="diagnosis_query",
)

⚙️ Parameters

diagnosis_query: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Aggregate

client.aggregate.query_one(...)

🔌 Usage

from vital import (
    AggregateExpr,
    AggregateExprFunc,
    Period,
    PeriodUnit,
    Query,
    RelativeTimeframe,
    SleepColumnExpr,
    SleepColumnExprSleep,
    Vital,
)

client = Vital(
    api_key="YOUR_API_KEY",
)
client.aggregate.query_one(
    user_id="user_id",
    timeframe=RelativeTimeframe(
        anchor="anchor",
        past=Period(
            unit=PeriodUnit.MINUTE,
        ),
    ),
    queries=[
        Query(
            select=[
                AggregateExpr(
                    arg=SleepColumnExpr(
                        sleep=SleepColumnExprSleep.SESSION_START,
                    ),
                    func=AggregateExprFunc.MEAN,
                )
            ],
        )
    ],
)

⚙️ Parameters

user_id: str

timeframe: QueryBatchTimeframe

queries: typing.Sequence[Query]

config: typing.Optional[QueryConfig]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.