Vital timeseries API

The timeseries API from Vital — 80 operation(s) for timeseries.

Operations 80

GET /v2/timeseries/sleep/{sleep_id}/stream Get User Sleep Stream #
GET /v2/timeseries/workouts/{workout_id}/stream Get User Workouts #
GET /v2/timeseries/{user_id}/workout_swimming_stroke/grouped Workout Swimming Stroke #
GET /v2/timeseries/{user_id}/workout_distance/grouped Workout Distance #
GET /v2/timeseries/{user_id}/heart_rate_recovery_one_minute/grouped Heart Rate Recovery One Minute #
GET /v2/timeseries/{user_id}/waist_circumference/grouped Waist Circumference #
GET /v2/timeseries/{user_id}/lean_body_mass/grouped Lean Body Mass #
GET /v2/timeseries/{user_id}/body_mass_index/grouped Body Mass Index #
GET /v2/timeseries/{user_id}/basal_body_temperature/grouped Basal Body Temperature #
GET /v2/timeseries/{user_id}/handwashing/grouped Handwashing #
GET /v2/timeseries/{user_id}/daylight_exposure/grouped Daylight Exposure #
GET /v2/timeseries/{user_id}/uv_exposure/grouped Uv Exposure #
GET /v2/timeseries/{user_id}/fall/grouped Fall #
GET /v2/timeseries/{user_id}/inhaler_usage/grouped Inhaler Usage #
GET /v2/timeseries/{user_id}/peak_expiratory_flow_rate/grouped Peak Expiratory Flow Rate #
GET /v2/timeseries/{user_id}/forced_vital_capacity/grouped Forced Vital Capacity #
GET /v2/timeseries/{user_id}/forced_expiratory_volume_1/grouped Forced Expiratory Volume 1 #
GET /v2/timeseries/{user_id}/wheelchair_push/grouped Wheelchair Push #
GET /v2/timeseries/{user_id}/sleep_breathing_disturbance/grouped Sleep Breathing Disturbance #
GET /v2/timeseries/{user_id}/sleep_apnea_alert/grouped Sleep Apnea Alert #
GET /v2/timeseries/{user_id}/stand_duration/grouped Stand Duration #
GET /v2/timeseries/{user_id}/stand_hour/grouped Stand Hour #
GET /v2/timeseries/{user_id}/heart_rate_alert/grouped Heart Rate Alert #
GET /v2/timeseries/{user_id}/afib_burden/grouped Afib Burden #
GET /v2/timeseries/{user_id}/workout_duration/grouped Workout Duration #
GET /v2/timeseries/{user_id}/vo2_max/grouped Vo2 Max #
GET /v2/timeseries/{user_id}/stress_level/grouped Stress Level #
GET /v2/timeseries/{user_id}/mindfulness_minutes/grouped Mindfulness Minutes #
GET /v2/timeseries/{user_id}/caffeine/grouped Caffeine #
GET /v2/timeseries/{user_id}/water/grouped Water #
GET /v2/timeseries/{user_id}/steps/grouped Steps #
GET /v2/timeseries/{user_id}/floors_climbed/grouped Floors Climbed #
GET /v2/timeseries/{user_id}/distance/grouped Distance #
GET /v2/timeseries/{user_id}/calories_basal/grouped Calories Basal #
GET /v2/timeseries/{user_id}/calories_active/grouped Calories Active #
GET /v2/timeseries/{user_id}/respiratory_rate/grouped Respiratory Rate #
GET /v2/timeseries/{user_id}/note/grouped Note #
GET /v2/timeseries/{user_id}/insulin_injection/grouped Insulin Injection #
GET /v2/timeseries/{user_id}/ige/grouped Ige #
GET /v2/timeseries/{user_id}/igg/grouped Igg #
GET /v2/timeseries/{user_id}/hypnogram/grouped Hypnogram #
GET /v2/timeseries/{user_id}/hrv/grouped Heart Rate Variability #
GET /v2/timeseries/{user_id}/heartrate/grouped Heart Rate #
GET /v2/timeseries/{user_id}/glucose/grouped Glucose #
GET /v2/timeseries/{user_id}/cholesterol/grouped Cholesterol #
GET /v2/timeseries/{user_id}/carbohydrates/grouped Carbohydrates #
GET /v2/timeseries/{user_id}/body_temperature_delta/grouped Body Temperature Delta #
GET /v2/timeseries/{user_id}/body_temperature/grouped Body Temperature #
GET /v2/timeseries/{user_id}/body_weight/grouped Body Weight #
GET /v2/timeseries/{user_id}/body_fat/grouped Body Fat #
GET /v2/timeseries/{user_id}/blood_oxygen/grouped Blood Oxygen #
GET /v2/timeseries/{user_id}/electrocardiogram_voltage/grouped Electrocardiogram Voltage #
GET /v2/timeseries/{user_id}/blood_pressure/grouped Blood Pressure #
GET /v2/timeseries/{user_id}/vo2_max Vo2 Max #
GET /v2/timeseries/{user_id}/stress_level Stress Level #
GET /v2/timeseries/{user_id}/mindfulness_minutes Mindfulness Minutes #
GET /v2/timeseries/{user_id}/caffeine Caffeine #
GET /v2/timeseries/{user_id}/water Water #
GET /v2/timeseries/{user_id}/steps Steps #
GET /v2/timeseries/{user_id}/floors_climbed Floors Climbed #
GET /v2/timeseries/{user_id}/distance Distance #
GET /v2/timeseries/{user_id}/calories_basal Calories Basal #
GET /v2/timeseries/{user_id}/calories_active Calories Active #
GET /v2/timeseries/{user_id}/respiratory_rate Respiratory Rate #
GET /v2/timeseries/{user_id}/ige Ige #
GET /v2/timeseries/{user_id}/igg Igg #
GET /v2/timeseries/{user_id}/hypnogram Hypnogram #
GET /v2/timeseries/{user_id}/hrv Heart Rate Variability #
GET /v2/timeseries/{user_id}/heartrate Heart Rate #
GET /v2/timeseries/{user_id}/glucose Glucose #
GET /v2/timeseries/{user_id}/cholesterol/triglycerides Cholesterol/Triglycerides #
GET /v2/timeseries/{user_id}/cholesterol/total Cholesterol/Total #
GET /v2/timeseries/{user_id}/cholesterol/ldl Cholesterol/Ldl #
GET /v2/timeseries/{user_id}/cholesterol/hdl Cholesterol/Hdl #
GET /v2/timeseries/{user_id}/cholesterol Cholesterol #
GET /v2/timeseries/{user_id}/body_weight Body Weight #
GET /v2/timeseries/{user_id}/body_fat Body Fat #
GET /v2/timeseries/{user_id}/blood_oxygen Blood Oxygen #
GET /v2/timeseries/{user_id}/electrocardiogram_voltage Electrocardiogram Voltage #
GET /v2/timeseries/{user_id}/blood_pressure Blood Pressure #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vital-io-timeseries-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vital-io-timeseries-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vital Io Timeseries API
  version: 0.4.497
  description: 'Operations tagged timeseries across 9 of this provider''s published API definitions: vital-lab-report-parser-api-openapi.yml, vital-lab-testing-api-openapi.yml, vital-link-api-openapi.yml, vital-openapi-original.json, vital-openapi-original.yml, vital-sense-api-openapi.yml, vital-team-api-openapi.yml, vital-users-api-openapi.yml, vital-wearables-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.us.junction.com
  x-fern-server-name: Production
- url: https://api.eu.junction.com
  x-fern-server-name: ProductionEU
- url: https://api.sandbox.us.junction.com
  x-fern-server-name: Sandbox
- url: https://api.sandbox.eu.junction.com
  x-fern-server-name: SandboxEU
security:
- apiKeyAuth: []
tags:
- name: timeseries
paths:
  /v2/timeseries/sleep/{sleep_id}/stream:
    get:
      tags:
      - timeseries
      summary: Get User Sleep Stream
      description: Get Sleep stream for a user_id
      operationId: get_user_sleep_stream_v2_timeseries_sleep__sleep_id__stream_get
      parameters:
      - name: sleep_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The Vital Sleep ID
          title: Sleep Id
        description: The Vital Sleep ID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientFacingSleepStream'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: sleep
      x-fern-sdk-method-name: get_stream_by_sleep_id
      x-fern-availability: deprecated
    servers:
    - url: https://api.us.junction.com
      x-fern-server-name: Production
    - url: https://api.eu.junction.com
      x-fern-server-name: ProductionEU
    - url: https://api.sandbox.us.junction.com
      x-fern-server-name: Sandbox
    - url: https://api.sandbox.eu.junction.com
      x-fern-server-name: SandboxEU
  /v2/timeseries/workouts/{workout_id}/stream:
    get:
      tags:
      - timeseries
      summary: Get User Workouts
      operationId: get_user_workouts_v2_timeseries_workouts__workout_id__stream_get
      parameters:
      - name: workout_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The Vital ID for the workout
          title: Workout Id
        description: The Vital ID for the workout
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientFacingStream'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: workouts
      x-fern-sdk-method-name: get_by_workout_id
    servers:
    - url: https://api.us.junction.com
      x-fern-server-name: Production
    - url: https://api.eu.junction.com
      x-fern-server-name: ProductionEU
    - url: https://api.sandbox.us.junction.com
      x-fern-server-name: Sandbox
    - url: https://api.sandbox.eu.junction.com
      x-fern-server-name: SandboxEU
  /v2/timeseries/{user_id}/workout_swimming_stroke/grouped:
    get:
      tags:
      - timeseries
      summary: Workout Swimming Stroke
      operationId: get_workout_swimming_stroke_grouped
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          deprecated: true
          title: Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
        deprecated: true
      - name: next_cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          title: Next Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
      - name: provider
        in: query
        required: false
        schema:
          type: string
          description: Provider oura/strava etc
          default: ''
          title: Provider
        description: Provider oura/strava etc
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
          title: Start Date
        description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
          title: End Date
        description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupedWorkoutSwimmingStrokeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: vitals
      x-fern-sdk-method-name: workout_swimming_stroke_grouped
      x-fern-availability: generally-available
    servers:
    - url: https://api.us.junction.com
      x-fern-server-name: Production
    - url: https://api.eu.junction.com
      x-fern-server-name: ProductionEU
    - url: https://api.sandbox.us.junction.com
      x-fern-server-name: Sandbox
    - url: https://api.sandbox.eu.junction.com
      x-fern-server-name: SandboxEU
  /v2/timeseries/{user_id}/workout_distance/grouped:
    get:
      tags:
      - timeseries
      summary: Workout Distance
      operationId: get_workout_distance_grouped
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          deprecated: true
          title: Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
        deprecated: true
      - name: next_cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          title: Next Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
      - name: provider
        in: query
        required: false
        schema:
          type: string
          description: Provider oura/strava etc
          default: ''
          title: Provider
        description: Provider oura/strava etc
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
          title: Start Date
        description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
          title: End Date
        description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupedWorkoutDistanceResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: vitals
      x-fern-sdk-method-name: workout_distance_grouped
      x-fern-availability: generally-available
    servers:
    - url: https://api.us.junction.com
      x-fern-server-name: Production
    - url: https://api.eu.junction.com
      x-fern-server-name: ProductionEU
    - url: https://api.sandbox.us.junction.com
      x-fern-server-name: Sandbox
    - url: https://api.sandbox.eu.junction.com
      x-fern-server-name: SandboxEU
  /v2/timeseries/{user_id}/heart_rate_recovery_one_minute/grouped:
    get:
      tags:
      - timeseries
      summary: Heart Rate Recovery One Minute
      operationId: get_heart_rate_recovery_one_minute_grouped
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          deprecated: true
          title: Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
        deprecated: true
      - name: next_cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          title: Next Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
      - name: provider
        in: query
        required: false
        schema:
          type: string
          description: Provider oura/strava etc
          default: ''
          title: Provider
        description: Provider oura/strava etc
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
          title: Start Date
        description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
          title: End Date
        description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupedHeartRateRecoveryOneMinuteResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: vitals
      x-fern-sdk-method-name: heart_rate_recovery_one_minute_grouped
      x-fern-availability: generally-available
    servers:
    - url: https://api.us.junction.com
      x-fern-server-name: Production
    - url: https://api.eu.junction.com
      x-fern-server-name: ProductionEU
    - url: https://api.sandbox.us.junction.com
      x-fern-server-name: Sandbox
    - url: https://api.sandbox.eu.junction.com
      x-fern-server-name: SandboxEU
  /v2/timeseries/{user_id}/waist_circumference/grouped:
    get:
      tags:
      - timeseries
      summary: Waist Circumference
      operationId: get_waist_circumference_grouped
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          deprecated: true
          title: Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
        deprecated: true
      - name: next_cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          title: Next Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
      - name: provider
        in: query
        required: false
        schema:
          type: string
          description: Provider oura/strava etc
          default: ''
          title: Provider
        description: Provider oura/strava etc
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
          title: Start Date
        description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
          title: End Date
        description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupedWaistCircumferenceResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: vitals
      x-fern-sdk-method-name: waist_circumference_grouped
      x-fern-availability: generally-available
    servers:
    - url: https://api.us.junction.com
      x-fern-server-name: Production
    - url: https://api.eu.junction.com
      x-fern-server-name: ProductionEU
    - url: https://api.sandbox.us.junction.com
      x-fern-server-name: Sandbox
    - url: https://api.sandbox.eu.junction.com
      x-fern-server-name: SandboxEU
  /v2/timeseries/{user_id}/lean_body_mass/grouped:
    get:
      tags:
      - timeseries
      summary: Lean Body Mass
      operationId: get_lean_body_mass_grouped
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          deprecated: true
          title: Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
        deprecated: true
      - name: next_cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          title: Next Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
      - name: provider
        in: query
        required: false
        schema:
          type: string
          description: Provider oura/strava etc
          default: ''
          title: Provider
        description: Provider oura/strava etc
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
          title: Start Date
        description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
          title: End Date
        description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupedLeanBodyMassResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: vitals
      x-fern-sdk-method-name: lean_body_mass_grouped
      x-fern-availability: generally-available
    servers:
    - url: https://api.us.junction.com
      x-fern-server-name: Production
    - url: https://api.eu.junction.com
      x-fern-server-name: ProductionEU
    - url: https://api.sandbox.us.junction.com
      x-fern-server-name: Sandbox
    - url: https://api.sandbox.eu.junction.com
      x-fern-server-name: SandboxEU
  /v2/timeseries/{user_id}/body_mass_index/grouped:
    get:
      tags:
      - timeseries
      summary: Body Mass Index
      operationId: get_body_mass_index_grouped
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          deprecated: true
          title: Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
        deprecated: true
      - name: next_cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          title: Next Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
      - name: provider
        in: query
        required: false
        schema:
          type: string
          description: Provider oura/strava etc
          default: ''
          title: Provider
        description: Provider oura/strava etc
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
          title: Start Date
        description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
          title: End Date
        description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupedBodyMassIndexResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: vitals
      x-fern-sdk-method-name: body_mass_index_grouped
      x-fern-availability: generally-available
    servers:
    - url: https://api.us.junction.com
      x-fern-server-name: Production
    - url: https://api.eu.junction.com
      x-fern-server-name: ProductionEU
    - url: https://api.sandbox.us.junction.com
      x-fern-server-name: Sandbox
    - url: https://api.sandbox.eu.junction.com
      x-fern-server-name: SandboxEU
  /v2/timeseries/{user_id}/basal_body_temperature/grouped:
    get:
      tags:
      - timeseries
      summary: Basal Body Temperature
      operationId: get_basal_body_temperature_grouped
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          deprecated: true
          title: Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
        deprecated: true
      - name: next_cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          title: Next Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
      - name: provider
        in: query
        required: false
        schema:
          type: string
          description: Provider oura/strava etc
          default: ''
          title: Provider
        description: Provider oura/strava etc
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
          title: Start Date
        description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
          title: End Date
        description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupedBasalBodyTemperatureResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: vitals
      x-fern-sdk-method-name: basal_body_temperature_grouped
      x-fern-availability: generally-available
    servers:
    - url: https://api.us.junction.com
      x-fern-server-name: Production
    - url: https://api.eu.junction.com
      x-fern-server-name: ProductionEU
    - url: https://api.sandbox.us.junction.com
      x-fern-server-name: Sandbox
    - url: https://api.sandbox.eu.junction.com
      x-fern-server-name: SandboxEU
  /v2/timeseries/{user_id}/handwashing/grouped:
    get:
      tags:
      - timeseries
      summary: Handwashing
      operationId: get_handwashing_grouped
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          deprecated: true
          title: Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
        deprecated: true
      - name: next_cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          title: Next Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
      - name: provider
        in: query
        required: false
        schema:
          type: string
          description: Provider oura/strava etc
          default: ''
          title: Provider
        description: Provider oura/strava etc
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
          title: Start Date
        description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
          title: End Date
        description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupedHandwashingResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: vitals
      x-fern-sdk-method-name: handwashing_grouped
      x-fern-availability: generally-available
    servers:
    - url: https://api.us.junction.com
      x-fern-server-name: Production
    - url: https://api.eu.junction.com
      x-fern-server-name: ProductionEU
    - url: https://api.sandbox.us.junction.com
      x-fern-server-name: Sandbox
    - url: https://api.sandbox.eu.junction.com
      x-fern-server-name: SandboxEU
  /v2/timeseries/{user_id}/daylight_exposure/grouped:
    get:
      tags:
      - timeseries
      summary: Daylight Exposure
      operationId: get_daylight_exposure_grouped
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          deprecated: true
          title: Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
        deprecated: true
      - name: next_cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for fetching the next page, or `null` to fetch the first page.
          title: Next Cursor
        description: The cursor for fetching the next page, or `null` to fetch the first page.
      - name: provider
        in: query
        required: false
        schema:
          type: string
          description: Provider oura/strava etc
          default: ''
          title: Provider
        description: Provider oura/strava etc
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
          title: Start Date
        description: Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
          title: End Date
        description: Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupedDaylightExposureResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: vitals
      x-fern-s

# --- truncated at 32 KB (586 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vital-io/refs/heads/main/openapi/vital-io-timeseries-api-openapi.yml