openapi: 3.2.0
info:
title: GoTo Webinar 2.0 REST Webinars API
description: 'We recommend you use the v2 of this API. If you are still using v1, you can access [v1 documentation](/GoToWebinarV1).
### Authentication Scopes
`collab:` must be used when a token is requested from the Authentication API.
# GoTo Webinar API Overview
Use the GoTo Webinar API to:
- Schedule webinars of one or more sessions
- Tailor your webinars with panelists, polls, questions and surveys
- Accept registrations
- Manage registrants and, once the webinar starts, attendees
- View data about historical and future webinars, registrants and attendees
Refer to GoTo Webinar product documentation to review the webinar types and product functionality.
Review call bodies and example call bodies in the API calls for alternate usage.
Note: Both userKey and organizerKey used in the APIs contain the same value
## Getting Started
1. [Register](/guides/Get%20Started/01_HOW_developerAccount) for a developer account.
2. Create an [OAuth client](/guides/Get%20Started/02_HOW_createClient) and include the product(s) you plan to develop with.
3. Obtain a product account as needed. Trial versions will work, but last only 30 days. We recommend a full-featured account, preferably with an Admin role.
4. Request an [Access Token](/guides/Authentication/03_HOW_accessToken) to make API calls.
5. Make your first API calls. You can use cURL, Postman, or other API interfaces to make calls.
'
version: 2.0.0
servers:
- url: https://api.getgo.com/G2W/rest/v2
security:
- OAuth2: []
tags:
- name: Webinars
description: Operations available for webinars of a given organizer.
paths:
/accounts/{accountKey}/webinars:
get:
tags:
- Webinars
operationId: getAllAccountWebinars
summary: Get all webinars for an account
description: 'Retrieves the list of webinars for an account within a given date range. `Page` and `size` parameters are optional. Default `page` is 0 and default `size` is 20.
'
parameters:
- $ref: '#/components/parameters/accountKey'
- $ref: '#/components/parameters/requiredFromTime'
- $ref: '#/components/parameters/requiredToTime'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ReportingWebinarsResponse'
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
x-codeSamples:
- lang: Node + Axios
source: "var axios = require(\"axios\").default;\n\nvar options = {\n method: 'GET',\n url: 'https://api.getgo.com/G2W/rest/v2/accounts/%7BaccountKey%7D/webinars',\n params: {\n fromTime: '2020-03-13T10:00:00Z',\n toTime: '2020-03-13T22:00:00Z',\n page: 'SOME_INTEGER_VALUE',\n size: 'SOME_INTEGER_VALUE'\n },\n headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}\n};\n\naxios.request(options).then(function (response) {\n console.log(response.data);\n}).catch(function (error) {\n console.error(error);\n});"
- lang: Shell + Curl
source: "curl --request GET \\\n --url 'https://api.getgo.com/G2W/rest/v2/accounts/%7BaccountKey%7D/webinars?fromTime=2020-03-13T10%3A00%3A00Z&toTime=2020-03-13T22%3A00%3A00Z&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
- lang: Python + Python3
source: 'import http.client
conn = http.client.HTTPSConnection("api.getgo.com")
headers = { ''Authorization'': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("GET", "/G2W/rest/v2/accounts/%7BaccountKey%7D/webinars?fromTime=2020-03-13T10%3A00%3A00Z&toTime=2020-03-13T22%3A00%3A00Z&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))'
- lang: Php + Http2
source: "<?php\n\n$client = new http\\Client;\n$request = new http\\Client\\Request;\n\n$request->setRequestUrl('https://api.getgo.com/G2W/rest/v2/accounts/%7BaccountKey%7D/webinars');\n$request->setRequestMethod('GET');\n$request->setQuery(new http\\QueryString([\n 'fromTime' => '2020-03-13T10:00:00Z',\n 'toTime' => '2020-03-13T22:00:00Z',\n 'page' => 'SOME_INTEGER_VALUE',\n 'size' => 'SOME_INTEGER_VALUE'\n]));\n\n$request->setHeaders([\n 'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$client->enqueue($request)->send();\n$response = $client->getResponse();\n\necho $response->getBody();"
- lang: Ruby + Native
source: 'require ''uri''
require ''net/http''
require ''openssl''
url = URI("https://api.getgo.com/G2W/rest/v2/accounts/%7BaccountKey%7D/webinars?fromTime=2020-03-13T10%3A00%3A00Z&toTime=2020-03-13T22%3A00%3A00Z&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Authorization"] = ''Bearer REPLACE_BEARER_TOKEN''
response = http.request(request)
puts response.read_body'
/organizers/{organizerKey}/webinars:
get:
tags:
- Webinars
operationId: getWebinars
summary: Get Webinars
description: Returns upcoming and past webinars for the currently authenticated organizer that are scheduled within the specified date/time range. `Page` and `size` parameters are optional. Default `page` is 0 and default `size` is 20. Maximum `size` is 200.
parameters:
- $ref: '#/components/parameters/organizerKey'
- $ref: '#/components/parameters/requiredFromTime'
- $ref: '#/components/parameters/requiredToTime'
- $ref: '#/components/parameters/page'
- name: size
in: query
required: false
description: The size of the page.
schema:
type: integer
format: int64
maximum: 200
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ReportingWebinarsResponse'
'400':
description: Bad Request
'403':
description: Forbidden
x-codeSamples:
- lang: Node + Axios
source: "var axios = require(\"axios\").default;\n\nvar options = {\n method: 'GET',\n url: 'https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars',\n params: {\n fromTime: '2020-03-13T10:00:00Z',\n toTime: '2020-03-13T22:00:00Z',\n page: 'SOME_INTEGER_VALUE',\n size: 'SOME_INTEGER_VALUE'\n },\n headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}\n};\n\naxios.request(options).then(function (response) {\n console.log(response.data);\n}).catch(function (error) {\n console.error(error);\n});"
- lang: Shell + Curl
source: "curl --request GET \\\n --url 'https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars?fromTime=2020-03-13T10%3A00%3A00Z&toTime=2020-03-13T22%3A00%3A00Z&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
- lang: Python + Python3
source: 'import http.client
conn = http.client.HTTPSConnection("api.getgo.com")
headers = { ''Authorization'': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("GET", "/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars?fromTime=2020-03-13T10%3A00%3A00Z&toTime=2020-03-13T22%3A00%3A00Z&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))'
- lang: Php + Http2
source: "<?php\n\n$client = new http\\Client;\n$request = new http\\Client\\Request;\n\n$request->setRequestUrl('https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars');\n$request->setRequestMethod('GET');\n$request->setQuery(new http\\QueryString([\n 'fromTime' => '2020-03-13T10:00:00Z',\n 'toTime' => '2020-03-13T22:00:00Z',\n 'page' => 'SOME_INTEGER_VALUE',\n 'size' => 'SOME_INTEGER_VALUE'\n]));\n\n$request->setHeaders([\n 'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$client->enqueue($request)->send();\n$response = $client->getResponse();\n\necho $response->getBody();"
- lang: Ruby + Native
source: 'require ''uri''
require ''net/http''
require ''openssl''
url = URI("https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars?fromTime=2020-03-13T10%3A00%3A00Z&toTime=2020-03-13T22%3A00%3A00Z&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Authorization"] = ''Bearer REPLACE_BEARER_TOKEN''
response = http.request(request)
puts response.read_body'
post:
tags:
- Webinars
operationId: createWebinar
summary: Create webinar
description: "Creates a single session webinar, a sequence of webinars or a series of webinars depending on the type field in the body:\n * `\"type\": \"single_session\"` creates a single webinar session\n * `\"type\": \"sequence\"` creates a webinar with multiple meeting times where attendees are expected to be the same for\nall sessions\n * `\"type\": \"series\"` creates a webinar with multiple meetings times where attendees choose only one to attend\n\nThe default, if no type is declared, is `\"single_session\"`.\n\n A sequence webinar requires a `\"recurrenceStart\"` object consisting of a `\"startTime\"` and `\"endTime\"` key\n for the first webinar of the sequence, a `\"recurrencePattern\"` of \"daily\",\n \"weekly\", \"monthly\", and a `\"recurrenceEnd\"` which is the last date of the sequence (for example, 2016-12-01).\n\n A series webinar requires a `\"times\"`\n array with a discrete `\"startTime\"` and `\"endTime\"` for each webinar in the\n series.\n\n The call requires a webinar subject and description. The \"isPasswordProtected\" sets whether the webinar requires a password for\n attendees to join. If set to True, the organizer must go to Registration Settings at My Webinars (https://global.gotowebinar.com/webinars.tmpl)\n and add the password to the webinar, and send the password to the registrants. The response provides a numeric webinarKey in string format\n for the new webinar. Once a webinar has been created with this method,you can accept registrations.\n"
parameters:
- $ref: '#/components/parameters/organizerKey'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebinarReqCreate'
description: The webinar details
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedWebinar'
'400':
description: Bad Request
'403':
description: Forbidden
x-codeSamples:
- lang: Node + Axios
source: "var axios = require(\"axios\").default;\n\nvar options = {\n method: 'POST',\n url: 'https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars',\n headers: {\n Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n },\n data: {\n subject: 'string',\n description: 'string',\n times: [{startTime: '2019-08-24T14:15:22Z', endTime: '2019-08-24T14:15:22Z'}],\n timeZone: 'string',\n type: 'single_session',\n locale: 'en_US',\n isPasswordProtected: false,\n recordingAssetKey: 'string',\n isOndemand: false,\n isBreakout: false,\n experienceType: 'CLASSIC',\n emailSettings: {\n confirmationEmail: {enabled: true},\n reminderEmail: {enabled: true},\n absenteeFollowUpEmail: {enabled: true},\n attendeeFollowUpEmail: {enabled: true, includeCertificate: true}\n }\n }\n};\n\naxios.request(options).then(function (response) {\n console.log(response.data);\n}).catch(function (error) {\n console.error(error);\n});"
- lang: Shell + Curl
source: "curl --request POST \\\n --url https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/json' \\\n --data '{\"subject\":\"string\",\"description\":\"string\",\"times\":[{\"startTime\":\"2019-08-24T14:15:22Z\",\"endTime\":\"2019-08-24T14:15:22Z\"}],\"timeZone\":\"string\",\"type\":\"single_session\",\"locale\":\"en_US\",\"isPasswordProtected\":false,\"recordingAssetKey\":\"string\",\"isOndemand\":false,\"isBreakout\":false,\"experienceType\":\"CLASSIC\",\"emailSettings\":{\"confirmationEmail\":{\"enabled\":true},\"reminderEmail\":{\"enabled\":true},\"absenteeFollowUpEmail\":{\"enabled\":true},\"attendeeFollowUpEmail\":{\"enabled\":true,\"includeCertificate\":true}}}'"
- lang: Python + Python3
source: "import http.client\n\nconn = http.client.HTTPSConnection(\"api.getgo.com\")\n\npayload = \"{\\\"subject\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"times\\\":[{\\\"startTime\\\":\\\"2019-08-24T14:15:22Z\\\",\\\"endTime\\\":\\\"2019-08-24T14:15:22Z\\\"}],\\\"timeZone\\\":\\\"string\\\",\\\"type\\\":\\\"single_session\\\",\\\"locale\\\":\\\"en_US\\\",\\\"isPasswordProtected\\\":false,\\\"recordingAssetKey\\\":\\\"string\\\",\\\"isOndemand\\\":false,\\\"isBreakout\\\":false,\\\"experienceType\\\":\\\"CLASSIC\\\",\\\"emailSettings\\\":{\\\"confirmationEmail\\\":{\\\"enabled\\\":true},\\\"reminderEmail\\\":{\\\"enabled\\\":true},\\\"absenteeFollowUpEmail\\\":{\\\"enabled\\\":true},\\\"attendeeFollowUpEmail\\\":{\\\"enabled\\\":true,\\\"includeCertificate\\\":true}}}\"\n\nheaders = {\n 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\",\n 'content-type': \"application/json\"\n }\n\nconn.request(\"POST\", \"/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"
- lang: Php + Http2
source: "<?php\n\n$client = new http\\Client;\n$request = new http\\Client\\Request;\n\n$body = new http\\Message\\Body;\n$body->append('{\"subject\":\"string\",\"description\":\"string\",\"times\":[{\"startTime\":\"2019-08-24T14:15:22Z\",\"endTime\":\"2019-08-24T14:15:22Z\"}],\"timeZone\":\"string\",\"type\":\"single_session\",\"locale\":\"en_US\",\"isPasswordProtected\":false,\"recordingAssetKey\":\"string\",\"isOndemand\":false,\"isBreakout\":false,\"experienceType\":\"CLASSIC\",\"emailSettings\":{\"confirmationEmail\":{\"enabled\":true},\"reminderEmail\":{\"enabled\":true},\"absenteeFollowUpEmail\":{\"enabled\":true},\"attendeeFollowUpEmail\":{\"enabled\":true,\"includeCertificate\":true}}}');\n\n$request->setRequestUrl('https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars');\n$request->setRequestMethod('POST');\n$request->setBody($body);\n\n$request->setHeaders([\n 'Authorization' => 'Bearer REPLACE_BEARER_TOKEN',\n 'content-type' => 'application/json'\n]);\n\n$client->enqueue($request)->send();\n$response = $client->getResponse();\n\necho $response->getBody();"
- lang: Ruby + Native
source: 'require ''uri''
require ''net/http''
require ''openssl''
url = URI("https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Authorization"] = ''Bearer REPLACE_BEARER_TOKEN''
request["content-type"] = ''application/json''
request.body = "{\"subject\":\"string\",\"description\":\"string\",\"times\":[{\"startTime\":\"2019-08-24T14:15:22Z\",\"endTime\":\"2019-08-24T14:15:22Z\"}],\"timeZone\":\"string\",\"type\":\"single_session\",\"locale\":\"en_US\",\"isPasswordProtected\":false,\"recordingAssetKey\":\"string\",\"isOndemand\":false,\"isBreakout\":false,\"experienceType\":\"CLASSIC\",\"emailSettings\":{\"confirmationEmail\":{\"enabled\":true},\"reminderEmail\":{\"enabled\":true},\"absenteeFollowUpEmail\":{\"enabled\":true},\"attendeeFollowUpEmail\":{\"enabled\":true,\"includeCertificate\":true}}}"
response = http.request(request)
puts response.read_body'
/organizers/{organizerKey}/insessionWebinars:
get:
tags:
- Webinars
operationId: getInSessionWebinars
summary: Get All Insession Webinars
description: 'Returns all insession webinars for the currently authenticated organizer that are scheduled within the specified date/time range. All inession webinars are returned in case no date/time range is provided.
'
parameters:
- $ref: '#/components/parameters/organizerKey'
- $ref: '#/components/parameters/optionalFromTime'
- $ref: '#/components/parameters/optionalToTime'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BrokerWebinar'
'400':
description: Bad Request
'403':
description: Forbidden
x-codeSamples:
- lang: Node + Axios
source: "var axios = require(\"axios\").default;\n\nvar options = {\n method: 'GET',\n url: 'https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/insessionWebinars',\n params: {fromTime: '2020-03-13T10:00:00Z', toTime: '2020-03-13T22:00:00Z'},\n headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}\n};\n\naxios.request(options).then(function (response) {\n console.log(response.data);\n}).catch(function (error) {\n console.error(error);\n});"
- lang: Shell + Curl
source: "curl --request GET \\\n --url 'https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/insessionWebinars?fromTime=2020-03-13T10%3A00%3A00Z&toTime=2020-03-13T22%3A00%3A00Z' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
- lang: Python + Python3
source: 'import http.client
conn = http.client.HTTPSConnection("api.getgo.com")
headers = { ''Authorization'': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("GET", "/G2W/rest/v2/organizers/%7BorganizerKey%7D/insessionWebinars?fromTime=2020-03-13T10%3A00%3A00Z&toTime=2020-03-13T22%3A00%3A00Z", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))'
- lang: Php + Http2
source: "<?php\n\n$client = new http\\Client;\n$request = new http\\Client\\Request;\n\n$request->setRequestUrl('https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/insessionWebinars');\n$request->setRequestMethod('GET');\n$request->setQuery(new http\\QueryString([\n 'fromTime' => '2020-03-13T10:00:00Z',\n 'toTime' => '2020-03-13T22:00:00Z'\n]));\n\n$request->setHeaders([\n 'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$client->enqueue($request)->send();\n$response = $client->getResponse();\n\necho $response->getBody();"
- lang: Ruby + Native
source: 'require ''uri''
require ''net/http''
require ''openssl''
url = URI("https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/insessionWebinars?fromTime=2020-03-13T10%3A00%3A00Z&toTime=2020-03-13T22%3A00%3A00Z")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Authorization"] = ''Bearer REPLACE_BEARER_TOKEN''
response = http.request(request)
puts response.read_body'
/organizers/{organizerKey}/webinars/{webinarKey}:
get:
tags:
- Webinars
operationId: getWebinar
summary: Get webinar
description: 'Retrieve information on a specific webinar. If the type of the webinar is ''sequence'', a sequence of future times will be provided. Webinars of type ''series'' are treated the same as normal webinars - each session in the webinar series has a different webinarKey. If an organizer cancels a webinar, then a request to get that webinar would return a ''404 Not Found'' error.
'
parameters:
- $ref: '#/components/parameters/organizerKey'
- $ref: '#/components/parameters/webinarKey'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WebinarByKey'
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
x-codeSamples:
- lang: Node + Axios
source: "var axios = require(\"axios\").default;\n\nvar options = {\n method: 'GET',\n url: 'https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D',\n headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}\n};\n\naxios.request(options).then(function (response) {\n console.log(response.data);\n}).catch(function (error) {\n console.error(error);\n});"
- lang: Shell + Curl
source: "curl --request GET \\\n --url https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
- lang: Python + Python3
source: 'import http.client
conn = http.client.HTTPSConnection("api.getgo.com")
headers = { ''Authorization'': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("GET", "/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))'
- lang: Php + Http2
source: "<?php\n\n$client = new http\\Client;\n$request = new http\\Client\\Request;\n\n$request->setRequestUrl('https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D');\n$request->setRequestMethod('GET');\n$request->setHeaders([\n 'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$client->enqueue($request)->send();\n$response = $client->getResponse();\n\necho $response->getBody();"
- lang: Ruby + Native
source: 'require ''uri''
require ''net/http''
require ''openssl''
url = URI("https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Authorization"] = ''Bearer REPLACE_BEARER_TOKEN''
response = http.request(request)
puts response.read_body'
put:
tags:
- Webinars
operationId: updateWebinar
summary: Update webinar
description: 'Updates a webinar. The call requires at least one of the parameters in the request body. The request completely replaces the existing session, series, or sequence and so must include the full definition of each as for the Create call. Set notifyParticipants=true to send update emails to registrants.
'
parameters:
- $ref: '#/components/parameters/organizerKey'
- $ref: '#/components/parameters/webinarKey'
- name: notifyParticipants
in: query
description: Defines whether to send notifications to participants
required: false
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebinarReqUpdate'
description: The webinar details
required: true
responses:
'202':
description: Accepted
'400':
description: Bad Request (times not valid, webinar in progress, webinar ended, etc.)
'403':
description: Forbidden
x-codeSamples:
- lang: Node + Axios
source: "var axios = require(\"axios\").default;\n\nvar options = {\n method: 'PUT',\n url: 'https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D',\n params: {notifyParticipants: 'SOME_BOOLEAN_VALUE'},\n headers: {\n Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n },\n data: {\n subject: 'string',\n description: 'string',\n times: [{startTime: '2019-08-24T14:15:22Z', endTime: '2019-08-24T14:15:22Z'}],\n timeZone: 'string',\n locale: 'en_US',\n emailSettings: {\n confirmationEmail: {enabled: true},\n reminderEmail: {enabled: true},\n absenteeFollowUpEmail: {enabled: true},\n attendeeFollowUpEmail: {enabled: true, includeCertificate: true}\n }\n }\n};\n\naxios.request(options).then(function (response) {\n console.log(response.data);\n}).catch(function (error) {\n console.error(error);\n});"
- lang: Shell + Curl
source: "curl --request PUT \\\n --url 'https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D?notifyParticipants=SOME_BOOLEAN_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/json' \\\n --data '{\"subject\":\"string\",\"description\":\"string\",\"times\":[{\"startTime\":\"2019-08-24T14:15:22Z\",\"endTime\":\"2019-08-24T14:15:22Z\"}],\"timeZone\":\"string\",\"locale\":\"en_US\",\"emailSettings\":{\"confirmationEmail\":{\"enabled\":true},\"reminderEmail\":{\"enabled\":true},\"absenteeFollowUpEmail\":{\"enabled\":true},\"attendeeFollowUpEmail\":{\"enabled\":true,\"includeCertificate\":true}}}'"
- lang: Python + Python3
source: "import http.client\n\nconn = http.client.HTTPSConnection(\"api.getgo.com\")\n\npayload = \"{\\\"subject\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"times\\\":[{\\\"startTime\\\":\\\"2019-08-24T14:15:22Z\\\",\\\"endTime\\\":\\\"2019-08-24T14:15:22Z\\\"}],\\\"timeZone\\\":\\\"string\\\",\\\"locale\\\":\\\"en_US\\\",\\\"emailSettings\\\":{\\\"confirmationEmail\\\":{\\\"enabled\\\":true},\\\"reminderEmail\\\":{\\\"enabled\\\":true},\\\"absenteeFollowUpEmail\\\":{\\\"enabled\\\":true},\\\"attendeeFollowUpEmail\\\":{\\\"enabled\\\":true,\\\"includeCertificate\\\":true}}}\"\n\nheaders = {\n 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\",\n 'content-type': \"application/json\"\n }\n\nconn.request(\"PUT\", \"/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D?notifyParticipants=SOME_BOOLEAN_VALUE\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"
- lang: Php + Http2
source: "<?php\n\n$client = new http\\Client;\n$request = new http\\Client\\Request;\n\n$body = new http\\Message\\Body;\n$body->append('{\"subject\":\"string\",\"description\":\"string\",\"times\":[{\"startTime\":\"2019-08-24T14:15:22Z\",\"endTime\":\"2019-08-24T14:15:22Z\"}],\"timeZone\":\"string\",\"locale\":\"en_US\",\"emailSettings\":{\"confirmationEmail\":{\"enabled\":true},\"reminderEmail\":{\"enabled\":true},\"absenteeFollowUpEmail\":{\"enabled\":true},\"attendeeFollowUpEmail\":{\"enabled\":true,\"includeCertificate\":true}}}');\n\n$request->setRequestUrl('https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D');\n$request->setRequestMethod('PUT');\n$request->setBody($body);\n\n$request->setQuery(new http\\QueryString([\n 'notifyParticipants' => 'SOME_BOOLEAN_VALUE'\n]));\n\n$request->setHeaders([\n 'Authorization' => 'Bearer REPLACE_BEARER_TOKEN',\n 'content-type' => 'application/json'\n]);\n\n$client->enqueue($request)->send();\n$response = $client->getResponse();\n\necho $response->getBody();"
- lang: Ruby + Native
source: 'require ''uri''
require ''net/http''
require ''openssl''
url = URI("https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D?notifyParticipants=SOME_BOOLEAN_VALUE")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Put.new(url)
request["Authorization"] = ''Bearer REPLACE_BEARER_TOKEN''
request["content-type"] = ''application/json''
request.body = "{\"subject\":\"string\",\"description\":\"string\",\"times\":[{\"startTime\":\"2019-08-24T14:15:22Z\",\"endTime\":\"2019-08-24T14:15:22Z\"}],\"timeZone\":\"string\",\"locale\":\"en_US\",\"emailSettings\":{\"confirmationEmail\":{\"enabled\":true},\"reminderEmail\":{\"enabled\":true},\"absenteeFollowUpEmail\":{\"enabled\":true},\"attendeeFollowUpEmail\":{\"enabled\":true,\"includeCertificate\":true}}}"
response = http.request(request)
puts response.read_body'
delete:
tags:
- Webinars
operationId: cancelWebinar
summary: Cancel webinar
description: 'Cancels a specific webinar. If the webinar is a series or sequence, this call deletes all scheduled sessions, set deleteAll=false in the request to delete specific session of a series webinar. To send cancellation emails to registrants set sendCancellationEmails=true in the request. When the cancellation emails are sent, the default generated message is used in the cancellation email body.
'
parameters:
- $ref: '#/components/parameters/organizerKey'
- $ref: '#/components/parameters/webinarKey'
- name: sendCancellationEmails
in: query
description: Indicates whether cancellation notice emails should be sent. The default value is false
required: false
schema:
type: boolean
- name: deleteAll
in: query
description: Specifies whether all scheduled sessions should be deleted if the webinar is part of a series. The default value is true.
required: false
schema:
type: boolean
responses:
'204':
description: No Content
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: Conflict (Webinar is in session)
x-codeSamples:
- lang: Node + Axios
source: "var axios = require(\"axios\").default;\n\nvar options = {\n method: 'DELETE',\n url: 'https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D',\n params: {sendCancellationEmails: 'SOME_BOOLEAN_VALUE', deleteAll: 'SOME_BOOLEAN_VALUE'},\n headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}\n};\n\naxios.request(options).then(function (response) {\n console.log(response.data);\n}).catch(function (error) {\n console.error(error);\n});"
- lang: Shell + Curl
source: "curl --request DELETE \\\n --url 'https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D?sendCancellationEmails=SOME_BOOLEAN_VALUE&deleteAll=SOME_BOOLEAN_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
- lang: Python + Python3
source: 'import http.client
conn = http.client.HTTPSConnection("api.getgo.com")
headers = { ''Authorization'': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("DELETE", "/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D?sendCancellationEmails=SOME_BOOLEAN_VALUE&deleteAll=SOME_BOOLEAN_VALUE", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))'
- lang: Php + Http2
source: "<?php\n\n$client = new http\\Client;\n$request = new http\\Client\\Request;\n\n$request->setRequestUrl('https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D');\n$request->setRequestMethod('DELETE');\n$request->setQuery(new http\\QueryString([\n 'sendCancellationEmails' => 'SOME_BOOLEAN_VALUE',\n 'deleteAll' => 'SOME_BOOLEAN_VALUE'\n]));\n\n$request->setHeaders([\n 'Authorization' => 'Beare
# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/goto-webinar/refs/heads/main/openapi/goto-webinar-webinars-api-openapi.yml