GoTo Developer

GoTo Training REST API (1.0.0)

GoTo Training API Overview

Use the GoTo Training APIs to:

  • Schedule trainings of one or more sessions
  • Tailor your trainings with panelists, polls, questions and surveys
  • Accept registrations
  • Manage registrants and, once the training starts, attendees
  • View data about historical and future webinars, registrants and attendees

Refer to GoTo Training product documentation to review the training types and product functionality.

Review call bodies and example call bodies in the API calls for alternate usage.

Getting Started

  1. Register for a GoTo Developer account.
  2. Create an OAuth client 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 to make API calls.
  5. Make your first API calls. You can use cURL, Postman, or other API interfaces to make calls.

Organizers

Operations for managing organizers. These operations are deprecated, please use the Admin API instead.

Get Organizers Deprecated

DEPRECATED: Please use the Admin API call 'Get all users' instead. For details see Admin API - Get Users.

Authorizations:
OAuth2
path Parameters
accountKey
required
integer <int64>

The key of the multi-user account

Responses

Response Schema: application/json
Array
organizerKey
required
string

The key of the training (co-)organizer

email
required
string

The email address of the training (co-)organizer

givenName
required
string

The (co-)organizer's first name

surname
required
string

The (co-)organizer's surname

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/accounts/%7BaccountKey%7D/organizers',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
[
  • {
    }
]

Trainings

Operations for managing trainings.

Create Training

Schedules a training of one or more sessions. You can only add organizers to a training if you have a multi-user account. Once a training has been created with this method, you can accept registrations to the training. Registration is for the entire training - all sessions. (The GoTo Training admin site enables you to create trainings that allow participants to register for individual sessions as well as automatically create weekly or monthly events.) Registration settings controls whether you allow web registration for this training, and whether a confirmation email is sent to the registrant following registration. Disabling the confirmation email is an API-only setting. If the user registers through the GoTo Training website, a confirmation email is sent. If the user is manually approved by the training administrator through the GoTo Training web site, the confirmation email is sent. It is recommended that you disable web registration if you disable confirmation emails. The response contains a trainingKey for the scheduled training.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

Request Body schema: application/json

The details of the training to create

name
required
string

Name of the training

description
string

Description of the training

timeZone
required
string

Time zone of the training (must be a valid time zone ID).

required
Array of objects (DateTimeRange)

Array with startDate and endDate for the training sessions

object (RegistrationSettings)

Training settings, namely availability of web registration and confirmation emails to the training registrants

organizers
Array of integers <int64> [ items <int64 > ]

List of keys of the co-organizers for this training

Responses

Response Schema: application/json
string

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "timeZone": "string",
  • "times": [
    ],
  • "registrationSettings": {
    },
  • "organizers": [
    ]
}

Response samples

Content type
application/json
"string"

Get Trainings

Retrieves all scheduled trainings for a given organizer. The trainings are returned in the order in which they were created. Completed trainings are not included; ongoing trainings with past sessions are included along with the past sessions. If the organizer does not have any scheduled trainings, the response will be empty.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

Responses

Response Schema: application/json
Array
trainingId
required
string

The 9-digit training's ID

name
required
string

The training's subject

description
string

The training's description

timeZone
required
string

The time zone where the training takes place

required
Array of objects (DateTimeRange)

Array with startDate and endDate for the training sessions

required
Array of objects (Organizer)

The list of (co-)organizers for the training

creatorKey
string

The creator's key

required
object (RegistrationSettings)

Training settings, namely availability of web registration and confirmation emails to the training registrants

trainingKey
required
string

The training's unique key

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/organizers/%7BorganizerKey%7D/trainings',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
[
  • {
    }
]

Get Training

Uses the organizer key and training key to retrieve information on a scheduled training.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Responses

Response Schema: application/json
trainingId
required
string

The 9-digit training's ID

name
required
string

The training's subject

description
string

The training's description

timeZone
required
string

The time zone where the training takes place

required
Array of objects (DateTimeRange)

Array with startDate and endDate for the training sessions

required
Array of objects (Organizer)

The list of (co-)organizers for the training

creatorKey
string

The creator's key

required
object (RegistrationSettings)

Training settings, namely availability of web registration and confirmation emails to the training registrants

trainingKey
required
string

The training's unique key

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/organizers/%7BorganizerKey%7D/trainings/%7BtrainingKey%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
{
  • "trainingId": "string",
  • "name": "string",
  • "description": "string",
  • "timeZone": "string",
  • "times": [
    ],
  • "organizers": [
    ],
  • "creatorKey": "string",
  • "registrationSettings": {
    },
  • "trainingKey": "string"
}

Delete Training

Deletes a scheduled or completed training. For scheduled trainings, it deletes all scheduled sessions of the training. For completed trainings, the sessions remain in the database. No email is sent to organizers or registrants, but when participants attempt to start or join the training, they are directed to a page that states: Training Not Found: The training you are trying to join is no longer available.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Responses

Request samples

var axios = require("axios").default;

var options = {
  method: 'DELETE',
  url: 'https://api.getgo.com/G2T/rest/organizers/%7BorganizerKey%7D/trainings/%7BtrainingKey%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Get Management URL for Training

Retrieves a direct URL to the admin portal for a specific training. The request identifies the organizer and the training; the response provides a link the organizer can use to manage or launch the training in the admin portal. The training organizer will be required to log in. You can schedule and manage the training (e.g., add tests, polls and training materials) from the URL provided in the response.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Responses

Response Schema: application/json
string

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/organizers/%7BorganizerKey%7D/trainings/%7BtrainingKey%7D/manageUrl',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
"string"

Update Training Name and Description

Updates a scheduled training’s name and description.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Request Body schema: application/json

The new name and description for the training

name
required
string

The training's name

description
string

The training's description

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Get Training Organizers

Retrieves organizer details for a specific training. This is only applicable to multi-user accounts with sharing enabled (co-organizers).

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Responses

Response Schema: application/json
Array
organizerKey
required
string

The key of the training (co-)organizer

email
required
string

The email address of the training (co-)organizer

givenName
required
string

The (co-)organizer's first name

surname
required
string

The (co-)organizer's surname

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/organizers/%7BorganizerKey%7D/trainings/%7BtrainingKey%7D/organizers',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
[
  • {
    }
]

Update Training Organizers

Replaces the co-organizers for a specific training. The scheduling organizer cannot be unassigned. Organizers will be notified via email if the notifyOrganizers parameter is set to true. Replaced organizers are not notified. This method is only applicable to multi-user accounts with sharing enabled (co-organizers).

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Request Body schema: application/json

Details required to update the list of organizers for a training

organizers
required
Array of integers <int64> [ items <int64 > ]

List of keys of the organizers for the training.

notifyOrganizers
boolean

Specifies whether an email should be sent notifying of the change to the training's organizers.

Responses

Request samples

Content type
application/json
{
  • "organizers": [
    ],
  • "notifyOrganizers": true
}

Update Training Registration Settings

An API request to automatically enable or disable web registrations and confirmation emails to registrants.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Request Body schema: application/json

The new registration settings for the training

disableConfirmationEmail
required
boolean

Indicates whether confirmation emails to the training registrants are disabled

disableWebRegistration
required
boolean

Indicates whether the web registration for the training is disabled

Responses

Request samples

Content type
application/json
{
  • "disableConfirmationEmail": true,
  • "disableWebRegistration": true
}

Get Start Url

Retrieves a URL that can be used to start a training. When this URL is opened in a web browser, the GoTo Training client will be downloaded and launched and the training will start after the organizer logs in with its credentials.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Responses

Response Schema: application/json
string

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/organizers/%7BorganizerKey%7D/trainings/%7BtrainingKey%7D/startUrl',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
"string"

Start Training

Returns a URL that can be used to start a training. When this URL is opened in a web browser, the GoTo Training client will be downloaded and launched and the training will start. A login of the organizer is not required.

Authorizations:
OAuth2
path Parameters
trainingKey
required
integer <int64>

The key of the training

Responses

Response Schema: application/json
hostURL
required
string

The host URL that can be used to start a training

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/trainings/%7BtrainingKey%7D/start',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
{
  • "hostURL": "string"
}

Update Training Times

A request to update a scheduled training's start and end times. If the request contains 'notifyTrainers = true' and 'notifyRegistrants = true', both organizers and registrants are notified. The response provides the number of notified trainers and registrants.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Request Body schema: application/json

The new start and end times for the scheduled training

timeZone
required
string

Time zone of the training (must be a valid time zone ID).

required
Array of objects (DateTimeRange)

Start and end times for the training sessions

notifyRegistrants
boolean

Notify registrants via email of change to training. Default is true

notifyTrainers
boolean

Notify trainers via email of change to training. Default is true

Responses

Response Schema: application/json
notifiedRegistrants
required
integer <int32>

Number of registrants notified of changes to a training

notifiedTrainers
required
integer <int32>

Number of trainers notified of changes to a training

Request samples

Content type
application/json
{
  • "timeZone": "string",
  • "times": [
    ],
  • "notifyRegistrants": true,
  • "notifyTrainers": true
}

Response samples

Content type
application/json
{
  • "notifiedRegistrants": 0,
  • "notifiedTrainers": 0
}

List Tests for a Training

This API retrieves a list of tests associated with a specified training key. Optionally, a session key can be provided. The response is paginated and returns data related to each test questionnaire.

Authorizations:
OAuth2
path Parameters
trainingKey
required
string

The key for the specific training.

query Parameters
sessionKey
string

The key for the specific session.

page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer [ 1 .. 200 ]
Default: 20

The size of the page to be returned

sort
Array of strings
Default: ["questionnaireKey"]
Items Enum: "questionnaireKey" "questionnaireVersion"

Sorting criteria in the format.

Responses

Response Schema: application/json
Array of objects (TestItem)
currentPage
integer
pageSize
integer
totalPages
integer
totalItems
integer <int64>
sort
Array of strings

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.goto.com/training/v1/trainings/%7BtrainingKey%7D/tests',
  params: {
    sessionKey: 'SOME_STRING_VALUE',
    page: 'SOME_INTEGER_VALUE',
    size: 'SOME_INTEGER_VALUE',
    sort: 'SOME_ARRAY_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "currentPage": 0,
  • "pageSize": 10,
  • "totalPages": 1,
  • "totalItems": 4,
  • "sort": [
    ]
}

List Polls for a Training

This API retrieves a list of polls associated with a specified training key. Optionally, a session key can be provided. The response is paginated and returns data related to each poll questionnaire.

Authorizations:
OAuth2
path Parameters
trainingKey
required
string

The key for the specific training.

query Parameters
sessionKey
string

The key for the specific session.

page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer [ 1 .. 200 ]
Default: 20

The size of the page to be returned

sort
Array of strings
Default: ["questionnaireKey"]
Items Enum: "questionnaireKey" "questionnaireVersion"

Sorting criteria in the format.

Responses

Response Schema: application/json
Array of objects (PollItem)
currentPage
integer
pageSize
integer
totalPages
integer
totalItems
integer <int64>
sort
Array of strings

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.goto.com/training/v1/trainings/%7BtrainingKey%7D/polls',
  params: {
    sessionKey: 'SOME_STRING_VALUE',
    page: 'SOME_INTEGER_VALUE',
    size: 'SOME_INTEGER_VALUE',
    sort: 'SOME_ARRAY_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "currentPage": 0,
  • "pageSize": 10,
  • "totalPages": 1,
  • "totalItems": 4,
  • "sort": [
    ]
}

List Surveys for a Training

This API retrieves a list of surveys associated with a specified training key. Optionally, a session key can be provided. The response is paginated and returns data related to each poll questionnaire.

Authorizations:
OAuth2
path Parameters
trainingKey
required
string

The key for the specific training.

query Parameters
sessionKey
string

The key for the specific session.

page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer [ 1 .. 200 ]
Default: 20

The size of the page to be returned

sort
Array of strings
Default: ["questionnaireKey"]
Items Enum: "questionnaireKey" "questionnaireVersion"

Sorting criteria in the format.

Responses

Response Schema: application/json
Array of objects (SurveyItem)
currentPage
integer
pageSize
integer
totalPages
integer
totalItems
integer <int64>
sort
Array of strings

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.goto.com/training/v1/trainings/%7BtrainingKey%7D/surveys',
  params: {
    sessionKey: 'SOME_STRING_VALUE',
    page: 'SOME_INTEGER_VALUE',
    size: 'SOME_INTEGER_VALUE',
    sort: 'SOME_ARRAY_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "currentPage": 0,
  • "pageSize": 10,
  • "totalPages": 1,
  • "totalItems": 4,
  • "sort": [
    ]
}

Retrieve Tests Submissions for Training

This API retrieves detailed submissions data for tests based on training key, session key, questionnaire key, and version. The response is paginated and returns data related to each test item.

Authorizations:
OAuth2
path Parameters
trainingKey
required
string

The key for the specific training.

query Parameters
sessionKey
string

The key for the specific session.

questionnaireKey
string

The key for the specific test.

questionnaireVersion
string

The version of the specific test.

page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer [ 1 .. 200 ]
Default: 20

The size of the page to be returned

sort
Array of strings
Default: ["questionKey"]
Items Enum: "questionnaireKey" "questionnaireVersion" "questionVersion" "deliveryTime" "questionKey" "questionType" "userKey"

Sorting criteria in the format.

Responses

Response Schema: application/json
Array of objects (TestSubmissionItem)
currentPage
integer
pageSize
integer
totalPages
integer
totalItems
integer <int64>
sort
Array of strings

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.goto.com/training/v1/trainings/%7BtrainingKey%7D/tests/submissions',
  params: {
    sessionKey: 'SOME_STRING_VALUE',
    questionnaireKey: 'SOME_STRING_VALUE',
    questionnaireVersion: 'SOME_STRING_VALUE',
    page: 'SOME_INTEGER_VALUE',
    size: 'SOME_INTEGER_VALUE',
    sort: 'SOME_ARRAY_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "currentPage": 0,
  • "pageSize": 10,
  • "totalPages": 1,
  • "totalItems": 4,
  • "sort": [
    ]
}

Retrieve Polls Submissions for Training

This API retrieves detailed submissions data for polls based on training key, session key, questionnaire key, and version. The response is paginated and returns data related to each poll item.

Authorizations:
OAuth2
path Parameters
trainingKey
required
string

The key for the specific training.

query Parameters
sessionKey
string

The key for the specific session.

questionnaireKey
string

The key for the specific poll.

questionnaireVersion
string

The version of the specific poll.

page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer [ 1 .. 200 ]
Default: 20

The size of the page to be returned

sort
Array of strings
Default: ["questionKey"]
Items Enum: "questionnaireKey" "questionnaireVersion" "questionVersion" "deliveryTime" "questionKey" "questionType" "userKey"

Sorting criteria in the format.

Responses

Response Schema: application/json
Array of objects (PollSubmissionItem)
currentPage
integer
pageSize
integer
totalPages
integer
totalItems
integer <int64>
sort
Array of strings

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.goto.com/training/v1/trainings/%7BtrainingKey%7D/polls/submissions',
  params: {
    sessionKey: 'SOME_STRING_VALUE',
    questionnaireKey: 'SOME_STRING_VALUE',
    questionnaireVersion: 'SOME_STRING_VALUE',
    page: 'SOME_INTEGER_VALUE',
    size: 'SOME_INTEGER_VALUE',
    sort: 'SOME_ARRAY_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "currentPage": 0,
  • "pageSize": 10,
  • "totalPages": 1,
  • "totalItems": 4,
  • "sort": [
    ]
}

Retrieve Surveys Submissions for Training

This API retrieves detailed submissions data for survey based on training key, session key, questionnaire key, and version. The response is paginated and returns data related to each test item.

Authorizations:
OAuth2
path Parameters
trainingKey
required
string

The key for the specific training.

query Parameters
sessionKey
string

The key for the specific session.

questionnaireKey
string

The key for the specific survey.

questionnaireVersion
string

The version of the specific survey.

page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer [ 1 .. 200 ]
Default: 20

The size of the page to be returned

sort
Array of strings
Default: ["questionKey"]
Items Enum: "questionnaireKey" "questionnaireVersion" "questionVersion" "deliveryTime" "questionKey" "questionType" "userKey"

Sorting criteria in the format.

Responses

Response Schema: application/json
Array of objects (SurveySubmissionItem)
currentPage
integer
pageSize
integer
totalPages
integer
totalItems
integer <int64>
sort
Array of strings

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.goto.com/training/v1/trainings/%7BtrainingKey%7D/surveys/submissions',
  params: {
    sessionKey: 'SOME_STRING_VALUE',
    questionnaireKey: 'SOME_STRING_VALUE',
    questionnaireVersion: 'SOME_STRING_VALUE',
    page: 'SOME_INTEGER_VALUE',
    size: 'SOME_INTEGER_VALUE',
    sort: 'SOME_ARRAY_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "currentPage": 0,
  • "pageSize": 10,
  • "totalPages": 1,
  • "totalItems": 1,
  • "sort": [
    ]
}

Registrations

Operations for managing trainings registrants.

Register for Training

Registers one person, identified by a unique email address, for a training. Approval is automatic unless payment or approval is required. NOTE: If some registrants do not receive a confirmation email, the emails could be getting blocked by their email server due to spam filtering or a grey-listing setting.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Request Body schema: application/json

The details of the registrant to create

email
required
string

The registrant's email address

givenName
required
string

The registrant's first name

surname
required
string

The registrant's surname

Responses

Response Schema: application/json
joinUrl
required
string

The URL the registrant will use to join the training

confirmationUrl
required
string

The URL where confirmation for the registration can be found

registrantKey
required
string

The registrant's key

Request samples

Content type
application/json
{
  • "email": "string",
  • "givenName": "string",
  • "surname": "string"
}

Response samples

Content type
application/json
{
  • "joinUrl": "string",
  • "confirmationUrl": "string",
  • "registrantKey": "string"
}

Get Training Registrants

Retrieve registration details for all registrants of a specific training. IMPORTANT: The registrant data caches are typically updated immediately and the data will be returned in the response. However, the update can take as long as two hours.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Responses

Response Schema: application/json
Array
email
required
string

The registrant's email address

givenName
required
string

The registrant's first name

surname
required
string

The registrant's surname

status
required
string
Enum: "WAITING" "APPROVED" "DENIED"

The registrant's status

registrationDate
required
string <date-time>

The date and time the registration took place

joinUrl
required
string

The URL the registrant will use to join the training

confirmationUrl
required
string

The URL where the confirmation for the registration can be found

registrantKey
required
string

The registrant's key

timeZone
string
address
string

The registrant's address

city
string

The registrant's city

state
string

The registrant's state

zipCode
string

The registrant's zip (post) code

country
string

The registrant's country

phone
string

The registrant's phone number

organization
string

The registrant's organization

jobTitle
string

The registrant's job title

questionsAndComments
string

Any questions or comments the registrant made at the time of registration

Array of objects (CustomRegistrationResponse)

Registrant's responses to custom questions

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/organizers/%7BorganizerKey%7D/trainings/%7BtrainingKey%7D/registrants',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
[
  • {
    }
]

Get Registrant

Retrieve registration details for a specific training registrant. IMPORTANT: The registrant data caches are typically updated immediately and the data will be returned in the response. However, the update can take as long as two hours.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

registrantKey
required
integer <int64>

The key of the registrant

Responses

Response Schema: application/json
email
required
string

The registrant's email address

givenName
required
string

The registrant's first name

surname
required
string

The registrant's surname

status
required
string
Enum: "WAITING" "APPROVED" "DENIED"

The registrant's status

registrationDate
required
string <date-time>

The date and time the registration took place

joinUrl
required
string

The URL the registrant will use to join the training

confirmationUrl
required
string

The URL where the confirmation for the registration can be found

registrantKey
required
string

The registrant's key

timeZone
string
address
string

The registrant's address

city
string

The registrant's city

state
string

The registrant's state

zipCode
string

The registrant's zip (post) code

country
string

The registrant's country

phone
string

The registrant's phone number

organization
string

The registrant's organization

jobTitle
string

The registrant's job title

questionsAndComments
string

Any questions or comments the registrant made at the time of registration

Array of objects (CustomRegistrationResponse)

Registrant's responses to custom questions

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/organizers/%7BorganizerKey%7D/trainings/%7BtrainingKey%7D/registrants/%7BregistrantKey%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
{
  • "email": "string",
  • "givenName": "string",
  • "surname": "string",
  • "status": "WAITING",
  • "registrationDate": "2019-08-24T14:15:22Z",
  • "joinUrl": "string",
  • "confirmationUrl": "string",
  • "registrantKey": "string",
  • "timeZone": "string",
  • "address": "string",
  • "city": "string",
  • "state": "string",
  • "zipCode": "string",
  • "country": "string",
  • "phone": "string",
  • "organization": "string",
  • "jobTitle": "string",
  • "questionsAndComments": "string",
  • "responses": [
    ]
}

Cancel Registration

Cancels a registration in a scheduled training for a specific registrant. If the registrant has paid for the training, a cancellation cannot be completed with this method; it must be completed on the external admin site. No notification is sent to the registrant or the organizer by default. The registrant can re-register if needed.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

registrantKey
required
integer <int64>

The key of the registrant

Responses

Request samples

var axios = require("axios").default;

var options = {
  method: 'DELETE',
  url: 'https://api.getgo.com/G2T/rest/organizers/%7BorganizerKey%7D/trainings/%7BtrainingKey%7D/registrants/%7BregistrantKey%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Reports

Operations for getting session data.

Get Sessions by Date Range

This call returns all session details over a given date range for a given organizer. A session is a completed training event.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

Request Body schema: application/json

The start and end times for the time range over which to retrieve training sessions

startDate
required
string <date-time>

The starting time of an interval

endDate
required
string <date-time>

The ending time of an interval

Responses

Response Schema: application/json
Array
sessionKey
required
string

The key of the training session

trainingName
required
string

The subject of the training

sessionStartTime
required
string <date-time>

The time the training session started

sessionEndTime
required
string <date-time>

The time the training session finished

attendanceCount
required
integer <int32>

The number of attendees at the training session

duration
required
integer <int32>

The duration of the training session in minutes

required
Array of objects (Organizer)

The organizers of the training session.

Request samples

Content type
application/json
{
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
[
  • {
    }
]

Get Attendance Details

Retrieves a list of registrants from a specific completed training session. The response includes the registrants' email addresses, and if they attended, it includes the duration of each period of their attendance in minutes, and the times at which they joined and left. If a registrant does not attend, they appear at the bottom of the listing with timeInSession = 0.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

sessionKey
required
integer <int64>

The key of the training session

Responses

Response Schema: application/json
Array
givenName
required
string

The attendee's first name

surname
required
string

The attendee's surname

email
required
string

The attendee's email address

timeInSession
required
integer <int32>

The total time in minutes spent at all the parts of the training session the attendee joined

required
Array of objects (Attendance)

List of the parts of the training session the attendee joined

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/reports/organizers/%7BorganizerKey%7D/sessions/%7BsessionKey%7D/attendees',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
[
  • {
    }
]

Get Sessions By Training

Retrieves session details for a given training. A session is a completed training event. Each training may contain one or more sessions.

Authorizations:
OAuth2
path Parameters
organizerKey
required
integer <int64>

The key of the training organizer

trainingKey
required
integer <int64>

The key of the training

Responses

Response Schema: application/json
Array
sessionKey
required
string

The key of the training session

trainingName
required
string

The subject of the training

sessionStartTime
required
string <date-time>

The time the training session started

sessionEndTime
required
string <date-time>

The time the training session finished

attendanceCount
required
integer <int32>

The number of attendees at the training session

duration
required
integer <int32>

The duration of the training session in minutes

required
Array of objects (Organizer)

The organizers of the training session.

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/reports/organizers/%7BorganizerKey%7D/trainings/%7BtrainingKey%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
[
  • {
    }
]

Recordings

Operations for getting online recordings.

Get Online Recordings for Training

Retrieves all online recordings for a given training. If there are none, it returns an empty list.

Authorizations:
OAuth2
path Parameters
trainingKey
required
integer <int64>

The key of the training

Responses

Response Schema: application/json
required
Array of objects (Recording)

The list of online recordings for the training

trainingKey
required
integer <int64>

The training's unique key

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/trainings/%7BtrainingKey%7D/recordings',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Response samples

Content type
application/json
{
  • "recordingList": [
    ],
  • "trainingKey": 0
}

Get Download for Online Recordings

Redirects to the download of the given recording.

Authorizations:
OAuth2
path Parameters
trainingKey
required
integer <int64>

The key of the training

recordingId
required
integer <int64>

the unique id of the recording

Responses

Request samples

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://api.getgo.com/G2T/rest/trainings/%7BtrainingKey%7D/recordings/%7BrecordingId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});