Vital · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Junction Link API
14 actions
14 updates
phrasing
extends
openapi/vital-io-link-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Vital's API. It is a proposal applied on top of the contract, not a document Vital publishes.
What the actions change
x-apievangelist-phrasing
Targets 14
$.info
$.paths['/v2/link/bulk_op'].get
$.paths['/v2/link/bulk_import'].post
$.paths['/v2/link/bulk_trigger_historical_pull'].post
$.paths['/v2/link/bulk_export'].post
$.paths['/v2/link/bulk_pause'].post
$.paths['/v2/link/token'].post
$.paths['/v2/link/code/create'].post
$.paths['/v2/link/provider/oauth/{oauth_provider}'].get
$.paths['/v2/link/provider/password/{provider}'].post
$.paths['/v2/link/provider/password/{provider}/complete_mfa'].post
$.paths['/v2/link/provider/email/{provider}'].post
$.paths['/v2/link/providers'].get
$.paths['/v2/link/connect/demo'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Junction Link API
version: 1.0.0
extends: openapi/vital-io-link-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 13
- target: $.paths['/v2/link/bulk_op'].get
update:
x-apievangelist-phrasing:
intent: List bulk connection operations
effect: read
questions:
- Can I see the status of my bulk import, export and pause jobs?
- Which bulk link operations has my team run?
instructions:
- text: List my bulk link operations.
- text: Show the next {page_size} bulk operations after cursor {next_cursor}.
slots:
page_size: query.page_size
next_cursor: query.next_cursor
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/bulk_import'].post
update:
x-apievangelist-phrasing:
intent: Bulk import existing provider connections
effect: write
questions:
- Can I import existing device connections for many users at once?
- Is there a way to migrate already-authorized provider connections in bulk?
instructions:
- text: Bulk import connections {connections} for provider {provider}.
slots:
connections: requestBody.connections
provider: requestBody.provider
- text: 'Import these {provider} connections and wait for completion: {connections}.'
slots:
provider: requestBody.provider
connections: requestBody.connections
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/bulk_trigger_historical_pull'].post
update:
x-apievangelist-phrasing:
intent: Trigger historical pulls for many users
effect: write
questions:
- Can I trigger a historical backfill for a batch of users at once?
- How do I re-pull past data from a provider for a list of users?
instructions:
- text: Trigger historical pulls from {provider} for users {user_ids}.
slots:
provider: requestBody.provider
user_ids: requestBody.user_ids
- text: Backfill {provider} history for {user_ids} and wait until it finishes.
slots:
provider: requestBody.provider
user_ids: requestBody.user_ids
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/bulk_export'].post
update:
x-apievangelist-phrasing:
intent: Export users' provider connections
effect: read
questions:
- Can I export my users' connections for a provider?
- Is there a paginated export of provider connections?
instructions:
- text: Export {provider} connections for users {user_ids}.
slots:
provider: requestBody.provider
user_ids: requestBody.user_ids
- text: Continue exporting {provider} connections from token {next_token}.
slots:
provider: requestBody.provider
next_token: requestBody.next_token
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/bulk_pause'].post
update:
x-apievangelist-phrasing:
intent: Pause provider connections in bulk
effect: write
questions:
- Can I pause data syncing for many users' connections at once?
- Which call pauses a provider connection for a batch of users?
instructions:
- text: Pause {provider} connections for users {user_ids}.
slots:
provider: requestBody.provider
user_ids: requestBody.user_ids
- text: Stop syncing {provider} for {user_ids} for now.
slots:
provider: requestBody.provider
user_ids: requestBody.user_ids
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/token'].post
update:
x-apievangelist-phrasing:
intent: Generate a Link token to connect a user
effect: write
questions:
- How do I start the Vital Link connection flow for one of my users?
- How long is a link token valid, and can it be reused?
instructions:
- text: Generate a link token for user {user}.
slots:
user: requestBody.user_id
- text: Create a link token for {user} that redirects to {redirect_url} when done.
slots:
user: requestBody.user_id
redirect_url: requestBody.redirect_url
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/code/create'].post
update:
x-apievangelist-phrasing:
intent: Invite a mobile app user to my team
effect: write
questions:
- Can I invite someone using the Vital mobile app to join my team?
- Can a mobile app invite code be set to expire at a specific time?
instructions:
- text: Create a mobile app invite code for user {q_user}.
slots:
q_user: query.user_id
- text: Generate a team invite code for {q_user} expiring at {expires_at}.
slots:
q_user: query.user_id
expires_at: query.expires_at
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/provider/oauth/{oauth_provider}'].get
update:
x-apievangelist-phrasing:
intent: Get an OAuth authorization link for a provider
effect: read
questions:
- How do I get the OAuth URL a user visits to authorize a provider?
- Which link do I send a user to connect an OAuth-based provider?
instructions:
- text: Generate an OAuth link for {oauth_provider}.
slots:
oauth_provider: path.oauth_provider
- text: Get the {oauth_provider} authorization URL using link token {token}.
slots:
oauth_provider: path.oauth_provider
token: header.x-vital-link-token
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/provider/password/{provider}'].post
update:
x-apievangelist-phrasing:
intent: Connect a password-based provider
effect: write
questions:
- Can I connect a provider that signs in with a username and password?
- Is a region needed when connecting a password-based provider?
instructions:
- text: Connect password provider {path_provider} with username {username} and password {password}.
slots:
path_provider: path.provider
username: requestBody.username
password: requestBody.password
- text: Link {path_provider} using credentials {username} / {password} in region {region}.
slots:
path_provider: path.provider
username: requestBody.username
password: requestBody.password
region: requestBody.region
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/provider/password/{provider}/complete_mfa'].post
update:
x-apievangelist-phrasing:
intent: Finish a password provider login with MFA
effect: write
questions:
- What do I do when a password-based provider asks for an MFA code?
- Can I finish connecting a provider that sent a two-factor code?
instructions:
- text: Complete MFA for {path_provider} with code {mfa_code}.
slots:
path_provider: path.provider
mfa_code: requestBody.mfa_code
- text: Submit verification code {mfa_code} to finish connecting {path_provider}.
slots:
mfa_code: requestBody.mfa_code
path_provider: path.provider
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/provider/email/{provider}'].post
update:
x-apievangelist-phrasing:
intent: Connect an email-based provider
effect: write
questions:
- Can I connect a provider that only needs the user's email address?
- Can I set a region when connecting an email-based provider?
instructions:
- text: Connect email provider {path_provider} for {email}.
slots:
path_provider: path.provider
email: requestBody.email
- text: Link {path_provider} by email {email} in region {region}.
slots:
path_provider: path.provider
email: requestBody.email
region: requestBody.region
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/providers'].get
update:
x-apievangelist-phrasing:
intent: List providers available to a link token
effect: read
questions:
- Which providers can a user connect with their link token?
- What integrations show up in the link widget for a given token?
instructions:
- text: List providers available to link token {token}.
slots:
token: header.x-vital-link-token
- text: Show the providers a user can connect right now.
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/link/connect/demo'].post
update:
x-apievangelist-phrasing:
intent: Connect a user to a demo provider
effect: write
questions:
- Can I connect a test user to a demo provider to get sample data?
- Is there a way to simulate a wearable connection without a real device?
instructions:
- text: Connect user {user} to demo provider {provider}.
slots:
user: requestBody.user_id
provider: requestBody.provider
- text: Create a demo {provider} connection for {user}.
slots:
provider: requestBody.provider
user: requestBody.user_id
method: generated
generated: '2026-10-01'