GoToWebinar · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Gotowebinar Webinars API

16 actions 16 updates phrasing extends openapi/gotowebinar-webinars-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for GoToWebinar's API. It is a proposal applied on top of the contract, not a document GoToWebinar publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 16

$.info
$.paths['/accounts/{accountKey}/webinars'].get
$.paths['/organizers/{organizerKey}/webinars'].get
$.paths['/organizers/{organizerKey}/webinars'].post
$.paths['/organizers/{organizerKey}/insessionWebinars'].get
$.paths['/organizers/{organizerKey}/webinars/{webinarKey}'].get
$.paths['/organizers/{organizerKey}/webinars/{webinarKey}'].put
$.paths['/organizers/{organizerKey}/webinars/{webinarKey}'].delete
$.paths['/organizers/{organizerKey}/webinars/{webinarKey}/attendees'].get
$.paths['/organizers/{organizerKey}/webinars/{webinarKey}/meetingtimes'].get
$.paths['/organizers/{organizerKey}/webinars/{webinarKey}/audio'].get
$.paths['/organizers/{organizerKey}/webinars/{webinarKey}/audio'].post
$.paths['/organizers/{organizerKey}/webinars/{webinarKey}/performance'].get
$.paths['/webinars/{webinarKey}/startUrl'].get
$.paths['/webinars/{webinarKey}/copy'].put
$.paths['/webinars/{webinarKey}/recordingAssets'].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 Gotowebinar Webinars API
  version: 1.0.0
extends: openapi/gotowebinar-webinars-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['/accounts/{accountKey}/webinars'].get
  update:
    x-apievangelist-phrasing:
      intent: List all webinars across an account
      effect: read
      questions:
      - Which webinars are scheduled across our whole GoTo Webinar account this month?
      - Can I list every organizer's webinars for an account within a date range?
      instructions:
      - text: List all webinars in account {accountKey} between {fromTime} and {toTime}.
        slots:
          accountKey: path.accountKey
          fromTime: query.fromTime
          toTime: query.toTime
      - text: Show page {page} of account {accountKey}'s webinars from {fromTime} to {toTime}, {size} per page.
        slots:
          page: query.page
          accountKey: path.accountKey
          fromTime: query.fromTime
          toTime: query.toTime
          size: query.size
      method: generated
      generated: '2026-10-01'
- target: $.paths['/organizers/{organizerKey}/webinars'].get
  update:
    x-apievangelist-phrasing:
      intent: List an organizer's webinars in a date range
      effect: read
      questions:
      - What webinars do I have coming up or already held in a given period?
      - How many webinars can I get back per page when listing my own webinars?
      instructions:
      - text: List organizer {organizerKey}'s webinars between {fromTime} and {toTime}.
        slots:
          organizerKey: path.organizerKey
          fromTime: query.fromTime
          toTime: query.toTime
      - text: Show my webinars as organizer {organizerKey} from {fromTime} to {toTime}, {size} at a time.
        slots:
          organizerKey: path.organizerKey
          fromTime: query.fromTime
          toTime: query.toTime
          size: query.size
      method: generated
      generated: '2026-10-01'
- target: $.paths['/organizers/{organizerKey}/webinars'].post
  update:
    x-apievangelist-phrasing:
      intent: Schedule a new webinar
      effect: write
      questions:
      - How do I schedule a new webinar with a title and start and end time?
      - Can I create a series where attendees pick just one of several times?
      - Is it possible to create a simulive webinar from an existing recording?
      instructions:
      - text: Schedule a webinar called {subject} at {times} for organizer {organizerKey}.
        slots:
          subject: requestBody.subject
          times: requestBody.times
          organizerKey: path.organizerKey
      - text: Create a {type} webinar {subject} at {times} in time zone {timeZone}.
        slots:
          type: requestBody.type
          subject: requestBody.subject
          times: requestBody.times
          timeZone: requestBody.timeZone
      method: generated
      generated: '2026-10-01'
- target: $.paths['/organizers/{organizerKey}/insessionWebinars'].get
  update:
    x-apievangelist-phrasing:
      intent: List webinars that are live right now
      effect: read
      questions:
      - Which of my webinars are currently in session?
      - Can I check for live webinars within a specific time window?
      instructions:
      - text: List the in-session webinars for organizer {organizerKey} up to {toTime}.
        slots:
          organizerKey: path.organizerKey
          toTime: query.toTime
      - text: Show organizer {organizerKey}'s webinars live between {fromTime} and {toTime}.
        slots:
          organizerKey: path.organizerKey
          fromTime: query.fromTime
          toTime: query.toTime
      method: generated
      generated: '2026-10-01'
- target: $.paths['/organizers/{organizerKey}/webinars/{webinarKey}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a webinar's details
      effect: read
      questions:
      - What are the settings and scheduled times of one of my webinars?
      - For a sequence webinar, can I see its future session times?
      instructions:
      - text: Get webinar {webinarKey} for organizer {organizerKey}.
        slots:
          webinarKey: path.webinarKey
          organizerKey: path.organizerKey
      - text: Show the details and description of webinar {webinarKey}.
        slots:
          webinarKey: path.webinarKey
      method: generated
      generated: '2026-10-01'
- target: $.paths['/organizers/{organizerKey}/webinars/{webinarKey}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a webinar's title, times or description
      effect: write
      questions:
      - How do I reschedule or rename a webinar I already set up?
      - Can registrants be emailed automatically when I change a webinar?
      instructions:
      - text: Rename webinar {webinarKey} of organizer {organizerKey} to {subject}.
        slots:
          webinarKey: path.webinarKey
          organizerKey: path.organizerKey
          subject: requestBody.subject
      - text: 'Move webinar {webinarKey} to {times} and notify participants: {notifyParticipants}.'
        slots:
          webinarKey: path.webinarKey
          times: requestBody.times
          notifyParticipants: query.notifyParticipants
      method: generated
      generated: '2026-10-01'
- target: $.paths['/organizers/{organizerKey}/webinars/{webinarKey}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Cancel a webinar
      effect: destructive
      questions:
      - How do I cancel a scheduled webinar and let registrants know?
      - Can I cancel just one session of a series instead of all of them?
      instructions:
      - text: Cancel webinar {webinarKey} for organizer {organizerKey}.
        slots:
          webinarKey: path.webinarKey
          organizerKey: path.organizerKey
      - text: 'Cancel webinar {webinarKey}, sending cancellation emails: {sendCancellationEmails}, deleting all sessions: {deleteAll}.'
        slots:
          webinarKey: path.webinarKey
          sendCancellationEmails: query.sendCancellationEmails
          deleteAll: query.deleteAll
      method: generated
      generated: '2026-10-01'
- target: $.paths['/organizers/{organizerKey}/webinars/{webinarKey}/attendees'].get
  update:
    x-apievangelist-phrasing:
      intent: Get attendees of all sessions of a webinar
      effect: read
      questions:
      - Who attended my webinar across all its sessions, page by page?
      - Can I page through the attendees of every session of a webinar in one list?
      instructions:
      - text: Get the attendees of all sessions of webinar {webinarKey} for organizer {organizerKey}.
        slots:
          webinarKey: path.webinarKey
          organizerKey: path.organizerKey
      - text: Show page {page} of webinar {webinarKey}'s attendees across sessions, {size} per page.
        slots:
          page: query.page
          webinarKey: path.webinarKey
          size: query.size
      method: generated
      generated: '2026-10-01'
- target: $.paths['/organizers/{organizerKey}/webinars/{webinarKey}/meetingtimes'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a webinar's meeting times
      effect: read
      questions:
      - When are all the meeting times scheduled for a webinar?
      - Can I list just the start and end times of a multi-session webinar?
      instructions:
      - text: Get the meeting times for webinar {webinarKey} of organizer {organizerKey}.
        slots:
          webinarKey: path.webinarKey
          organizerKey: path.organizerKey
      - text: List when webinar {webinarKey} meets.
        slots:
          webinarKey: path.webinarKey
      method: generated
      generated: '2026-10-01'
- target: $.paths['/organizers/{organizerKey}/webinars/{webinarKey}/audio'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a webinar's audio and dial-in settings
      effect: read
      questions:
      - What dial-in numbers and audio options are set for a webinar?
      - Is my webinar using phone dial-in, computer audio, or a private conference line?
      instructions:
      - text: Get the audio settings for webinar {webinarKey} of organizer {organizerKey}.
        slots:
          webinarKey: path.webinarKey
          organizerKey: path.organizerKey
      - text: Show the conference call details for webinar {webinarKey}.
        slots:
          webinarKey: path.webinarKey
      method: generated
      generated: '2026-10-01'
- target: $.paths['/organizers/{organizerKey}/webinars/{webinarKey}/audio'].post
  update:
    x-apievangelist-phrasing:
      intent: Change a webinar's audio and dial-in settings
      effect: write
      questions:
      - How do I switch a webinar's audio to phone dial-in or my own conferencing system?
      - Can I add toll-free dial-in countries to a webinar's audio setup?
      instructions:
      - text: Set webinar {webinarKey} of organizer {organizerKey} to audio type {type}.
        slots:
          webinarKey: path.webinarKey
          organizerKey: path.organizerKey
          type: requestBody.type
      - text: Change webinar {webinarKey}'s audio to {type} with dial-in settings {pstnInfo}.
        slots:
          webinarKey: path.webinarKey
          type: requestBody.type
          pstnInfo: requestBody.pstnInfo
      method: generated
      generated: '2026-10-01'
- target: $.paths['/organizers/{organizerKey}/webinars/{webinarKey}/performance'].get
  update:
    x-apievangelist-phrasing:
      intent: Get performance across all sessions of a webinar
      effect: read
      questions:
      - How did my webinar perform overall, across every session it ran?
      - Can I compare performance details for all sessions of one webinar?
      instructions:
      - text: Get performance for all sessions of webinar {webinarKey} for organizer {organizerKey}.
        slots:
          webinarKey: path.webinarKey
          organizerKey: path.organizerKey
      - text: Report session-by-session performance for webinar {webinarKey}.
        slots:
          webinarKey: path.webinarKey
      method: generated
      generated: '2026-10-01'
- target: $.paths['/webinars/{webinarKey}/startUrl'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the link to start a webinar
      effect: read
      questions:
      - What URL do I open to launch and start my webinar as the organizer?
      - Is there a start link I can give the host to kick off a webinar?
      instructions:
      - text: Get the start URL for webinar {webinarKey}.
        slots:
          webinarKey: path.webinarKey
      - text: Give me the link to launch webinar {webinarKey}.
        slots:
          webinarKey: path.webinarKey
      method: generated
      generated: '2026-10-01'
- target: $.paths['/webinars/{webinarKey}/copy'].put
  update:
    x-apievangelist-phrasing:
      intent: Copy a webinar into a new one
      effect: write
      questions:
      - How do I duplicate an existing webinar with new dates?
      - Who is allowed to copy a webinar?
      instructions:
      - text: Copy webinar {webinarKey} as {subject} at {times}.
        slots:
          webinarKey: path.webinarKey
          subject: requestBody.subject
          times: requestBody.times
      - text: Duplicate webinar {webinarKey} into a new webinar.
        slots:
          webinarKey: path.webinarKey
      method: generated
      generated: '2026-10-01'
- target: $.paths['/webinars/{webinarKey}/recordingAssets'].get
  update:
    x-apievangelist-phrasing:
      intent: List the recordings of one webinar
      effect: read
      questions:
      - Where can I download the recording and transcript of a particular webinar?
      - Does a webinar's recording list include the MP4 download URL?
      instructions:
      - text: Get the recording assets for webinar {webinarKey}.
        slots:
          webinarKey: path.webinarKey
      - text: Show page {page} of webinar {webinarKey}'s recordings, {limit} per page.
        slots:
          page: query.page
          webinarKey: path.webinarKey
          limit: query.limit
      method: generated
      generated: '2026-10-01'