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