Vital · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Junction Timeseries API

81 actions 81 updates phrasing extends openapi/vital-io-time-series-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 81 · first 16 shown; the file carries all of them

$.info
$.paths['/v2/timeseries/sleep/{sleep_id}/stream'].get
$.paths['/v2/timeseries/workouts/{workout_id}/stream'].get
$.paths['/v2/timeseries/{user_id}/workout_swimming_stroke/grouped'].get
$.paths['/v2/timeseries/{user_id}/workout_distance/grouped'].get
$.paths['/v2/timeseries/{user_id}/heart_rate_recovery_one_minute/grouped'].get
$.paths['/v2/timeseries/{user_id}/waist_circumference/grouped'].get
$.paths['/v2/timeseries/{user_id}/lean_body_mass/grouped'].get
$.paths['/v2/timeseries/{user_id}/body_mass_index/grouped'].get
$.paths['/v2/timeseries/{user_id}/basal_body_temperature/grouped'].get
$.paths['/v2/timeseries/{user_id}/handwashing/grouped'].get
$.paths['/v2/timeseries/{user_id}/daylight_exposure/grouped'].get
$.paths['/v2/timeseries/{user_id}/uv_exposure/grouped'].get
$.paths['/v2/timeseries/{user_id}/fall/grouped'].get
$.paths['/v2/timeseries/{user_id}/inhaler_usage/grouped'].get
$.paths['/v2/timeseries/{user_id}/peak_expiratory_flow_rate/grouped'].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 Timeseries API
  version: 1.0.0
extends: openapi/vital-io-time-series-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: 80
- target: $.paths['/v2/timeseries/sleep/{sleep_id}/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the sample stream for one sleep session
      effect: read
      questions:
      - Can I get second-by-second data like heart rate during a single night's sleep?
      - Where do I fetch the detailed stream behind one sleep record?
      instructions:
      - text: Get the stream for sleep session {sleep_id}.
        slots:
          sleep_id: path.sleep_id
      - text: Pull the full time series recorded during sleep {sleep_id}.
        slots:
          sleep_id: path.sleep_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/workouts/{workout_id}/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the sample stream for one workout
      effect: read
      questions:
      - Can I see the detailed data stream captured during one workout?
      - Is a workout's moment-by-moment data available, not just its totals?
      instructions:
      - text: Get the stream for workout {workout_id}.
        slots:
          workout_id: path.workout_id
      - text: Pull the time series recorded during workout {workout_id}.
        slots:
          workout_id: path.workout_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/workout_swimming_stroke/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get swimming stroke counts grouped by source
      effect: read
      questions:
      - Can I pull a swimmer's stroke counts from their workouts?
      - Are swimming stroke samples split out by the device that recorded them?
      instructions:
      - text: Get {user}'s swimming strokes from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Continue listing grouped swim stroke data for {user} from cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/workout_distance/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get workout distance samples grouped by source
      effect: read
      questions:
      - How far did a user go during workouts over a date range?
      - Can I see workout distance broken down by recording device?
      instructions:
      - text: Get {user}'s workout distance since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Page through {user}'s grouped workout distance using cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/heart_rate_recovery_one_minute/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one-minute heart rate recovery by source
      effect: read
      questions:
      - Can I track how quickly a user's heart rate drops one minute after exercise?
      - Which devices reported one-minute heart rate recovery for a user?
      instructions:
      - text: Get {user}'s one-minute heart rate recovery from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Fetch more grouped heart rate recovery samples for {user} after cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/waist_circumference/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get waist circumference readings by source
      effect: read
      questions:
      - Can I pull a user's waist measurements over time?
      - Which app or scale logged a user's waist circumference?
      instructions:
      - text: Get {user}'s waist circumference since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Show grouped waist measurements for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/lean_body_mass/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get lean body mass readings by source
      effect: read
      questions:
      - How has a user's lean body mass changed over a period?
      - Can I see lean mass readings separated by the device that took them?
      instructions:
      - text: Get {user}'s lean body mass from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: List lean mass samples per source for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/body_mass_index/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get BMI readings grouped by source
      effect: read
      questions:
      - Can I get a user's BMI history?
      - Which sources reported body mass index values for a user?
      instructions:
      - text: Get {user}'s BMI readings since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Page through grouped body mass index data for {user} with cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/basal_body_temperature/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get basal body temperature by source
      effect: read
      questions:
      - Can I retrieve a user's basal body temperature readings for cycle tracking?
      - What basal temperature data has each source recorded for a user?
      instructions:
      - text: Get {user}'s basal body temperature from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Show basal temperature samples per source for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/handwashing/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get handwashing events grouped by source
      effect: read
      questions:
      - Can I see how often a user washed their hands, as tracked by their watch?
      - Are handwashing events available per recording source?
      instructions:
      - text: Get {user}'s handwashing events since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Fetch the next page of handwashing records for {user} at cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/daylight_exposure/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get daylight exposure time grouped by source
      effect: read
      questions:
      - How much time did a user spend in daylight each day?
      - Can I break down daylight exposure by the device that measured it?
      instructions:
      - text: Get {user}'s daylight exposure from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: List time-in-daylight samples per source for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/uv_exposure/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get UV exposure readings grouped by source
      effect: read
      questions:
      - Can I pull a user's ultraviolet exposure levels?
      - Which device recorded a user's UV exposure readings?
      instructions:
      - text: Get {user}'s UV exposure since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Page through grouped ultraviolet exposure for {user} with cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/fall/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get detected falls grouped by source
      effect: read
      questions:
      - Has a user's wearable detected any falls in the last month?
      - Can I list fall events along with the device that detected them?
      instructions:
      - text: Get fall events for {user} from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Show detected falls for {user} reported by {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/inhaler_usage/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get inhaler usage events grouped by source
      effect: read
      questions:
      - Can I see how often a user used their inhaler?
      - Which source logged a patient's inhaler puffs?
      instructions:
      - text: Get {user}'s inhaler usage since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Fetch more grouped inhaler events for {user} after cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/peak_expiratory_flow_rate/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get peak expiratory flow readings by source
      effect: read
      questions:
      - Can I track a user's peak flow measurements for asthma monitoring?
      - What peak expiratory flow rate values did each source record?
      instructions:
      - text: Get {user}'s peak expiratory flow rate from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: List peak flow readings per source for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/forced_vital_capacity/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get forced vital capacity readings by source
      effect: read
      questions:
      - Can I retrieve a user's forced vital capacity lung test results?
      - Which spirometry source reported a user's FVC values?
      instructions:
      - text: Get {user}'s forced vital capacity since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Page through grouped FVC readings for {user} using cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/forced_expiratory_volume_1/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get FEV1 readings grouped by source
      effect: read
      questions:
      - Can I pull a user's FEV1, the air exhaled in the first second?
      - Which device recorded forced expiratory volume for a user?
      instructions:
      - text: Get {user}'s FEV1 values from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Show one-second forced expiratory volume per source for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/wheelchair_push/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get wheelchair push counts grouped by source
      effect: read
      questions:
      - Can I track wheelchair pushes for a wheelchair user?
      - Are wheelchair push counts split out by the device recording them?
      instructions:
      - text: Get {user}'s wheelchair pushes since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Fetch the next page of grouped wheelchair push data for {user} at cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/sleep_breathing_disturbance/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get sleep breathing disturbances by source
      effect: read
      questions:
      - Can I see breathing disturbances measured during a user's sleep?
      - Which source tracked a user's nighttime breathing disturbances?
      instructions:
      - text: Get {user}'s sleep breathing disturbances from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: List breathing disturbance readings during sleep for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/sleep_apnea_alert/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get sleep apnea alerts grouped by source
      effect: read
      questions:
      - Has a user's watch raised any sleep apnea notifications?
      - Can I list sleep apnea alerts with the source that issued them?
      instructions:
      - text: Get sleep apnea alerts for {user} since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Page through grouped apnea alerts for {user} with cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/stand_duration/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get standing time grouped by source
      effect: read
      questions:
      - How long did a user spend standing each day?
      - Can I see stand duration per recording device?
      instructions:
      - text: Get {user}'s stand duration from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Show time spent standing per source for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/stand_hour/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get stand hours grouped by source
      effect: read
      questions:
      - How many hours a day did a user stand up and move?
      - Which sources counted stand hours for a user?
      instructions:
      - text: Get {user}'s stand hours since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Fetch more grouped stand hour records for {user} after cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/heart_rate_alert/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get heart rate alerts grouped by source
      effect: read
      questions:
      - Did a user get any high or irregular heart rate notifications?
      - Can I list heart rate alerts and which device triggered them?
      instructions:
      - text: Get heart rate alerts for {user} from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: List heart rate notifications per source for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/afib_burden/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get AFib burden readings grouped by source
      effect: read
      questions:
      - Can I track a user's atrial fibrillation burden over time?
      - Which source measured the share of time a user spent in AFib?
      instructions:
      - text: Get {user}'s AFib burden since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Page through grouped atrial fibrillation burden for {user} using cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/workout_duration/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get workout durations grouped by source
      effect: read
      questions:
      - How long were a user's workouts over the past few weeks?
      - Can I see workout time broken down by device?
      instructions:
      - text: Get {user}'s workout duration from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Show exercise duration per source for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/vo2_max/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get VO2 max estimates grouped by source
      effect: read
      questions:
      - Which devices estimated a user's VO2 max, and what did each report?
      - Can I page through VO2 max values separated by source?
      instructions:
      - text: Get {user}'s VO2 max from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Fetch the next page of grouped cardio fitness data for {user} at cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/stress_level/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get stress level readings grouped by source
      effect: read
      questions:
      - Which sources reported a user's stress scores?
      - Can I compare stress levels recorded by different devices for one user?
      instructions:
      - text: Get {user}'s stress levels since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: List stress readings per device for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/mindfulness_minutes/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get mindfulness minutes grouped by source
      effect: read
      questions:
      - Which apps logged a user's meditation and mindfulness time?
      - Can I see mindful minutes per source for a date range?
      instructions:
      - text: Get {user}'s mindfulness minutes from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Page through grouped meditation minutes for {user} with cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/caffeine/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get caffeine intake grouped by source
      effect: read
      questions:
      - Which apps did a user log caffeine intake in?
      - Can I see caffeine entries split by the app that recorded them?
      instructions:
      - text: Get {user}'s caffeine intake since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Show caffeine logs per app for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/water/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get water intake grouped by source
      effect: read
      questions:
      - Which sources tracked how much water a user drank?
      - Can I get hydration logs separated by app?
      instructions:
      - text: Get {user}'s water intake from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Fetch more grouped hydration entries for {user} after cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/steps/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get step counts grouped by source
      effect: read
      questions:
      - If a user wears a watch and carries a phone, can I see steps from each separately?
      - Can I page through step samples per recording device?
      instructions:
      - text: Get {user}'s steps since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: List step counts per device for {user} 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/timeseries/{user_id}/floors_climbed/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get floors climbed grouped by source
      effect: read
      questions:
      - Which device counted the floors a user climbed?
      - Can I see stair climbing per source over a date range?
      instructions:
      - text: Get floors climbed by {user} from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Page through grouped stair climbs for {user} with cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/distance/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get distance traveled grouped by source
      effect: read
      questions:
      - Which sources recorded how far a user walked or ran each day?
      - Can I compare daily distance between a user's devices?
      instructions:
      - text: Get {user}'s distance traveled since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Show distance covered per device for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/calories_basal/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get basal calories grouped by source
      effect: read
      questions:
      - Which devices estimated a user's resting calorie burn?
      - Can I see basal metabolic calories split by source?
      instructions:
      - text: Get {user}'s basal calories from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Fetch the next page of grouped resting energy for {user} at cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/calories_active/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get active calories grouped by source
      effect: read
      questions:
      - Which sources reported calories a user burned through activity?
      - Can I compare active energy burned across a user's devices?
      instructions:
      - text: Get {user}'s active calories since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: List active energy burned per device for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/respiratory_rate/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get respiratory rate grouped by source
      effect: read
      questions:
      - Which devices measured a user's breathing rate?
      - Can I page through respiratory rate samples per source?
      instructions:
      - text: Get {user}'s respiratory rate from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Show breaths-per-minute readings per device for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/note/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get user notes grouped by source
      effect: read
      questions:
      - Can I pull free-text notes a user logged alongside their health data?
      - Which apps did a user's notes come from?
      instructions:
      - text: Get notes logged by {user} since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Fetch more grouped notes for {user} after cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/insulin_injection/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get insulin injections grouped by source
      effect: read
      questions:
      - Can I see when a diabetic user logged insulin injections?
      - Which app or pen recorded a user's insulin doses?
      instructions:
      - text: Get {user}'s insulin injections from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: List insulin doses per source for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/ige/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get IgE antibody results grouped by source
      effect: read
      questions:
      - Which sources reported a user's IgE allergy antibody levels?
      - Can I page through IgE results separated by source?
      instructions:
      - text: Get {user}'s IgE results since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Show IgE allergy antibody values per source for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/igg/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get IgG antibody results grouped by source
      effect: read
      questions:
      - Which sources reported a user's IgG antibody levels?
      - Can I see IgG food sensitivity results split by source?
      instructions:
      - text: Get {user}'s IgG results from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Fetch the next page of grouped IgG antibody data for {user} at cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/hypnogram/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get sleep stage hypnograms grouped by source
      effect: read
      questions:
      - Which devices recorded a user's sleep stages through the night?
      - Can I compare hypnograms from two different sleep trackers?
      instructions:
      - text: Get {user}'s hypnogram since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: List sleep stage timelines per device for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/hrv/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get heart rate variability grouped by source
      effect: read
      questions:
      - Which devices reported a user's HRV?
      - Can I compare heart rate variability between a ring and a watch for one user?
      instructions:
      - text: Get {user}'s HRV from {start} to {end}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
          end: query.end_date
      - text: Page through grouped heart rate variability for {user} using cursor {cursor}.
        slots:
          user: path.user_id
          cursor: query.next_cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/timeseries/{user_id}/heartrate/grouped'].get
  update:
    x-apievangelist-phrasing:
      intent: Get heart rate samples grouped by source
      effect: read
      questions:
      - Which sources recorded a user's heart rate throughout the day?
      - Can I page through heart rate readings device by device?
      instructions:
      - text: Get {user}'s heart rate since {start}, grouped by source.
        slots:
          user: path.user_id
          start: query.start_date
      - text: Show pulse readings per device for {user} from {provider}.
        slots:
          user: path.user_id
          provider: query.provider
      method: generated
      generated: '2026-10-01'


# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vital-io/refs/heads/main/overlays/vital-io-time-series-api-phrasing-overlay.yaml