Vital user API

The user API from Vital — 16 operation(s) for user.

Operations 19

GET /v2/user Get Teams Users #
POST /v2/user Create User #
GET /v2/user/metrics Get Teams Metrics #
GET /v2/user/providers/{user_id} Get Connected Providers #
GET /v2/user/{user_id}/info/latest Get User Demographcis #
POST /v2/user/{user_id}/insurance Create Insurance #
GET /v2/user/{user_id}/insurance/latest Get Latest Insurance #
PATCH /v2/user/{user_id}/info Create User Demographics #
GET /v2/user/resolve/{client_user_id} Get User By Client User Id #
DELETE /v2/user/{user_id}/{provider} Deregister Provider #
PATCH /v2/user/{user_id} Patch User #
DELETE /v2/user/{user_id} Delete User #
GET /v2/user/{user_id} Get User #
POST /v2/user/undo_delete Undo User Delete #
POST /v2/user/refresh/{user_id} Refresh User Id #
GET /v2/user/{user_id}/device Get User Devices #
GET /v2/user/{user_id}/device/{device_id} Get User Device #
POST /v2/user/{user_id}/sign_in_token Get User Sign In Token #
POST /v2/user/{user_id}/create_portal_url Create User Portal Url #

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-user-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-user-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vital Io User API
  version: 0.4.497
  description: 'Operations tagged user across 3 of this provider''s published API definitions: vital-openapi-original.json, vital-openapi-original.yml, vital-users-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: user
paths:
  /v2/user:
    get:
      tags:
      - user
      summary: Get Teams Users
      description: GET All users for team.
      operationId: get_teams_users_v2_user_get
      parameters:
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          title: Offset
          default: 0
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          title: Limit
          default: 100
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedUsersResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: get_all
    post:
      tags:
      - user
      summary: Create User
      description: POST Create a Vital user given a client_user_id and returns the user_id.
      operationId: create_user_v2_user_post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreateBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientFacingUser'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientUserIDConflictResponse'
          description: Bad Request
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: create
    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/user/metrics:
    get:
      tags:
      - user
      summary: Get Teams Metrics
      description: GET metrics for team.
      operationId: get_teams_metrics_v2_user_metrics_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricsResult'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: get_team_metrics
    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/user/providers/{user_id}:
    get:
      tags:
      - user
      summary: Get Connected Providers
      description: GET Users connected providers
      operationId: get_connected_providers_v2_user_providers__user_id__get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    $ref: '#/components/schemas/ClientFacingProviderWithStatus'
                propertyNames:
                  const: providers
                title: Response Get Connected Providers V2 User Providers  User Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: get_connected_providers
    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/user/{user_id}/info/latest:
    get:
      tags:
      - user
      summary: Get User Demographcis
      operationId: get_user_demographcis_v2_user__user_id__info_latest_get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          title: User Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: get_latest_user_info
    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/user/{user_id}/insurance:
    post:
      tags:
      - user
      summary: Create Insurance
      operationId: create_insurance_v2_user__user_id__insurance_post
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          title: User Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInsuranceRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientFacingInsurance'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: create_insurance
    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/user/{user_id}/insurance/latest:
    get:
      tags:
      - user
      summary: Get Latest Insurance
      operationId: get_latest_insurance_v2_user__user_id__insurance_latest_get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          title: User Id
      - name: is_primary
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Is Primary
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientFacingInsurance'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: get_latest_insurance
    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/user/{user_id}/info:
    patch:
      tags:
      - user
      summary: Create User Demographics
      operationId: create_user_demographics_v2_user__user_id__info_patch
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          title: User Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInfoCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: upsert_user_info
    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/user/resolve/{client_user_id}:
    get:
      tags:
      - user
      summary: Get User By Client User Id
      description: GET user_id from client_user_id.
      operationId: get_user_by_client_user_id_v2_user_resolve__client_user_id__get
      parameters:
      - name: client_user_id
        in: path
        required: true
        schema:
          type: string
          description: 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.
          title: Client User Id
        description: 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.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientFacingUser'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: get_by_client_user_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/user/{user_id}/{provider}:
    delete:
      tags:
      - user
      summary: Deregister Provider
      operationId: deregister_provider_v2_user__user_id___provider__delete
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      - name: provider
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/Providers'
          description: Provider slug. e.g., `oura`, `fitbit`, `garmin`.
        description: Provider slug. e.g., `oura`, `fitbit`, `garmin`.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSuccessResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: deregister_provider
    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/user/{user_id}:
    patch:
      tags:
      - user
      summary: Patch User
      operationId: patch_user_v2_user__user_id__patch
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserPatchBody'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: patch
    delete:
      tags:
      - user
      summary: Delete User
      operationId: delete_user_v2_user__user_id__delete
      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.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSuccessResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: delete
    get:
      tags:
      - user
      summary: Get User
      operationId: get_user_v2_user__user_id__get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientFacingUser'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: get
    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/user/undo_delete:
    post:
      tags:
      - user
      summary: Undo User Delete
      operationId: undo_user_delete_v2_user_undo_delete_post
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          description: User ID to undo deletion. Mutually exclusive with `client_user_id`.
          title: User Id
        description: User ID to undo deletion. Mutually exclusive with `client_user_id`.
      - name: client_user_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Client User ID to undo deletion. Mutually exclusive with `user_id`.
          title: Client User Id
        description: Client User ID to undo deletion. Mutually exclusive with `user_id`.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSuccessResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: undo_delete
    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/user/refresh/{user_id}:
    post:
      tags:
      - user
      summary: Refresh User Id
      description: Trigger a manual refresh for a specific user
      operationId: refresh_user_id_v2_user_refresh__user_id__post
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User Id
      - name: timeout
        in: query
        required: false
        schema:
          type: number
          maximum: 60
          minimum: 5
          default: 10
          title: Timeout
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Refresh User Id V2 User Refresh  User Id  Post
                $ref: '#/components/schemas/UserRefreshSuccessResponse'
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRefreshSuccessResponse'
          description: Accepted
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRefreshErrorResponse'
          description: Bad Request
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: refresh
    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/user/{user_id}/device:
    get:
      tags:
      - user
      summary: Get User Devices
      operationId: get_user_devices_v2_user__user_id__device_get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientFacingDevice'
                title: Response Get User Devices V2 User  User Id  Device Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: get_devices
    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/user/{user_id}/device/{device_id}:
    get:
      tags:
      - user
      summary: Get User Device
      operationId: get_user_device_v2_user__user_id__device__device_id__get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User id returned by vital create user id request. This id should be stored in your database against the user and used for all interactions with the vital api.
      - name: device_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Device Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientFacingDevice'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: get_device
    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/user/{user_id}/sign_in_token:
    post:
      tags:
      - user
      summary: Get User Sign In Token
      operationId: get_user_sign_in_token_v2_user__user_id__sign_in_token_post
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSignInTokenResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: get_user_sign_in_token
    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/user/{user_id}/create_portal_url:
    post:
      tags:
      - user
      summary: Create User Portal Url
      operationId: create_user_portal_url_v2_user__user_id__create_portal_url_post
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserPortalURLBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUserPortalURLResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: create_portal_url
    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
components:
  schemas:
    SexualOrientation:
      type: string
      enum:
      - lesbian_gay_or_homosexual
      - heterosexual_or_straight
      - bisexual
      - dont_know
      - other
      title: SexualOrientation
      description: ℹ️ This enum is non-exhaustive.
    ResourceAvailability:
      properties:
        status:
          $ref: '#/components/schemas/Availability'
          description: ℹ️ This enum is non-exhaustive.
        scope_requirements:
          anyOf:
          - $ref: '#/components/schemas/ScopeRequirementsGrants'
          - type: 'null'
      type: object
      required:
      - status
      title: ResourceAvailability
    Availability:
      type: string
      enum:
      - available
      - unavailable
      title: Availability
      description: ℹ️ This enum is non-exhaustive.
    ScopeRequirementsGrants:
      properties:
        user_granted:
          $ref: '#/components/schemas/ScopeRequirements_str_'
        user_denied:
          $ref: '#/components/schemas/ScopeRequirements_str_'
      type: object
      required:
      - user_granted
      - user_denied
      title: ScopeRequirementsGrants
    ClientFacingInsurance:
      properties:
        member_id:
          type: string
          title: Member Id
        payor_code:
          type: string
          title: Payor Code
        relationship:
          $ref: '#/components/schemas/ResponsibleRelationship'
          description: ℹ️ This enum is non-exhaustive.
        insured:
          $ref: '#/components/schemas/vital_core__schemas__db_schemas__lab_test__insurance__PersonDetails'
        company:
          $ref: '#/components/schemas/CompanyDetails'
        group_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Id
        guarantor:
          anyOf:
          - $ref: '#/components/schemas/GuarantorDetails'
          - type: 'null'
        is_primary:
          type: boolean
          title: Is Primary
          default: true
      type: object
      required:
      - member_id
      - payor_code
      - relationship
      - insured
      - company
      title: ClientFacingInsurance
    MetricsResult:
      properties:
        team_id:
          anyOf:
          - type: string
          - type: string
            format: uuid
          title: Team Id
        number_of_connected_sources:
          type: integer
          title: Number Of Connected Sources
          default: 0
        number_of_users:
          type: integer
          title: Number Of Users
          default: 0
        number_of_errored_connected_sources:
          type: integer
          title: Number Of Errored Connected Sources
          default: 0
        number_of_connected_sources_by_week:
          items:
            $ref: '#/components/schemas/TimeseriesMetricPoint'
          type: array
          title: Number Of Connected Sources By Week
          default: []
        number_of_ordered_tests:
          type: integer
          title: Number Of Ordered Tests
          default: 0
      type: object
      required:
      - team_id
      title: MetricsResult
    Gender:
      type: string
      enum:
      - female
      - male
      - other
      - unknown
      title: Gender
      description: ℹ️ This enum is non-exhaustive.
    UserCreateBody:
      properties:
        client_user_id:
          type: string
          title: Client User Id
          description: 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:
          anyOf:
          - type: string
          - type: 'null'
          title: Fallback Time Zone
          description: "\n    Fallback time zone of the user, in the form of a valid IANA tzdatabase identifier (e.g., `Europe/London` or `America/Los_Angeles`).\n    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).\n    "
        fallback_birth_date:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Fallback Birth Date
          description: 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:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Ingestion Start
          description: Starting bound for user [data ingestion bounds](https://docs.tryvital.io/wearables/providers/data-ingestion-bounds).
        ingestion_end:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Ingestion End
          description: Ending bound for user [data ingestion bounds](https://docs.tryvital.io/wearables/providers/data-ingestion-bounds).
      type: object
      required:
      - client_user_id
      title: UserCreateBody
    Ethnicity:
      type: string
      enum:
      - hispanic
      - non_hispanic
      - ashkenazi_jewish
      - other
      title: Ethnicity
      description: ℹ️ This enum is non-exhaustive.
    UserAddress:
      properties:
        first_line:
          type: string
          title: First Line
        second_line:
          anyOf:
          - type: string
          - type: 'null'
          title: Second Line
          default: ''
        country:
          type: string
          title: Country
        zip:
          type: string
          title: Zip
        city:
          type: string
          title: City
        state:
          type: string
          title: State
        access_notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Notes
      type: object
      required:
      - first_line
      - country
      - zip
      - city
      - state
      title: UserAddress
    FallbackBirthDate:
      properties:
        value:
          type: string
          format: date
          title: Value
          description: 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.
        source_slug:
          type: string
          title: Source Slug
          description: Slug for designated source
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
      - value
      - source_slug
      - updated_at
      title: FallbackBirthDate
    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_tempe

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