GoTo Webinar Sessions API
Session reporting for GoTo Webinar — 7 operations covering an organizer's sessions in a date range, the sessions of a webinar, one session, its attendance performance, and its polls, Q&A questions and surveys.
Session reporting for GoTo Webinar — 7 operations covering an organizer's sessions in a date range, the sessions of a webinar, one session, its attendance performance, and its polls, Q&A questions and surveys.
openapi: 3.2.0
info:
title: GoTo Webinar 2.0 REST Sessions 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: Sessions
description: Operations available for sessions of a given webinar.
paths:
/organizers/{organizerKey}/sessions:
get:
tags:
- Sessions
operationId: getOrganizerSessions
summary: Get organizer sessions
description: Retrieve all completed sessions of all the webinars of a given organizer.
parameters:
- $ref: '#/components/parameters/organizerKey'
- $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/ReportingSessionsResponse'
'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/sessions',\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/sessions?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/sessions?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/sessions');\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/sessions?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/{webinarKey}/sessions:
get:
tags:
- Sessions
operationId: getAllSessions
summary: Get webinar sessions
description: Retrieves details for all past sessions of a specific webinar.
parameters:
- $ref: '#/components/parameters/organizerKey'
- $ref: '#/components/parameters/webinarKey'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ReportingSessionsResponse'
'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/sessions',\n params: {page: 'SOME_INTEGER_VALUE', size: 'SOME_INTEGER_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 GET \\\n --url 'https://api.getgo.com/G2W/rest/v2/organizers/%7BorganizerKey%7D/webinars/%7BwebinarKey%7D/sessions?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/%7BwebinarKey%7D/sessions?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/%7BwebinarKey%7D/sessions');\n$request->setRequestMethod('GET');\n$request->setQuery(new http\\QueryString([\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/%7BwebinarKey%7D/sessions?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/{webinarKey}/sessions/{sessionKey}:
get:
tags:
- Sessions
operationId: getWebinarSession
summary: Get webinar session
description: 'Retrieves attendance details for a specific webinar session that has ended. If attendees attended the session (''registrantsAttended''), specific attendance details, such as attendenceTime for a registrant, will also be retrieved.
'
parameters:
- $ref: '#/components/parameters/organizerKey'
- $ref: '#/components/parameters/webinarKey'
- $ref: '#/components/parameters/sessionKey'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Attendee'
'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/sessions/%7BsessionKey%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/sessions/%7BsessionKey%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/sessions/%7BsessionKey%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/sessions/%7BsessionKey%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/sessions/%7BsessionKey%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'
/organizers/{organizerKey}/webinars/{webinarKey}/sessions/{sessionKey}/performance:
get:
tags:
- Sessions
operationId: getPerformance
summary: Get session performance
description: Get performance details for a session.
parameters:
- $ref: '#/components/parameters/organizerKey'
- $ref: '#/components/parameters/webinarKey'
- $ref: '#/components/parameters/sessionKey'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SessionPerformance'
'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/sessions/%7BsessionKey%7D/performance',\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/sessions/%7BsessionKey%7D/performance \\\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/sessions/%7BsessionKey%7D/performance", 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/sessions/%7BsessionKey%7D/performance');\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/sessions/%7BsessionKey%7D/performance")
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}/sessions/{sessionKey}/polls:
get:
tags:
- Sessions
operationId: getPolls
summary: Get session polls
description: Retrieve all collated attendee questions and answers for polls from a specific webinar session.
parameters:
- $ref: '#/components/parameters/organizerKey'
- $ref: '#/components/parameters/webinarKey'
- $ref: '#/components/parameters/sessionKey'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Poll'
'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/sessions/%7BsessionKey%7D/polls',\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/sessions/%7BsessionKey%7D/polls \\\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/sessions/%7BsessionKey%7D/polls", 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/sessions/%7BsessionKey%7D/polls');\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/sessions/%7BsessionKey%7D/polls")
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}/sessions/{sessionKey}/questions:
get:
tags:
- Sessions
operationId: getQuestions
summary: Get session questions
description: Retrieve questions and answers for a past webinar session.
parameters:
- $ref: '#/components/parameters/organizerKey'
- $ref: '#/components/parameters/webinarKey'
- $ref: '#/components/parameters/sessionKey'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AttendeeQuestion'
'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/sessions/%7BsessionKey%7D/questions',\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/sessions/%7BsessionKey%7D/questions \\\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/sessions/%7BsessionKey%7D/questions", 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/sessions/%7BsessionKey%7D/questions');\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/sessions/%7BsessionKey%7D/questions")
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}/sessions/{sessionKey}/surveys:
get:
tags:
- Sessions
operationId: getSurveys
summary: Get session surveys
description: Retrieve surveys for a past webinar session.
parameters:
- $ref: '#/components/parameters/organizerKey'
- $ref: '#/components/parameters/webinarKey'
- $ref: '#/components/parameters/sessionKey'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Poll'
'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/sessions/%7BsessionKey%7D/surveys',\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/sessions/%7BsessionKey%7D/surveys \\\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/sessions/%7BsessionKey%7D/surveys", 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/sessions/%7BsessionKey%7D/surveys');\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/sessions/%7BsessionKey%7D/surveys")
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'
components:
schemas:
Attendee:
description: Describes the attendee of a webinar
required:
- registrantKey
- firstName
- lastName
- email
- attendanceTimeInSeconds
- attendance
- sessionKey
properties:
registrantKey:
type: integer
format: int64
description: The key of the webinar attendee
firstName:
type: string
description: The attendee's first name
lastName:
type: string
description: The attendee's last name
email:
type: string
description: The attendee's email address
attendanceTimeInSeconds:
type: integer
format: int64
description: The total attendance time in seconds
sessionKey:
type: integer
format: int64
description: The unique key of the webinar session
attendance:
type: array
items:
$ref: '#/components/schemas/Attendance'
description: The list of times the attendee joined and left the webinar session
AnswerToAttendeeQuestion:
description: Describes an answer to a question asked by an attendee during a webinar session.
required:
- answer
- answeredBy
- answererRole
- answerTime
- answererEmail
properties:
answer:
type: string
description: An answer given to a question asked by an attendee during a webinar session
answeredBy:
type: string
description: The key of the organizer that answered the attendee's question
answererRole:
type: string
description: The role of the answerer
answerTime:
type: string
description: The key of the organizer that answered the attendee's question
answererEmail:
type: string
description: The answerer's email address
SessionInfoStatistics:
description: Describes session details for webinar session
required:
- webinarName
- webinarId
- sessionKey
- timeZone
- experienceType
- recurrencePeriod
- startTime
- endTime
- registrationEmailOpenedCount
- registrationLinkClickedCount
properties:
webinarName:
type: string
description: Name of the webinar
webinarId:
type: string
description: The 9-digit webinar ID
sessionKey:
type: string
description: The key of the webinar session
timeZone:
type: string
description: The time zone where the webinar will take place
experienceType:
description: Specifies the webinar experience type.
type: string
enum:
- CLASSIC
- BROADCAST
- SIMULIVE
recurrencePeriod:
type: string
startTime:
type: string
format: date-time
description: The starting time of an interval, e.g. 2020-03-13T10:00:00Z
endTime:
type: string
format: date-time
description: The ending time of an interval, e.g. 2020-03-13T22:00:00Z
registrationEmailOpenedCount:
type: string
description: The count of opened registration emails
registrationLinkClickedCount:
type: string
description: The count of registration links clicked
PollResponse:
description: One of the potential responses/options to a poll or survey launched by an organizer during a webinar session.
required:
- text
- percentage
properties:
text:
type: string
description: The text of the response/option to a poll or survey
percentage:
type: number
format: float
description: The percentage of responses that favored this particular option
maximum: 100
minimum: 0
SessionPerformance:
description: Describes performance details for webinar sessions
required:
- sessionInfo
- attendance
- pollsAndSurveys
properties:
sessionInfo:
$ref: '#/components/schemas/SessionInfoStatistics'
attendance:
$ref: '#/components/schemas/AttendanceStatistics'
pollsAndSurveys:
$ref: '#/components/schemas/PollsAndSurveysStatistics'
AttendeeQuestion:
description: Describes the question asked by an attendee during a webinar session; includes the answers given to it.
required:
- answers
- question
- askedBy
- askerKey
- dateAsked
properties:
answers:
type: array
items:
$ref: '#/components/schemas/AnswerToAttendeeQuestion'
description: Answer to a question of an attendee and key of the organizer that answered
question:
type: string
description: The question asked by the attendee
askedBy:
type: string
description: The email address of the attendee that asked the question
askerKey:
type: string
description: The key of the attendee who asked the question
dateAsked:
type: string
format: date-time
description: The date on which the question was asked e.g. 2020-03-13T10:00:00Z
Poll:
description: A poll or survey launched by an organizer during or after a webinar session; includes the responses given to it by the attendees.
required:
- responses
- question
- numberOfResponses
properties:
responses:
type: array
items:
$ref: '#/components/schemas/PollResponse'
description: The responses given by the attendees to the poll or survey
question:
type: string
description: The poll or survey question asked by the webinar organizer
numberOfResponses:
type: integer
format: int32
description: The total number of responses received for this poll or survey
ReportingSession:
description: Describes a completed webinar session.
required:
- sessionKey
- webinarKey
- webinarName
- startTime
- endTime
- registrantsAttended
- registrantCount
- accountKey
- creatingOrganizerKey
- creatingOrganizerName
- startingOrganizerKey
- startingOrganizerName
- totalPollCount
- timeZone
- experienceType
- webinarID
properties:
sessionKey:
type: string
description: The unique key of the webinar session
webinarKey:
type: string
description: The unique key of the webinar
webinarName:
type: string
description: The webinar name
startTime:
type: string
format: date-time
description: The starting time of the webinar session
endTime:
type: string
format: date-time
description: The ending time of the webinar session
registrantsAttended:
type: integer
format: int32
description: The number of registrants who attended the webinar session
registrantCount:
type: integer
format: int32
description: The total number of registrants for the webinar
accountKey:
type: string
description: The key of the account
creatingOrganizerKey:
type: string
description: The key of the webinar organizer who scheduled the webinar
creatingOrganizerName:
type: string
description: The name of the webinar organizer who scheduled the webinar
startingOrganizerKey:
type: string
description: The key of the webinar organizer who started the webinar session
startingOrganizerName:
type: string
description: The name of the webinar organizer who started the webinar session
totalPollCount:
type: integer
format: int32
description: The total num
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/goto-webinar/refs/heads/main/openapi/goto-webinar-sessions-api-openapi.yml