Vital · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Junction Summary API

16 actions 16 updates phrasing extends openapi/vital-io-summary-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 16

$.info
$.paths['/v2/summary/electrocardiogram/{user_id}'].get
$.paths['/v2/summary/sleep_cycle/{user_id}'].get
$.paths['/v2/summary/profile/{user_id}'].get
$.paths['/v2/summary/profile/{user_id}/raw'].get
$.paths['/v2/summary/devices/{user_id}/raw'].get
$.paths['/v2/summary/activity/{user_id}'].get
$.paths['/v2/summary/activity/{user_id}/raw'].get
$.paths['/v2/summary/workouts/{user_id}'].get
$.paths['/v2/summary/workouts/{user_id}/raw'].get
$.paths['/v2/summary/sleep/{user_id}'].get
$.paths['/v2/summary/sleep/{user_id}/raw'].get
$.paths['/v2/summary/body/{user_id}'].get
$.paths['/v2/summary/body/{user_id}/raw'].get
$.paths['/v2/summary/meal/{user_id}'].get
$.paths['/v2/summary/menstrual_cycle/{user_id}'].get

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 Summary API
  version: 1.0.0
extends: openapi/vital-io-summary-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: 15
- target: $.paths['/v2/summary/electrocardiogram/{user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's electrocardiogram summaries
      effect: read
      questions:
      - Can I get a user's electrocardiogram readings for a date range?
      - Which ECG recordings came from a specific provider?
      instructions:
      - text: Get ECG summaries for {user} from {start} to {end}.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Show {user}'s electrocardiograms from {provider} since {start}.
        slots:
          user: path.user_id
          provider: query.provider
          start: query.start_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/sleep_cycle/{user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's sleep cycles
      effect: read
      questions:
      - Can I see a user's sleep cycle data for a period?
      - What sleep cycles were recorded for a user last week?
      instructions:
      - text: Get sleep cycles for {user} starting {start}.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Show {user}'s sleep cycle records from {start} to {end} via {provider}.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/profile/{user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's normalized profile
      effect: read
      questions:
      - What profile information has a user's connected device shared?
      - Can I read a user's normalized profile from one provider?
      instructions:
      - text: Get the profile for {user}.
        slots:
          user: path.user_id
      - text: Show {user}'s profile from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/profile/{user_id}/raw'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's raw provider profile
      effect: read
      questions:
      - Can I see the raw profile payload exactly as a provider sent it?
      - Where is the unprocessed provider profile for a user?
      instructions:
      - text: Get the raw provider profile for {user}.
        slots:
          user: path.user_id
      - text: Fetch {user}'s unnormalized profile data from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/devices/{user_id}/raw'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's raw device data
      effect: read
      questions:
      - Which devices has a user connected, in the provider's raw format?
      - Can I get raw device records for a user from one provider?
      instructions:
      - text: Get raw device data for {user}.
        slots:
          user: path.user_id
      - text: Show {user}'s raw devices from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/activity/{user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's daily activity summaries
      effect: read
      questions:
      - How active was a user each day over a date range?
      - Can I get a user's daily activity summaries from one provider?
      instructions:
      - text: Get activity summaries for {user} from {start} to {end}.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Show {user}'s daily activity since {start}.
        slots:
          user: path.user_id
          start: query.start_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/activity/{user_id}/raw'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's raw activity data
      effect: read
      questions:
      - Can I see raw activity data exactly as the provider reported it?
      - Where do I get unprocessed daily activity for a user?
      instructions:
      - text: Get raw activity for {user} from {start}.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Fetch {user}'s unnormalized activity records from {provider} between {start} and {end}.
        slots:
          user: path.user_id
          provider: query.provider
          start: query.start_date
          end: query.end_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/workouts/{user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's workout summaries
      effect: read
      questions:
      - What workouts did a user log in a date range?
      - Can I list a user's workout summaries from a single provider?
      instructions:
      - text: Get workout summaries for {user} since {start}.
        slots:
          user: path.user_id
          start: query.start_date
      - text: List {user}'s workouts from {start} to {end}.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/workouts/{user_id}/raw'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's raw workout data
      effect: read
      questions:
      - Can I get the provider's raw workout records for a user?
      - Where is the unnormalized workout payload?
      instructions:
      - text: Get raw workout data for {user} from {start}.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Fetch {user}'s raw {provider} workouts between {start} and {end}.
        slots:
          user: path.user_id
          provider: query.provider
          start: query.start_date
          end: query.end_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/sleep/{user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's nightly sleep summaries
      effect: read
      questions:
      - How did a user sleep over the past month?
      - Can I get nightly sleep summaries for a user?
      instructions:
      - text: Get sleep summaries for {user} from {start} to {end}.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Show {user}'s nightly sleep since {start}.
        slots:
          user: path.user_id
          start: query.start_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/sleep/{user_id}/raw'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's raw sleep data
      effect: read
      questions:
      - Can I see raw sleep data as the provider delivered it?
      - Where do I find unprocessed sleep records for a user?
      instructions:
      - text: Get raw sleep data for {user} from {start}.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Fetch {user}'s unnormalized {provider} sleep between {start} and {end}.
        slots:
          user: path.user_id
          provider: query.provider
          start: query.start_date
          end: query.end_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/body/{user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's body measurement summaries
      effect: read
      questions:
      - Can I get a summary of a user's body measurements over time?
      - What body summary data came from a specific provider?
      instructions:
      - text: Get body summaries for {user} from {start} to {end}.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Show {user}'s body measurements from {provider} since {start}.
        slots:
          user: path.user_id
          provider: query.provider
          start: query.start_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/body/{user_id}/raw'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's raw body data
      effect: read
      questions:
      - Can I see raw body measurement data straight from the provider?
      - Where are unprocessed body records for a user?
      instructions:
      - text: Get raw body data for {user} from {start}.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Fetch {user}'s unnormalized body records between {start} and {end}.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/meal/{user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's logged meals
      effect: read
      questions:
      - What meals did a user log during a period?
      - Can I pull nutrition logs from a user's connected app?
      instructions:
      - text: Get meals for {user} from {start} to {end}.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Show what {user} logged eating since {start} in {provider}.
        slots:
          user: path.user_id
          start: query.start_date
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/summary/menstrual_cycle/{user_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's menstrual cycles
      effect: read
      questions:
      - Can I retrieve a user's menstrual cycle data?
      - Which menstrual cycles were recorded in a date range?
      instructions:
      - text: Get menstrual cycles for {user} since {start}.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Show {user}'s cycle tracking from {start} to {end} via {provider}.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
          provider: query.provider
      method: generated
      generated: '2026-10-01'