Vital · Arazzo Workflow

Vital Connect a Demo Provider and Verify Connected Sources

Version 1.0.0

Create a user, attach a demo provider, then confirm the connection landed on the user record.

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

demo-connection-verify-sources
Create a user, connect a demo provider, and verify the connected sources.
Creates a Vital user, attaches a demo provider to generate synthetic data, then confirms the connection by reading the connected providers and the user record.
4 steps inputs: apiKey, clientUserId, provider outputs: connectedProviders, connectedSources, userId
1
createUser
Create a Vital user tied to your client_user_id.
2
connectDemo
Connect the new user to the given demo provider so Vital begins generating synthetic wearable data for them.
3
getConnectedProviders
Read the user's connected providers to confirm the demo source is now attached.
4
getUser
Read the full user record, which includes the connected_sources array for a final confirmation of the connection state.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Vital Connect a Demo Provider and Verify Connected Sources
  summary: Create a user, attach a demo provider, then confirm the connection landed on the user record.
  description: >-
    A sandbox-friendly end-to-end test of Vital's connection model. The workflow
    creates a Vital user, connects that user to a demo provider (Vital's
    synthetic test data source), and then reads back both the user's connected
    providers and the full user record to confirm the demo source is attached.
    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: demo-connection-verify-sources
  summary: Create a user, connect a demo provider, and verify the connected sources.
  description: >-
    Creates a Vital user, attaches a demo provider to generate synthetic data,
    then confirms the connection by reading the connected providers and the user
    record.
  inputs:
    type: object
    required:
    - apiKey
    - clientUserId
    - provider
    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.
      provider:
        type: string
        description: Demo provider slug to connect (e.g. fitbit, oura, freestyle_libre, apple_health_kit).
  steps:
  - stepId: createUser
    description: Create a Vital user tied to your client_user_id.
    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
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/user_id
  - stepId: connectDemo
    description: >-
      Connect the new user to the given demo provider so Vital begins generating
      synthetic wearable data for them.
    operationId: create_demo_connection_v2_link_connect_demo_post
    parameters:
    - name: x-vital-api-key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        user_id: $steps.createUser.outputs.userId
        provider: $inputs.provider
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.success == true
      type: jsonpath
    outputs:
      success: $response.body#/success
      detail: $response.body#/detail
  - stepId: getConnectedProviders
    description: >-
      Read the user's connected providers to confirm the demo source is now
      attached.
    operationId: get_connected_providers_v2_user_providers__user_id__get
    parameters:
    - name: x-vital-api-key
      in: header
      value: $inputs.apiKey
    - name: user_id
      in: path
      value: $steps.createUser.outputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      providers: $response.body#/providers
  - stepId: getUser
    description: >-
      Read the full user record, which includes the connected_sources array for
      a final confirmation of the connection state.
    operationId: get_user_v2_user__user_id__get
    parameters:
    - name: x-vital-api-key
      in: header
      value: $inputs.apiKey
    - name: user_id
      in: path
      value: $steps.createUser.outputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      connectedSources: $response.body#/connected_sources
  outputs:
    userId: $steps.createUser.outputs.userId
    connectedProviders: $steps.getConnectedProviders.outputs.providers
    connectedSources: $steps.getUser.outputs.connectedSources

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-demo-connection-verify-sources-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.