Vital · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Junction User API

20 actions 20 updates phrasing extends openapi/vital-io-user-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.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 20 · first 16 shown; the file carries all of them

$.info
$.paths['/v2/user'].get
$.paths['/v2/user'].post
$.paths['/v2/user/metrics'].get
$.paths['/v2/user/providers/{user_id}'].get
$.paths['/v2/user/{user_id}/info/latest'].get
$.paths['/v2/user/{user_id}/insurance'].post
$.paths['/v2/user/{user_id}/insurance/latest'].get
$.paths['/v2/user/{user_id}/info'].patch
$.paths['/v2/user/resolve/{client_user_id}'].get
$.paths['/v2/user/{user_id}/{provider}'].delete
$.paths['/v2/user/{user_id}'].get
$.paths['/v2/user/{user_id}'].delete
$.paths['/v2/user/{user_id}'].patch
$.paths['/v2/user/undo_delete'].post
$.paths['/v2/user/refresh/{user_id}'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Junction User API
  version: 1.0.0
extends: openapi/vital-io-user-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: 19
- target: $.paths['/v2/user'].get
  update:
    x-apievangelist-phrasing:
      intent: List my team's users
      effect: read
      questions:
      - Can I list every user on my team?
      - Is the team user list paginated with offset and limit?
      instructions:
      - text: List my team's users.
      - text: Get {limit} team users starting at offset {offset}.
        slots:
          limit: query.limit
          offset: query.offset
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a user
      effect: write
      questions:
      - How do I create a Vital user for someone in my app?
      - Can I set a fallback time zone when creating a user?
      instructions:
      - text: Create a user with client user ID {client_user_id}.
        slots:
          client_user_id: requestBody.client_user_id
      - text: Create user {client_user_id} with fallback time zone {tz}.
        slots:
          client_user_id: requestBody.client_user_id
          tz: requestBody.fallback_time_zone
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/metrics'].get
  update:
    x-apievangelist-phrasing:
      intent: Get my team's metrics
      effect: read
      questions:
      - What usage metrics are available for my team?
      - Can I pull team-level metrics in one call?
      instructions:
      - text: Get my team's metrics.
      - text: Show the current metrics for my team.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/providers/{user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's connected providers
      effect: read
      questions:
      - Which providers has a user connected?
      - Can I check whether a user's wearable is still linked?
      instructions:
      - text: List connected providers for {user}.
        slots:
          user: path.user_id
      - text: Show which providers {user} has linked.
        slots:
          user: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}/info/latest'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's latest demographics
      effect: read
      questions:
      - What demographic info is on file for a user?
      - Can I fetch a user's most recent name, birth date and address?
      instructions:
      - text: Get the latest demographics for {user}.
        slots:
          user: path.user_id
      - text: Show {user}'s current patient info.
        slots:
          user: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}/insurance'].post
  update:
    x-apievangelist-phrasing:
      intent: Add health insurance to a user
      effect: write
      questions:
      - How do I add health insurance to a user?
      - Can I mark an insurance plan as the user's primary?
      instructions:
      - text: Add insurance for {user} with payor {payor_code}, member ID {member_id}, relationship {relationship}, insured {insured}.
        slots:
          user: path.user_id
          payor_code: requestBody.payor_code
          member_id: requestBody.member_id
          relationship: requestBody.relationship
          insured: requestBody.insured
      - text: Attach payor {payor_code} coverage with member ID {member_id} to {user} as primary.
        slots:
          payor_code: requestBody.payor_code
          member_id: requestBody.member_id
          user: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}/insurance/latest'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's latest insurance
      effect: read
      questions:
      - What insurance is currently on file for a user?
      - Can I get just the user's primary insurance?
      instructions:
      - text: Get the latest insurance for {user}.
        slots:
          user: path.user_id
      - text: Get {user}'s most recent insurance where primary is {is_primary}.
        slots:
          user: path.user_id
          is_primary: query.is_primary
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}/info'].patch
  update:
    x-apievangelist-phrasing:
      intent: Save a user's demographic details
      effect: write
      questions:
      - How do I save a user's name, contact details and address?
      - Can I record race, ethnicity and gender identity for a user?
      instructions:
      - text: 'Set demographics for {user}: {first_name} {last_name}, {email}, {phone}, gender {gender}, born {dob}, address {address}.'
        slots:
          user: path.user_id
          first_name: requestBody.first_name
          last_name: requestBody.last_name
          email: requestBody.email
          phone: requestBody.phone_number
          gender: requestBody.gender
          dob: requestBody.dob
          address: requestBody.address
      - text: Update {user}'s patient info with email {email} and date of birth {dob}.
        slots:
          user: path.user_id
          email: requestBody.email
          dob: requestBody.dob
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/resolve/{client_user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Resolve a client user ID to a user
      effect: read
      questions:
      - How do I find the Vital user ID for one of my client user IDs?
      - Can I resolve my own user identifier to a user?
      instructions:
      - text: Resolve client user ID {path_client_user_id}.
        slots:
          path_client_user_id: path.client_user_id
      - text: Get the user for my ID {path_client_user_id}.
        slots:
          path_client_user_id: path.client_user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}/{provider}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Disconnect a provider from a user
      effect: destructive
      questions:
      - How do I disconnect a provider from a user?
      - Can I remove one wearable connection without deleting the user?
      instructions:
      - text: Deregister {provider} from user {user}.
        slots:
          provider: path.provider
          user: path.user_id
      - text: Disconnect {user}'s {provider} connection.
        slots:
          user: path.user_id
          provider: path.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user
      effect: read
      questions:
      - Can I look up a user by user ID?
      - What details are stored for a single user?
      instructions:
      - text: Get user {user}.
        slots:
          user: path.user_id
      - text: Show the record for user {user}.
        slots:
          user: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a user
      effect: destructive
      questions:
      - How do I delete a user?
      - Can I permanently remove a user from my team?
      instructions:
      - text: Delete user {user}.
        slots:
          user: path.user_id
      - text: Remove user {user} from my team.
        slots:
          user: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a user's settings
      effect: write
      questions:
      - Can I change a user's fallback time zone or birth date?
      - Can I adjust a user's data ingestion window after creating them?
      instructions:
      - text: Update {user}'s fallback time zone to {tz}.
        slots:
          user: path.user_id
          tz: requestBody.fallback_time_zone
      - text: Set ingestion for {user} from {ingestion_start} to {ingestion_end}.
        slots:
          user: path.user_id
          ingestion_start: requestBody.ingestion_start
          ingestion_end: requestBody.ingestion_end
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/undo_delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Restore a deleted user
      effect: write
      questions:
      - Can I restore a user I deleted by mistake?
      - Is it possible to undo a user deletion using my client user ID?
      instructions:
      - text: Undo the deletion of user {q_user}.
        slots:
          q_user: query.user_id
      - text: Restore the deleted user with client ID {q_client_user_id}.
        slots:
          q_client_user_id: query.client_user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/refresh/{user_id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Trigger a manual data refresh for a user
      effect: write
      questions:
      - Can I force a manual data refresh for a user?
      - How do I trigger an immediate sync for one user?
      instructions:
      - text: Refresh data for user {user}.
        slots:
          user: path.user_id
      - text: Trigger a manual refresh for {user} with timeout {timeout}.
        slots:
          user: path.user_id
          timeout: query.timeout
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}/device'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's devices
      effect: read
      questions:
      - Which devices are registered to a user?
      - Can I see all devices tied to one user?
      instructions:
      - text: List devices for {user}.
        slots:
          user: path.user_id
      - text: Show every device registered to {user}.
        slots:
          user: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}/device/{device_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one of a user's devices
      effect: read
      questions:
      - Can I get the details of one specific device for a user?
      - What does a single device record contain?
      instructions:
      - text: Get device {device_id} for user {user}.
        slots:
          device_id: path.device_id
          user: path.user_id
      - text: Show {user}'s device {device_id}.
        slots:
          user: path.user_id
          device_id: path.device_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}/sign_in_token'].post
  update:
    x-apievangelist-phrasing:
      intent: Issue a sign-in token for a user
      effect: write
      questions:
      - How do I get a sign-in token for a user?
      - Can I issue a sign-in token for a single user?
      instructions:
      - text: Create a sign-in token for {user}.
        slots:
          user: path.user_id
      - text: Issue {user} a sign-in token.
        slots:
          user: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/user/{user_id}/create_portal_url'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a user portal link
      effect: write
      questions:
      - Can I create a portal link for a user?
      - Can a user portal link deep-link to a specific order?
      instructions:
      - text: Create a portal URL for {user} with context {context}.
        slots:
          user: path.user_id
          context: requestBody.context
      - text: Generate a portal link for {user} in context {context} that opens order {order_id}.
        slots:
          user: path.user_id
          context: requestBody.context
          order_id: requestBody.order_id
      method: generated
      generated: '2026-10-01'