Vital introspect API

The introspect API from Vital — 2 operation(s) for introspect.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

vital-io-introspect-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Vital Lab Report Parser Aggregate introspect API
  description: Submit existing lab-result PDFs to be parsed and normalized into structured biomarker results. Create lab-report parser jobs and poll for job status and parsed results.
  version: 0.4.497
  contact:
    name: Junction (Vital) Support
    url: https://docs.junction.com
servers:
- url: https://api.us.junction.com
  x-fern-server-name: Production
- url: https://api.eu.junction.com
  x-fern-server-name: ProductionEU
- url: https://api.sandbox.us.junction.com
  x-fern-server-name: Sandbox
- url: https://api.sandbox.eu.junction.com
  x-fern-server-name: SandboxEU
security:
- apiKeyAuth: []
tags:
- name: introspect
paths:
  /v2/introspect/resources:
    get:
      tags:
      - introspect
      summary: Introspect Resources
      operationId: introspect_resources_v2_introspect_resources_get
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          description: Filter by user ID.
          title: User Id
        description: Filter by user ID.
      - name: provider
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/Providers'
          - type: 'null'
          title: Provider
      - name: user_limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: User Limit
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          deprecated: true
          title: Cursor
        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.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResourcesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: introspect
      x-fern-sdk-method-name: get_user_resources
  /v2/introspect/historical_pull:
    get:
      tags:
      - introspect
      summary: Introspect Historical Pulls
      operationId: introspect_historical_pulls_v2_introspect_historical_pull_get
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          description: Filter by user ID.
          title: User Id
        description: Filter by user ID.
      - name: provider
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/Providers'
          - $ref: '#/components/schemas/Labs'
          - type: 'null'
          title: Provider
      - name: user_limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: User Limit
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          deprecated: true
          title: Cursor
        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.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserHistoricalPullsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: introspect
      x-fern-sdk-method-name: get_user_historical_pulls
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          title: Detail
      type: object
      title: HTTPValidationError
    SingleProviderHistoricalPullResponse:
      properties:
        pulled:
          additionalProperties:
            $ref: '#/components/schemas/SingleHistoricalPullStatistics'
          propertyNames:
            $ref: '#/components/schemas/Resource'
          type: object
          title: Pulled
        not_pulled:
          items:
            $ref: '#/components/schemas/Resource'
          type: array
          title: Not Pulled
      type: object
      required:
      - pulled
      - not_pulled
      title: SingleProviderHistoricalPullResponse
    Providers:
      type: string
      enum:
      - oura
      - fitbit
      - garmin
      - whoop
      - strava
      - renpho
      - peloton
      - wahoo
      - zwift
      - freestyle_libre
      - abbott_libreview
      - tandem_source
      - freestyle_libre_ble
      - eight_sleep
      - withings
      - apple_health_kit
      - manual
      - ihealth
      - google_fit
      - beurer_api
      - beurer_ble
      - omron
      - omron_ble
      - onetouch_ble
      - accuchek_ble
      - contour_ble
      - dexcom
      - dexcom_v3
      - hammerhead
      - my_fitness_pal
      - health_connect
      - samsung_health
      - polar
      - cronometer
      - kardia
      - whoop_v2
      - ultrahuman
      - my_fitness_pal_v2
      - map_my_fitness
      - runkeeper
      title: Providers
      description: ℹ️ This enum is non-exhaustive.
    LastAttempt:
      properties:
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        status:
          $ref: '#/components/schemas/AttemptStatus'
          description: ℹ️ This enum is non-exhaustive.
      type: object
      required:
      - timestamp
      - status
      title: LastAttempt
    HistoricalPullTimeline:
      properties:
        scheduled_at:
          type: string
          format: date-time
          title: Scheduled At
        started_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Started At
        ended_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Ended At
      type: object
      required:
      - scheduled_at
      title: HistoricalPullTimeline
    HistoricalPullRetriableErrorDetails:
      type: string
      enum:
      - provider_rate_limit_exceeded
      - provider_unavailable
      - transport_failure
      - resource_contention
      title: HistoricalPullRetriableErrorDetails
      description: ℹ️ This enum is non-exhaustive.
    UserResourcesResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SingleUserResourceResponse'
          type: array
          title: Data
        next:
          anyOf:
          - type: string
          - type: 'null'
          title: Next
          deprecated: true
        next_cursor:
          anyOf:
          - type: string
          - type: 'null'
          title: Next Cursor
          description: The cursor for fetching the next page, or `null` to fetch the first page.
      type: object
      required:
      - data
      - next
      - next_cursor
      title: UserResourcesResponse
      example:
        data:
        - provider:
            fitbit:
              activity:
                last_attempt:
                  status: success
                  timestamp: '2023-10-24T13:13:27+00:00'
                newest_data: '2023-10-24T00:00:00+00:00'
                oldest_data: '2023-06-21T00:00:00+00:00'
                sent_count: 231
          user_id: ''
    SingleHistoricalPullStatistics:
      properties:
        status:
          $ref: '#/components/schemas/HistoricalPullStatus'
          description: ℹ️ This enum is non-exhaustive.
        range_start:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Range Start
        range_end:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Range End
        timeline:
          $ref: '#/components/schemas/HistoricalPullTimeline'
        days_with_data:
          type: integer
          title: Days With Data
          default: 0
        release:
          type: string
          title: Release
        trace_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Trace Id
        error_details:
          anyOf:
          - $ref: '#/components/schemas/HistoricalPullRetriableErrorDetails'
          - $ref: '#/components/schemas/HistoricalPullNonRetriableErrorDetails'
          - type: 'null'
          title: Error Details
          description: ℹ️ This enum is non-exhaustive.
      type: object
      required:
      - status
      - timeline
      - release
      title: SingleHistoricalPullStatistics
    SingleUserResourceResponse:
      properties:
        user_id:
          type: string
          format: uuid
          title: User Id
        provider:
          additionalProperties:
            additionalProperties:
              $ref: '#/components/schemas/SingleResourceStatistics'
            propertyNames:
              $ref: '#/components/schemas/Resource'
            type: object
          propertyNames:
            $ref: '#/components/schemas/Providers'
          type: object
          title: Provider
      type: object
      required:
      - user_id
      - provider
      title: SingleUserResourceResponse
    UserHistoricalPullsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SingleUserHistoricalPullResponse'
          type: array
          title: Data
        next:
          anyOf:
          - type: string
          - type: 'null'
          title: Next
          deprecated: true
        next_cursor:
          anyOf:
          - type: string
          - type: 'null'
          title: Next Cursor
          description: The cursor for fetching the next page, or `null` to fetch the first page.
      type: object
      required:
      - data
      - next
      - next_cursor
      title: UserHistoricalPullsResponse
      example:
        data:
        - provider:
            fitbit:
              not_pulled:
              - blood_oxygen
              pulled:
                activity:
                  days_with_data: 70
                  range_end: '2023-10-24T00:00:00+00:00'
                  range_start: '2023-07-24T00:00:00+00:00'
                  release: 0.0.0-dev.cd0e262
                  status: success
                  timeline:
                    ended_at: '2023-10-24T13:53:59+00:00'
                    scheduled_at: '2023-10-24T13:52:51+00:00'
                    started_at: '2023-10-24T13:52:54+00:00'
                  trace_id: 51cc7d2d72e98ed4eb63e2b0864b39e3
                sleep:
                  days_with_data: 70
                  error_details: provider_rate_limit_exceeded
                  range_end: '2023-10-24T00:00:00+00:00'
                  range_start: '2023-07-24T00:00:00+00:00'
                  release: 0.0.0-dev.cd0e262
                  status: retrying
                  timeline:
                    ended_at: '2023-10-24T13:53:04+00:00'
                    scheduled_at: '2023-10-24T13:52:51+00:00'
                    started_at: '2023-10-24T13:53:01+00:00'
                  trace_id: 51cc7d2d72e98ed4eb63e2b0864b39e3
          user_id: ''
        next_cursor: None
    SingleUserHistoricalPullResponse:
      properties:
        user_id:
          type: string
          format: uuid
          title: User Id
        provider:
          additionalProperties:
            $ref: '#/components/schemas/SingleProviderHistoricalPullResponse'
          propertyNames:
            $ref: '#/components/schemas/Providers'
          type: object
          title: Provider
      type: object
      required:
      - user_id
      - provider
      title: SingleUserHistoricalPullResponse
    Labs:
      type: string
      enum:
      - ayumetrix
      - spiriplex
      - ussl
      - quest
      - sonora_quest
      - labcorp
      - bioreference
      - us_biotek
      - manual
      - sanocardio
      - ihd
      - nexus
      - my_uti
      - crl
      title: Labs
      description: ℹ️ This enum is non-exhaustive.
    Resource:
      type: string
      enum:
      - profile
      - activity
      - sleep
      - body
      - workouts
      - workout_stream
      - connection
      - order
      - result
      - match_review
      - appointment
      - glucose
      - heartrate
      - hrv
      - hrv
      - ige
      - igg
      - blood_oxygen
      - blood_pressure
      - cholesterol
      - device
      - device_legacy
      - weight
      - fat
      - body_temperature
      - body_temperature_delta
      - meal
      - water
      - caffeine
      - mindfulness_minutes
      - steps
      - calories_active
      - distance
      - floors_climbed
      - respiratory_rate
      - vo2_max
      - calories_basal
      - stress_level
      - menstrual_cycle
      - sleep_cycle
      - electrocardiogram
      - electrocardiogram_voltage
      - afib_burden
      - heart_rate_alert
      - stand_hour
      - stand_duration
      - sleep_apnea_alert
      - sleep_breathing_disturbance
      - wheelchair_push
      - forced_expiratory_volume_1
      - forced_vital_capacity
      - peak_expiratory_flow_rate
      - inhaler_usage
      - fall
      - uv_exposure
      - daylight_exposure
      - handwashing
      - basal_body_temperature
      - heart_rate_recovery_one_minute
      - body_mass_index
      - lean_body_mass
      - waist_circumference
      - workout_distance
      - workout_swimming_stroke
      - workout_duration
      - insulin_injection
      - carbohydrates
      - note
      - sleep_stream
      - hypnogram
      title: ClientFacingResource
      x-fern-type-name: ClientFacingResource
      description: ℹ️ This enum is non-exhaustive.
    HistoricalPullNonRetriableErrorDetails:
      type: string
      enum:
      - non_retriable_error
      - unexpected_error
      - retry_quota_exhausted
      title: HistoricalPullNonRetriableErrorDetails
      description: ℹ️ This enum is non-exhaustive.
    HistoricalPullStatus:
      type: string
      enum:
      - success
      - failure
      - in_progress
      - scheduled
      - retrying
      title: HistoricalPullStatus
      description: ℹ️ This enum is non-exhaustive.
    AttemptStatus:
      type: string
      enum:
      - success
      - failure
      title: AttemptStatus
      description: ℹ️ This enum is non-exhaustive.
    SingleResourceStatistics:
      properties:
        last_attempt:
          anyOf:
          - $ref: '#/components/schemas/LastAttempt'
          - type: 'null'
        oldest_data:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Oldest Data
        newest_data:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Newest Data
        sent_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Sent Count
      type: object
      title: SingleResourceStatistics
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-vital-api-key
      description: Vital Team API Key