# 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'