Vital · Arazzo Workflow

Vital Onboard a User and Connect a Wearable

Version 1.0.0

Create a Vital user, mint a Link token, and surface the available providers to connect.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Health DataWearablesLab TestingDigital HealthHealth TechHealthcareHIPAAHealthKitHealth ConnectEHREMRBiomarkersDiagnosticsContinuous Glucose MonitoringSleepActivityHeart RateWebhookPhlebotomyLab OrdersArazzoWorkflows

Provider

vital-io

Workflows

onboard-user-connect-wearable
Create a Vital user and prepare a Link token plus provider list for wearable connection.
Creates a Vital user for the supplied client_user_id, generates a Vital Link token for that user, and lists the providers the token can offer so the end user can pick a wearable to connect.
3 steps inputs: apiKey, clientUserId, fallbackTimeZone, redirectUrl outputs: linkToken, linkWebUrl, providers, userId
1
createUser
Create a Vital user tied to your client_user_id and capture the Vital user_id used for all subsequent interactions.
2
generateLinkToken
Generate a one-time Vital Link token (valid for 10 minutes) for the new user so a wearable provider connection can be initiated.
3
listProviders
List the providers available for this Link token so your custom Link UI can present the end user with selectable wearable sources.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Vital Onboard a User and Connect a Wearable
  summary: Create a Vital user, mint a Link token, and surface the available providers to connect.
  description: >-
    The canonical first run for any wearable integration on Vital (Junction).
    The workflow creates a Vital user from your own client_user_id, generates a
    one-time Vital Link token scoped to that user, and then reads back the list
    of providers the token can connect so your custom Link experience can present
    them to the end user. Every step spells out its request inline, including the
    x-vital-api-key header, so the flow can be read and executed without opening
    the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: linkApi
  url: ../openapi/vital-io-link-api-openapi.yml
  type: openapi
- name: userApi
  url: ../openapi/vital-io-user-api-openapi.yml
  type: openapi
workflows:
- workflowId: onboard-user-connect-wearable
  summary: Create a Vital user and prepare a Link token plus provider list for wearable connection.
  description: >-
    Creates a Vital user for the supplied client_user_id, generates a Vital Link
    token for that user, and lists the providers the token can offer so the
    end user can pick a wearable to connect.
  inputs:
    type: object
    required:
    - apiKey
    - clientUserId
    properties:
      apiKey:
        type: string
        description: Your Vital API key, sent in the x-vital-api-key header.
      clientUserId:
        type: string
        description: A unique ID representing the end user in your application.
      fallbackTimeZone:
        type: string
        description: Optional IANA timezone (e.g. America/Los_Angeles) used for timezone-agnostic data.
      redirectUrl:
        type: string
        description: Optional URL to redirect to after a successful or failed Link connection.
  steps:
  - stepId: createUser
    description: >-
      Create a Vital user tied to your client_user_id and capture the Vital
      user_id used for all subsequent interactions.
    operationId: create_user_v2_user_post
    parameters:
    - name: x-vital-api-key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        client_user_id: $inputs.clientUserId
        fallback_time_zone: $inputs.fallbackTimeZone
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/user_id
      clientUserId: $response.body#/client_user_id
  - stepId: generateLinkToken
    description: >-
      Generate a one-time Vital Link token (valid for 10 minutes) for the new
      user so a wearable provider connection can be initiated.
    operationId: generate_vital_link_token_v2_link_token_post
    parameters:
    - name: x-vital-api-key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        user_id: $steps.createUser.outputs.userId
        redirect_url: $inputs.redirectUrl
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      linkToken: $response.body#/link_token
      linkWebUrl: $response.body#/link_web_url
  - stepId: listProviders
    description: >-
      List the providers available for this Link token so your custom Link UI
      can present the end user with selectable wearable sources.
    operationId: get_providers_v2_link_providers_get
    parameters:
    - name: x-vital-api-key
      in: header
      value: $inputs.apiKey
    - name: x-vital-link-token
      in: header
      value: $steps.generateLinkToken.outputs.linkToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      providers: $response.body
  outputs:
    userId: $steps.createUser.outputs.userId
    linkToken: $steps.generateLinkToken.outputs.linkToken
    linkWebUrl: $steps.generateLinkToken.outputs.linkWebUrl
    providers: $steps.listProviders.outputs.providers

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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 workflow
curl "https://apis.io/api/v1/arazzo/vital-io-onboard-user-connect-wearable-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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