openapi: 3.0.3 info: title: TMS API description: | # Introduction Welcome to Skillable Connect: TMS Edition, our core platform for managing your users, scheduling training to consume content, managing course assignments and subscriptions. ## Authenticate with API Key Skillable APIs offer one form of authentication: an API Key. All methods require an API Key, which must be obtained from a Skillable team member working with your organization. Our systems use this key to validate your development account. Pass your API Key as an HTTP request header with the header name "api_key". termsOfService: 'https://skillable.com/terms-and-conditions/' contact: name: Skillable Support url: 'https://skillable.com/customer-support/' email: support@skillable.com x-logo: url: 'https://raw.githubusercontent.com/LearnOnDemandSystems/ConnectAPI/main/Skillable%20Connect%20Logo.svg' altText: Skillable Connect license: name: Apache 2.0 url: 'http://www.apache.org/licenses/LICENSE-2.0.html' version: 2.0.0 servers: - url: 'https://lms.learnondemand.net/api/2.0' description: Skillable Connect TMS API security: - api_key: [] tags: - name: Class Enrollment Management description: |- Classes represent an instance of a course delivered as an instructor led event. Class enrollments define the connection of a user and the class the user will be part of. The Class Enrollment Management API allows the following tasks to be completed: * [Create Class Enrollments for a user](https://connect.skillable.com/tms/operation/CreateClassEnrollment/) * [Update Class Enrollments for a user](https://connect.skillable.com/tms/operation/UpdateClassEnrollment/) * [Search for Class Enrollments for a user](https://connect.skillable.com/tms/operation/SearchClassEnrollments/) * [Delete Class Enrollments for a user](https://connect.skillable.com/tms/operation/DeleteClassEnrollment/) * [Retrieve specific details for Class Enrollments](https://connect.skillable.com/tms/operation/GetClassEnrollment/) * [Retrieve Custom Fields for Class Enrollments](https://connect.skillable.com/tms/operation/GetClassEnrollmentCustomFields/) * [Retrieve specific Custom Field values for a Class Enrollments](https://connect.skillable.com/tms/operation/GetClassEnrollmentCustomFieldValues/) * [Update a specific Custom Field value for Class Enrollments](https://connect.skillable.com/tms/operation/UpdateClassEnrollmentCustomFieldValue/) - name: Class Management description: 'The Class Management group of API command allows for the creation, management and finding of scheduled classes within the Skillable TMS. Classes can be found by using Class ID''s as well as the training key associated with a class.' - name: Company Management description: |- Company Management allows you to register your customers as companies. The use of companies enables you to store contact information for your customers. This information can be connected to users within the TMS, then reports can return user activity from a specific company. * [Create a Company](https://connect.skillable.com/tms/operation/CreateCompany/) * [Update a Company by Id](https://connect.skillable.com/tms/operation/UpdateCompany/) * [Search for Companies](https://connect.skillable.com/tms/operation/SearchCompanies/) * [Delete a Company by Id](https://connect.skillable.com/tms/operation/DeleteCompany/) * [Retrieve a specific Company](https://connect.skillable.com/tms/operation/GetCompany/) - name: Course Assignment Management description: |- Course Assignments are instances of a course being used for self-study purposes, and not connected with an Instructor or a class. The Course Assignment Management API group of commands allows the following capabilities: * [Create Course Assignments for a user](https://connect.skillable.com/tms/operation/CreateCourseAssignment/) * [Update Course Assignments for a user](https://connect.skillable.com/tms/operation/UpdateCourseAssignment/) * [Search for Course Assignments for a user](https://connect.skillable.com/tms/operation/SearchCourseAssignments/) * [Delete Course Assignments for a user](https://connect.skillable.com/tms/operation/DeleteCourseAssignment/) * [Retrieve specific details for Course Assignments](https://connect.skillable.com/tms/operation/GetCourseAssignment/) - name: Course Management description: 'Courses in the TMS represent a related set of learning activities that create a single learning journey. The Course Management API commands allow for the searching of courses, which will be required when creating classes and/or subscriptions as well as being able to return any collected course feedback.' - name: Lab Instance Management description: |- The Lab Instance Management group of API commands allows interacting with lab instances. This includes but is not limited to the following actions: * [Find Lab Instances](https://connect.skillable.com/tms/operation/SearchLabInstances/) (Lab Instances represent individual Lab launches against the LOD platform) * [Retrieve information about lab instances](https://connect.skillable.com/tms/operation/GetLabInstanceDetails/) - name: Organization Management description: 'Organizations within the TMS provide the ability to separate content and access between different customers. For most customers there is little need for Organization Management using the API. However, for large content providers Organization Management can be vital. The Organization Management of the TMS allows for the query, creation, modification, and deletion of Organizations.' - name: Searching description: |- The Searching API comand group provides commands for the following scenarios: * [To search the TMS Course Catalog Search history](https://connect.skillable.com/tms/operation/SearchCourseCatalogSearchHistory/) * [Search for launched activities external to LOD](https://connect.skillable.com/tms/operation/SearchCourseExternalActivityLaunches/) (e.g. Video, documents, SCORM, etc) - name: Subscription Management description: |- Subscriptions (previously known as Clubs), are mostly used for the assignment of self-study learning. The Subscription Management section allows the creation and management of these subscription assignments to users. The functions are grouped into the areas of: * [Creations of Subscription Assignments](https://connect.skillable.com/tms/operation/CreateClubMembership/) * [Searching for Subscriptions Assignments](https://connect.skillable.com/tms/operation/SearchClubMemberships/) * [Modify a Subscriptions Assignments](https://connect.skillable.com/tms/operation/UpdateClubMembership/) * [Delete a Subscriptions Assignments](https://connect.skillable.com/tms/operation/DeleteClubMembership/) - name: Survey Management description: Survey Management allows the retrival of all survey responses for a specific course. - name: User Management description: |- The User Management API commands are used to administer all types of user accounts within the TMS. This includes but is not limited to the following actions: * [Create user accounts](https://connect.skillable.com/tms/operation/CreateUser/) * [Modify user accounts](https://connect.skillable.com/tms/operation/UpdateUser/) * [Closure and deletion of user accounts](https://connect.skillable.com/tms/operation/DeleteUser/) * [Retrieve user accounts properties](https://connect.skillable.com/tms/operation/GetUser/) * [Query user activity](https://connect.skillable.com/tms/operation/SearchUserActivity/) paths: '/GetUser/{id}': get: tags: - User Management summary: Retrieve user information by id description: Allows you to get information about a user (user object) with the given ID. operationId: GetUser parameters: - name: id in: path description: The ID of the user to retrieve required: true style: simple explode: true schema: type: integer format: int32 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/UserResponse' deprecated: false /GetUserByEmail: get: tags: - User Management summary: Retrieve user information by email address description: Allows you to get information about a user with the given primary email address. operationId: GetUserByEmail parameters: - name: email in: query description: The primary email address of the user to retrieve. required: true style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/UserResponse' deprecated: false '/GetUserByExternalId/{id}': get: tags: - User Management summary: Retrieve user information using an external platform id description: Allows you to get information about a user with the given ExternalID. The external ID is a unique identifier from your external system. operationId: GetUserByExternalId parameters: - name: id in: path description: The external ID of the user to retrieve. required: true style: simple explode: true schema: type: string example: C9876ZFGEFER9876 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/UserResponse' deprecated: false /CreateUser: get: tags: - User Management summary: Create a user description: Allows you to create a user. operationId: CreateUser parameters: - name: userName in: query description: 'The user''s username (used during sign-in). Email address can be used as long as it is unique within the system. Note: even if the user will be using an external authentication provider, the username/password properties should still be provided.' required: true style: form explode: true schema: type: string example: john.smith - name: password in: query description: 'The user''s password (used during sign-in). Note: even if the user will be using an external authentication provider, the username/password properties should still be provided. The user will be prompted to reset their password on the next sign in.' required: true style: form explode: true schema: type: string - name: email in: query description: The user's e-mail address required: true style: form explode: true schema: type: string - name: firstName in: query description: The user's first name required: true style: form explode: true schema: type: string - name: lastName in: query description: The user's last name required: true style: form explode: true schema: type: string - name: organizationId in: query description: 'The unique identifier of the organization the user belongs to. This can be the organization that corresponds to your API key, or a child organization.' required: true style: form explode: true schema: type: integer format: int32 example: 12345678 - name: externalId in: query description: 'The user''s external ID, usually a unique identifier from the calling system' required: false style: form explode: true schema: type: string - name: middleName in: query description: The user's middle name required: false style: form explode: true schema: type: string - name: title in: query description: The user's title. required: false style: form explode: true schema: type: string - name: companyId in: query description: The Id of the user's company (set only if the user belongs to a company). required: false style: form explode: true schema: type: integer format: int32 example: 12345678 - name: managerId in: query description: The user Id of the user's manager (set only if the user belongs to a manager). required: false style: form explode: true schema: type: integer format: int32 example: 12345678 - name: disabled in: query description: Indicates whether the user account has been disabled. required: false style: form explode: true schema: type: boolean example: false - name: phone in: query description: The user's phone number. required: false style: form explode: true schema: type: string - name: phone2 in: query description: The user's secondary phone number. required: false style: form explode: true schema: type: string - name: address1 in: query description: First line of the user's address. required: false style: form explode: true schema: type: string - name: address2 in: query description: Second line of the user's address required: false style: form explode: true schema: type: string - name: city in: query description: The user's city. required: false style: form explode: true schema: type: string - name: state in: query description: The user's state. required: false style: form explode: true schema: type: string - name: country in: query description: The user's country. The CountryCode field will override this value if both are provided. required: false style: form explode: true schema: type: string deprecated: true - name: countryCode in: query description: "The input field, **Country**, has been *deprecated* in favor of **CountryCode**. If the **Country** field is provided but the **CountryCode** field is not then **CountryCode** will be defaulted to **OT - Other**. \nThe **CountryCode** field is a 2-character code for the user's country. \n\n**Allowed values** \n\n OT Other - The **Country** field must be provided \n AF\tAfghanistan \n AX\tÅland Islands \n AL\tAlbania \n DZ\tAlgeria \n AS\tAmerican Samoa \n AD\tAndorra \n AO\tAngola \n AI\tAnguilla \n AG\tAntigua and Barbuda \n AR\tArgentina \n AM\tArmenia \n AW\tAruba \n AU\tAustralia \n AT\tAustria \n AZ\tAzerbaijan \n BS\tBahamas \n BH\tBahrain \n BD\tBangladesh \n BB\tBarbados \n BY\tBelarus \n BE\tBelgium \n BZ\tBelize \n BJ\tBenin \n BM\tBermuda \n BT\tBhutan \n BO\tBolivia \n BQ\tBonaire, Sint Eustatius and Saba \n BA\tBosnia and Herzegovina \n BW\tBotswana \n BR\tBrazil \n IO\tBritish Indian Ocean Territory \n VG\tBritish Virgin Islands \n BN\tBrunei \n BG\tBulgaria \n BF\tBurkina Faso \n BI\tBurundi \n CV\tCabo Verde \n KH\tCambodia \n CM\tCameroon \n CA\tCanada \n KY\tCayman Islands \n CF\tCentral African Republic \n TD\tChad \n CL\tChile \n CN\tChina \n CX\tChristmas Island \n CC\tCocos (Keeling) Islands \n CO\tColombia \n KM\tComoros \n CG\tCongo \n CD\tCongo (DRC) \n CK\tCook Islands \n CR\tCosta Rica \n CI\tCôte d’Ivoire \n HR\tCroatia \n CU\tCuba \n CW\tCuraçao \n CY\tCyprus \n CZ\tCzech Republic \n DK\tDenmark \n DJ\tDjibouti \n DM\tDominica \n DO\tDominican Republic \n EC\tEcuador \n EG\tEgypt \n SV\tEl Salvador \n GQ\tEquatorial Guinea \n ER\tEritrea \n EE\tEstonia \n ET\tEthiopia \n FK\tFalkland Islands \n FO\tFaroe Islands \n FJ\tFiji \n FI\tFinland \n FR\tFrance \n GF\tFrench Guiana \n PF\tFrench Polynesia \n GA\tGabon \n GM\tGambia \n GE\tGeorgia \n DE\tGermany \n GH\tGhana \n GI\tGibraltar \n GR\tGreece \n GL\tGreenland \n GD\tGrenada \n GP\tGuadeloupe \n GU\tGuam \n GT\tGuatemala \n GG\tGuernsey \n GN\tGuinea \n GW\tGuinea-Bissau \n GY\tGuyana \n HT\tHaiti \n HN\tHonduras \n HK\tHong Kong SAR \n HU\tHungary \n IS\tIceland \n IN\tIndia \n ID\tIndonesia \n IR\tIran \n IQ\tIraq \n IE\tIreland \n IM\tIsle of Man \n IL\tIsrael \n IT\tItaly \n JM\tJamaica \n JP\tJapan \n JE\tJersey \n JO\tJordan \n KZ\tKazakhstan \n KE\tKenya \n KI\tKiribati \n KR\tKorea \n XK\tKosovo \n KW\tKuwait \n KG\tKyrgyzstan \n LA\tLaos \n LV\tLatvia \n LB\tLebanon \n LS\tLesotho \n LR\tLiberia \n LY\tLibya \n LI\tLiechtenstein \n LT\tLithuania \n LU\tLuxembourg \n MO\tMacao SAR \n MK\tMacedonia, FYRO \n MG\tMadagascar \n MW\tMalawi \n MY\tMalaysia \n MV\tMaldives \n ML\tMali \n MT\tMalta \n MH\tMarshall Islands \n MQ\tMartinique \n MR\tMauritania \n MU\tMauritius \n YT\tMayotte \n MX\tMexico \n FM\tMicronesia \n MD\tMoldova \n MC\tMonaco \n MN\tMongolia \n ME\tMontenegro \n MS\tMontserrat \n MA\tMorocco \n MZ\tMozambique \n MM\tMyanmar \n NA\tNamibia \n NR\tNauru \n NP\tNepal \n NL\tNetherlands \n NC\tNew Caledonia \n NZ\tNew Zealand \n NI\tNicaragua \n NE\tNiger \n NG\tNigeria \n NU\tNiue \n NF\tNorfolk Island \n KP\tNorth Korea \n MP\tNorthern Mariana Islands \n NO\tNorway \n OM\tOman \n PK\tPakistan \n PW\tPalau \n PS\tPalestinian Authority \n PA\tPanama \n PG\tPapua New Guinea \n PY\tParaguay \n PE\tPeru \n PH\tPhilippines \n PN\tPitcairn Islands \n PL\tPoland \n PT\tPortugal \n PR\tPuerto Rico \n QA\tQatar \n RE\tRéunion \n RO\tRomania \n RU\tRussia \n RW\tRwanda \n BL\tSaint Barthélemy \n KN\tSaint Kitts and Nevis \n LC\tSaint Lucia \n MF\tSaint Martin \n PM\tSaint Pierre and Miquelon \n VC\tSaint Vincent and the Grenadines \n WS\tSamoa \n SM\tSan Marino \n ST\tSão Tomé and Príncipe \n SA\tSaudi Arabia \n SN\tSenegal \n RS\tSerbia \n SC\tSeychelles \n SL\tSierra Leone \n SG\tSingapore \n SX\tSint Maarten \n SK\tSlovakia \n SI\tSlovenia \n SB\tSolomon Islands \n SO\tSomalia \n ZA\tSouth Africa \n SS\tSouth Sudan \n ES\tSpain \n LK\tSri Lanka \n SH\tSt Helena, Ascension, Tristan da Cunha \n SD\tSudan \n SR\tSuriname \n SJ\tSvalbard and Jan Mayen \n SZ\tSwaziland \n SE\tSweden \n CH\tSwitzerland \n SY\tSyria \n TW\tTaiwan \n TJ\tTajikistan \n TZ\tTanzania \n TH\tThailand \n TL\tTimor-Leste \n TG\tTogo \n TK\tTokelau \n TO\tTonga \n TT\tTrinidad and Tobago \n TN\tTunisia \n TR\tTurkey \n TM\tTurkmenistan \n TC\tTurks and Caicos Islands \n TV\tTuvalu \n UM\tU.S. Outlying Islands \n VI\tU.S. Virgin Islands \n UG\tUganda \n UA\tUkraine \n AE\tUnited Arab Emirates \n GB\tUnited Kingdom \n US\tUnited States \n UY\tUruguay \n UZ\tUzbekistan \n VU\tVanuatu \n VE\tVenezuela \n VN\tVietnam \n WF\tWallis and Futuna \n YE\tYemen \n ZM\tZambia \n ZW\tZimbabwe\n" required: false style: form explode: true schema: type: string - name: zip in: query description: The user's zip/postal code. required: false style: form explode: true schema: type: string - name: profileImageUrl in: query description: URL to the user's profile image. required: false style: form explode: true schema: type: string - name: timeZoneId in: query description: |- The time zone for the data object. If not specified, the timezone of the organization will be used. **Allowed values** Afghanistan Standard Time Alaskan Standard Time Aleutian Standard Time Altai Standard Time Arab Standard Time Arabian Standard Time Arabic Standard Time Argentina Standard Time Astrakhan Standard Time Atlantic Standard Time AUS Central Standard Time Aus Central W. Standard Time AUS Eastern Standard Time Azerbaijan Standard Time Azores Standard Time Bahia Standard Time Bangladesh Standard Time Belarus Standard Time Bougainville Standard Time Canada Central Standard Time Cape Verde Standard Time Caucasus Standard Time Cen. Australia Standard Time Central America Standard Time Central Asia Standard Time Central Brazilian Standard Time Central Europe Standard Time Central European Standard Time Central Pacific Standard Time Central Standard Time Central Standard Time (Mexico) Chatham Islands Standard Time China Standard Time Cuba Standard Time Dateline Standard Time E. Africa Standard Time E. Australia Standard Time E. Europe Standard Time E. South America Standard Time Easter Island Standard Time Eastern Standard Time Eastern Standard Time (Mexico) Egypt Standard Time Ekaterinburg Standard Time Fiji Standard Time FLE Standard Time Georgian Standard Time GMT Standard Time Greenland Standard Time Greenwich Standard Time GTB Standard Time Haiti Standard Time Hawaiian Standard Time India Standard Time Iran Standard Time Israel Standard Time Jordan Standard Time Kaliningrad Standard Time Kamchatka Standard Time Korea Standard Time Libya Standard Time Line Islands Standard Time Lord Howe Standard Time Magadan Standard Time Magallanes Standard Time Marquesas Standard Time Mauritius Standard Time Mid-Atlantic Standard Time Middle East Standard Time Montevideo Standard Time Morocco Standard Time Mountain Standard Time Mountain Standard Time (Mexico) Myanmar Standard Time N. Central Asia Standard Time Namibia Standard Time Nepal Standard Time New Zealand Standard Time Newfoundland Standard Time Norfolk Standard Time North Asia East Standard Time North Asia Standard Time North Korea Standard Time Omsk Standard Time Pacific SA Standard Time Pacific Standard Time Pacific Standard Time (Mexico) Pakistan Standard Time Paraguay Standard Time Qyzylorda Standard Time Romance Standard Time Russia Time Zone 10 Russia Time Zone 11 Russia Time Zone 3 Russian Standard Time SA Eastern Standard Time SA Pacific Standard Time SA Western Standard Time Saint Pierre Standard Time Sakhalin Standard Time Samoa Standard Time Sao Tome Standard Time Saratov Standard Time SE Asia Standard Time Singapore Standard Time South Africa Standard Time South Sudan Standard Time Sri Lanka Standard Time Sudan Standard Time Syria Standard Time Taipei Standard Time Tasmania Standard Time Tocantins Standard Time Tokyo Standard Time Tomsk Standard Time Tonga Standard Time Transbaikal Standard Time Turkey Standard Time Turks And Caicos Standard Time Ulaanbaatar Standard Time US Eastern Standard Time US Mountain Standard Time UTC UTC+12 UTC+13 UTC-02 UTC-08 UTC-09 UTC-11 Venezuela Standard Time Vladivostok Standard Time Volgograd Standard Time W. Australia Standard Time W. Central Africa Standard Time W. Europe Standard Time W. Mongolia Standard Time West Asia Standard Time West Bank Standard Time West Pacific Standard Time Yakutsk Standard Time Yukon Standard Time required: false style: form explode: true schema: type: string - name: roleId in: query description: 'An identifier for the role the user should belong to. You can provide multiple instances of this parameter to add the user to multiple roles. For example: roleId=0&roleId=2&roleId=20. You can discover roles available to your API integration by using the GetUserRoles command.' required: false style: form explode: true schema: type: integer format: int32 example: 12345678 - name: managedOrganizationId in: query description: 'An identifier for the organization the user should have management rights for. You can provide multiple instances of this parameter if the user should have management rights over multiple organizations. For example: managedOrganizationId=30&managedOrganizationId=45&managedOrganizationId=78. All managed organizations must belong to the API caller''s organization or one of its children.' required: false style: form explode: true schema: type: integer format: int32 example: 12345678 - name: enableGeneralNotifications in: query description: An optional parameter to allow the sending of general notifications to the user. required: false style: form explode: true schema: type: boolean - name: forcePasswordChange in: query description: An optional parameter to force the user to change their password on the next login required: false style: form explode: true schema: type: boolean responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CreateResponse' deprecated: false '/DeleteUser/{id}': get: tags: - User Management summary: Delete a user by id description: Allows you to delete a user. operationId: DeleteUser parameters: - name: id in: path description: The user's ID required: true style: simple explode: true schema: type: integer format: int32 example: 57383 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /UpdateUser: get: tags: - User Management summary: Update a user by id description: Allows you to update a user operationId: UpdateUser parameters: - name: id in: query description: The user's ID. required: true style: form explode: true schema: type: integer format: int32 example: 4873 - name: userName in: query description: 'The user''s username (used during sign-in). Email address can be used as long as it is unique within the system. Note: even if the user will be using an external authentication provider, the username/password properties should still be provided.' required: true style: form explode: true schema: type: string - name: email in: query description: The user's e-mail address required: true style: form explode: true schema: type: string - name: firstName in: query description: The user's first name required: true style: form explode: true schema: type: string - name: lastName in: query description: The user's last name required: true style: form explode: true schema: type: string - name: organizationId in: query description: 'The unique identifier of the organization the user belongs to. This can be the organization that corresponds to your API key, or a child organization.' required: true style: form explode: true schema: type: integer format: int32 example: 12345678 - name: externalId in: query description: 'The user''s external ID, usually a unique identifier from the calling system' required: false style: form explode: true schema: type: string - name: middleName in: query description: The user's middle name required: false style: form explode: true schema: type: string - name: title in: query description: The user's title. required: false style: form explode: true schema: type: string - name: companyId in: query description: The Id of the user's company (set only if the user belongs to a company). required: false style: form explode: true schema: type: integer format: int32 example: 12345678 - name: managerId in: query description: The user Id of the user's manager (set only if the user belongs to a manager). required: false style: form explode: true schema: type: integer format: int32 example: 12345678 - name: disabled in: query description: Indicates whether the user account has been disabled. required: false style: form explode: true schema: type: boolean - name: phone in: query description: The user's phone number. required: false style: form explode: true schema: type: string - name: phone2 in: query description: The user's secondary phone number. required: false style: form explode: true schema: type: string - name: address1 in: query description: First line of the user's address. required: false style: form explode: true schema: type: string - name: address2 in: query description: Second line of the user's address required: false style: form explode: true schema: type: string - name: city in: query description: The user's city. required: false style: form explode: true schema: type: string - name: state in: query description: The user's state. required: false style: form explode: true schema: type: string - name: country in: query description: The user's country. The CountryCode field will override this value if both are provided. required: false style: form explode: true schema: type: string deprecated: true - name: countryCode in: query description: "The input field, **Country**, has been *deprecated* in favor of **CountryCode**. If the **Country** field is provided but the **CountryCode** field is not then **CountryCode** will be defaulted to **OT - Other**. \nThe **CountryCode** field is a 2-character code for the user's country. \n\n**Allowed values** \n\n OT Other - The **Country** field must be provided \n AF\tAfghanistan \n AX\tÅland Islands \n AL\tAlbania \n DZ\tAlgeria \n AS\tAmerican Samoa \n AD\tAndorra \n AO\tAngola \n AI\tAnguilla \n AG\tAntigua and Barbuda \n AR\tArgentina \n AM\tArmenia \n AW\tAruba \n AU\tAustralia \n AT\tAustria \n AZ\tAzerbaijan \n BS\tBahamas \n BH\tBahrain \n BD\tBangladesh \n BB\tBarbados \n BY\tBelarus \n BE\tBelgium \n BZ\tBelize \n BJ\tBenin \n BM\tBermuda \n BT\tBhutan \n BO\tBolivia \n BQ\tBonaire, Sint Eustatius and Saba \n BA\tBosnia and Herzegovina \n BW\tBotswana \n BR\tBrazil \n IO\tBritish Indian Ocean Territory \n VG\tBritish Virgin Islands \n BN\tBrunei \n BG\tBulgaria \n BF\tBurkina Faso \n BI\tBurundi \n CV\tCabo Verde \n KH\tCambodia \n CM\tCameroon \n CA\tCanada \n KY\tCayman Islands \n CF\tCentral African Republic \n TD\tChad \n CL\tChile \n CN\tChina \n CX\tChristmas Island \n CC\tCocos (Keeling) Islands \n CO\tColombia \n KM\tComoros \n CG\tCongo \n CD\tCongo (DRC) \n CK\tCook Islands \n CR\tCosta Rica \n CI\tCôte d’Ivoire \n HR\tCroatia \n CU\tCuba \n CW\tCuraçao \n CY\tCyprus \n CZ\tCzech Republic \n DK\tDenmark \n DJ\tDjibouti \n DM\tDominica \n DO\tDominican Republic \n EC\tEcuador \n EG\tEgypt \n SV\tEl Salvador \n GQ\tEquatorial Guinea \n ER\tEritrea \n EE\tEstonia \n ET\tEthiopia \n FK\tFalkland Islands \n FO\tFaroe Islands \n FJ\tFiji \n FI\tFinland \n FR\tFrance \n GF\tFrench Guiana \n PF\tFrench Polynesia \n GA\tGabon \n GM\tGambia \n GE\tGeorgia \n DE\tGermany \n GH\tGhana \n GI\tGibraltar \n GR\tGreece \n GL\tGreenland \n GD\tGrenada \n GP\tGuadeloupe \n GU\tGuam \n GT\tGuatemala \n GG\tGuernsey \n GN\tGuinea \n GW\tGuinea-Bissau \n GY\tGuyana \n HT\tHaiti \n HN\tHonduras \n HK\tHong Kong SAR \n HU\tHungary \n IS\tIceland \n IN\tIndia \n ID\tIndonesia \n IR\tIran \n IQ\tIraq \n IE\tIreland \n IM\tIsle of Man \n IL\tIsrael \n IT\tItaly \n JM\tJamaica \n JP\tJapan \n JE\tJersey \n JO\tJordan \n KZ\tKazakhstan \n KE\tKenya \n KI\tKiribati \n KR\tKorea \n XK\tKosovo \n KW\tKuwait \n KG\tKyrgyzstan \n LA\tLaos \n LV\tLatvia \n LB\tLebanon \n LS\tLesotho \n LR\tLiberia \n LY\tLibya \n LI\tLiechtenstein \n LT\tLithuania \n LU\tLuxembourg \n MO\tMacao SAR \n MK\tMacedonia, FYRO \n MG\tMadagascar \n MW\tMalawi \n MY\tMalaysia \n MV\tMaldives \n ML\tMali \n MT\tMalta \n MH\tMarshall Islands \n MQ\tMartinique \n MR\tMauritania \n MU\tMauritius \n YT\tMayotte \n MX\tMexico \n FM\tMicronesia \n MD\tMoldova \n MC\tMonaco \n MN\tMongolia \n ME\tMontenegro \n MS\tMontserrat \n MA\tMorocco \n MZ\tMozambique \n MM\tMyanmar \n NA\tNamibia \n NR\tNauru \n NP\tNepal \n NL\tNetherlands \n NC\tNew Caledonia \n NZ\tNew Zealand \n NI\tNicaragua \n NE\tNiger \n NG\tNigeria \n NU\tNiue \n NF\tNorfolk Island \n KP\tNorth Korea \n MP\tNorthern Mariana Islands \n NO\tNorway \n OM\tOman \n PK\tPakistan \n PW\tPalau \n PS\tPalestinian Authority \n PA\tPanama \n PG\tPapua New Guinea \n PY\tParaguay \n PE\tPeru \n PH\tPhilippines \n PN\tPitcairn Islands \n PL\tPoland \n PT\tPortugal \n PR\tPuerto Rico \n QA\tQatar \n RE\tRéunion \n RO\tRomania \n RU\tRussia \n RW\tRwanda \n BL\tSaint Barthélemy \n KN\tSaint Kitts and Nevis \n LC\tSaint Lucia \n MF\tSaint Martin \n PM\tSaint Pierre and Miquelon \n VC\tSaint Vincent and the Grenadines \n WS\tSamoa \n SM\tSan Marino \n ST\tSão Tomé and Príncipe \n SA\tSaudi Arabia \n SN\tSenegal \n RS\tSerbia \n SC\tSeychelles \n SL\tSierra Leone \n SG\tSingapore \n SX\tSint Maarten \n SK\tSlovakia \n SI\tSlovenia \n SB\tSolomon Islands \n SO\tSomalia \n ZA\tSouth Africa \n SS\tSouth Sudan \n ES\tSpain \n LK\tSri Lanka \n SH\tSt Helena, Ascension, Tristan da Cunha \n SD\tSudan \n SR\tSuriname \n SJ\tSvalbard and Jan Mayen \n SZ\tSwaziland \n SE\tSweden \n CH\tSwitzerland \n SY\tSyria \n TW\tTaiwan \n TJ\tTajikistan \n TZ\tTanzania \n TH\tThailand \n TL\tTimor-Leste \n TG\tTogo \n TK\tTokelau \n TO\tTonga \n TT\tTrinidad and Tobago \n TN\tTunisia \n TR\tTurkey \n TM\tTurkmenistan \n TC\tTurks and Caicos Islands \n TV\tTuvalu \n UM\tU.S. Outlying Islands \n VI\tU.S. Virgin Islands \n UG\tUganda \n UA\tUkraine \n AE\tUnited Arab Emirates \n GB\tUnited Kingdom \n US\tUnited States \n UY\tUruguay \n UZ\tUzbekistan \n VU\tVanuatu \n VE\tVenezuela \n VN\tVietnam \n WF\tWallis and Futuna \n YE\tYemen \n ZM\tZambia \n ZW\tZimbabwe\n" required: false style: form explode: true schema: type: string - name: zip in: query description: The user's zip/postal code. required: false style: form explode: true schema: type: string - name: profileImageUrl in: query description: URL to the user's profile image. required: false style: form explode: true schema: type: string - name: timeZoneId in: query description: | The user's time zone. If not specified, the timezone of the organization will be used. **Allowed values** Afghanistan Standard Time Alaskan Standard Time Aleutian Standard Time Altai Standard Time Arab Standard Time Arabian Standard Time Arabic Standard Time Argentina Standard Time Astrakhan Standard Time Atlantic Standard Time AUS Central Standard Time Aus Central W. Standard Time AUS Eastern Standard Time Azerbaijan Standard Time Azores Standard Time Bahia Standard Time Bangladesh Standard Time Belarus Standard Time Bougainville Standard Time Canada Central Standard Time Cape Verde Standard Time Caucasus Standard Time Cen. Australia Standard Time Central America Standard Time Central Asia Standard Time Central Brazilian Standard Time Central Europe Standard Time Central European Standard Time Central Pacific Standard Time Central Standard Time Central Standard Time (Mexico) Chatham Islands Standard Time China Standard Time Cuba Standard Time Dateline Standard Time E. Africa Standard Time E. Australia Standard Time E. Europe Standard Time E. South America Standard Time Easter Island Standard Time Eastern Standard Time Eastern Standard Time (Mexico) Egypt Standard Time Ekaterinburg Standard Time Fiji Standard Time FLE Standard Time Georgian Standard Time GMT Standard Time Greenland Standard Time Greenwich Standard Time GTB Standard Time Haiti Standard Time Hawaiian Standard Time India Standard Time Iran Standard Time Israel Standard Time Jordan Standard Time Kaliningrad Standard Time Kamchatka Standard Time Korea Standard Time Libya Standard Time Line Islands Standard Time Lord Howe Standard Time Magadan Standard Time Magallanes Standard Time Marquesas Standard Time Mauritius Standard Time Mid-Atlantic Standard Time Middle East Standard Time Montevideo Standard Time Morocco Standard Time Mountain Standard Time Mountain Standard Time (Mexico) Myanmar Standard Time N. Central Asia Standard Time Namibia Standard Time Nepal Standard Time New Zealand Standard Time Newfoundland Standard Time Norfolk Standard Time North Asia East Standard Time North Asia Standard Time North Korea Standard Time Omsk Standard Time Pacific SA Standard Time Pacific Standard Time Pacific Standard Time (Mexico) Pakistan Standard Time Paraguay Standard Time Qyzylorda Standard Time Romance Standard Time Russia Time Zone 10 Russia Time Zone 11 Russia Time Zone 3 Russian Standard Time SA Eastern Standard Time SA Pacific Standard Time SA Western Standard Time Saint Pierre Standard Time Sakhalin Standard Time Samoa Standard Time Sao Tome Standard Time Saratov Standard Time SE Asia Standard Time Singapore Standard Time South Africa Standard Time South Sudan Standard Time Sri Lanka Standard Time Sudan Standard Time Syria Standard Time Taipei Standard Time Tasmania Standard Time Tocantins Standard Time Tokyo Standard Time Tomsk Standard Time Tonga Standard Time Transbaikal Standard Time Turkey Standard Time Turks And Caicos Standard Time Ulaanbaatar Standard Time US Eastern Standard Time US Mountain Standard Time UTC UTC+12 UTC+13 UTC-02 UTC-08 UTC-09 UTC-11 Venezuela Standard Time Vladivostok Standard Time Volgograd Standard Time W. Australia Standard Time W. Central Africa Standard Time W. Europe Standard Time W. Mongolia Standard Time West Asia Standard Time West Bank Standard Time West Pacific Standard Time Yakutsk Standard Time Yukon Standard Time required: false style: form explode: true schema: type: string - name: enableGeneralNotifications in: query description: An optional parameter to allow the sending of general notifications to the user. required: false style: form explode: true schema: type: boolean - name: forcePasswordChange in: query description: An optional parameter to force the user to change their password on the next login required: false style: form explode: true schema: type: boolean responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /AddUserToRole: get: tags: - User Management summary: Add a role to a user description: Allows you to add a user to a role operationId: AddUserToRole parameters: - name: userId in: query description: The user's ID required: true style: form explode: true schema: type: integer format: int32 example: 57383 - name: roleId in: query description: The role ID required: true style: form explode: true schema: type: integer format: int32 example: 20 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /AddUserToRoles: get: tags: - User Management summary: Add roles to a user description: Allows you to add a user to multiple roles operationId: AddUserToRoles parameters: - name: userId in: query description: The user's ID required: true style: form explode: true schema: type: integer format: int32 example: 57383 - name: roleId in: query description: 'An identifier for the role the user should belong to. You can provide multiple instances of this parameter to add the user to multiple roles. For example: roleId=0&roleId=2&roleId=20. You can discover roles available to your API integration by using the GetUserRoles command.' required: true style: form explode: true schema: type: integer format: int32 example: 20 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /RemoveUserFromRole: get: tags: - User Management summary: Remove a user's role description: Allows you remove a user from a role operationId: RemoveUserFromRole parameters: - name: userId in: query description: The user's ID required: true style: form explode: true schema: type: integer format: int32 example: 57383 - name: roleId in: query description: The role ID required: true style: form explode: true schema: type: integer format: int32 example: 20 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /AddOrganizationManagementToUser: get: tags: - User Management summary: Assign a user organization management description: Allows you to assign management rights over an organization to a single user operationId: AddOrganizationManagementToUser parameters: - name: userId in: query description: The user's ID required: true style: form explode: true schema: type: integer format: int32 example: 57383 - name: organizationId in: query description: The organization ID required: true style: form explode: true schema: type: integer format: int32 example: 20 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /RemoveOrganizationManagementFromUser: get: tags: - User Management summary: Remove a user's organization management description: Allows you remove management rights over an organization from a single user operationId: RemoveOrganizationManagementFromUser parameters: - name: userId in: query description: The user's ID required: true style: form explode: true schema: type: integer format: int32 example: 57383 - name: organizationId in: query description: The organization ID required: true style: form explode: true schema: type: integer format: int32 example: 20 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /UpdateUserPassword: get: tags: - User Management summary: Update a user's password description: Allows you to update a user's password. operationId: UpdateUserPassword parameters: - name: id in: query description: The user's ID required: true style: form explode: true schema: type: integer format: int32 example: 57383 - name: password in: query description: The new password required: true style: form explode: true schema: type: string - name: forcePasswordChange in: query description: An optional parameter to force the user to change their password on the next login required: false style: form explode: true schema: type: boolean responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /GetSsoRedirectUrl: get: tags: - User Management summary: Retrieve SSO redirect into the TMS description: 'Allows you to retrieve a URL for redirecting a user into the the TMS for single sign-on. This allows you to land the student in the TMS without them having to login. Note: the URL is valid for only 20 seconds. The intention is for you to obtain the URL on demand when the user is to be redirected into the TMS from your system.' operationId: GetSsoRedirectUrl parameters: - name: userId in: query description: The user's ID required: true style: form explode: true schema: type: integer format: int32 example: 57383 - name: destinationUrl in: query description: 'An optional URL that you want the user to land on within the LMS. For instance, if you wanted to land the user on the class schedule, you could pass a value of "/Class/Schedule." Use of this feature requires some knowledge of the LMS URL schema. In general, you can figure out how URLs work by observing them while navigating within the TMS.' required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SsoRedirectUrlReponse' deprecated: false /SearchSignInHistory: get: tags: - User Management summary: Retrieve user sign-in history description: Allows you to search for user sign in dates and times. operationId: SearchSignInHistory parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: 'The value you want to sort by. If not supplied, a default value of "SignIn DESC" will be assumed. You can append "DESC" after the sort value to sort descending. For example, "SignIn DESC" would sort by sign-in time in descending order. Possible values: - SignIn - LastName - FirstName - UserName - Email' required: false style: form explode: true schema: type: string - name: userId in: query description: An optional parameter used to filter for sign-ins for a particular user. required: false style: form explode: true schema: type: integer format: int32 example: 57383 - name: userExternalId in: query description: An optional parameter used to filter for sign-ins for a particular user using an external identifier. required: false style: form explode: true schema: type: string example: 1G87491-37DE-DFG1-127A-565159915A6B - name: after in: query description: 'An optional parameter used to filter for sign-ins that occured after a specified date. When used in conjunction with the "before" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: string - name: before in: query description: 'An optional parameter used to filter for sign-ins that occured before a specified date. When used in conjunction with the "after" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SignInHistorySearchHistoryResponse' deprecated: false /SearchUserActivity: get: tags: - User Management summary: Retrieve user activity description: Allows you to search for user activity. operationId: SearchUserActivity parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "SignIn DESC" will be assumed. You can append " DESC" after the sort value to sort descending. For example, "SignIn DESC" would sort by sign-in time in descending order. Possible values: - RequestTime - LastName - UserName - Organization required: false style: form explode: true schema: type: string - name: userId in: query description: An optional parameter used to filter for activity for a particular user required: false style: form explode: true schema: type: integer format: int32 example: 57383 - name: userExternalId in: query description: An optional parameter used to filter for activity for a particular user using an external identifier required: false style: form explode: true schema: type: string example: 1G87491-37DE-DFG1-127A-565159915A6B - name: activityAfter in: query description: An optional parameter used to filter for sign-ins that occured after a specified date required: false style: form explode: true schema: type: string - name: activityBefore in: query description: An optional parameter used to filter for sign-ins that occured before a specified date required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchUserActivityResponse' deprecated: false /GetActiveSystemAnnouncements: get: tags: - User Management summary: Retrieve system announcements description: Allows you to retreive active system announcements. operationId: GetActiveSystemAnnouncements parameters: - name: organizationId in: query description: The ID of the organization for which you would like to retrieve system announcements required: false style: form explode: true schema: type: integer format: int64 example: 4536 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/AnnouncementResponse' deprecated: false '/CloseUserAccountById/{id}': get: tags: - User Management summary: Close a user account by id removing personal information description: Allows you close a user account removing all identifying information from the system. operationId: CloseUserAccountById parameters: - name: id in: path description: The ID of the user to retrieve required: true style: simple explode: true schema: type: integer format: int64 example: 3453 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' deprecated: false '/CloseUserAccountByExternalId/{id}': get: tags: - User Management summary: Close a user account by external platform id removing personal information description: Allows you close a user account removing all identifying information from the system by providing a unique identifier from your external system. operationId: CloseUserAccountByExternalId parameters: - name: id in: path description: The external ID of the user whose account is to be closed. required: true style: simple explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' deprecated: false '/DeleteUserDataById/{id}': get: tags: - User Management summary: Remove specific data for a user using id description: Allows you remove specific types of user data for a user in the system. operationId: DeleteUserDataById parameters: - name: id in: path description: The user's ID. required: true style: simple explode: true schema: type: integer format: int32 example: 10 - name: dataTypeId in: query description: |- The ID of the data type to delete. - Account = 0 - MicrosoftCommunications = 1 - PaymentInstrument = 2 - PreciseUserLocation = 3 - ProductAndServicePerformance = 4 - ProductAndServiceUsage = 5 - ProfessionalAndPersonalProfile = 6 - PublicPersonal = 7 - Recruitment = 8 - SearchRequestsAndQuery = 9 - SoftwareSetupAndInventory = 10 - Support = 11 - SupportContent = 12 - SupportInteraction = 13 - WorkContracts = 14 - WorkplaceInteractions = 15 - WorkProfile = 16 - LicensingAndPurchase = 17 - LearningAndDevelopment = 18 - InterestsAndFavorites = 19 - InkingTypingAndSpeechUtterance = 20 - Any = 21 - BrowsingHistory = 22 - CloudServiceProvider = 23 - CommuteAndTravel = 24 - CompensationAndBenefits = 25 - ContentConsumption = 26 - Credentials = 27 - CustomerContact = 28 - WorkRecognition = 29 - CustomerContactList = 30 - DemographicInformation = 31 - DeviceConnectivityAndConfiguration = 32 - EnvironmentalSensor = 33 - EUII = 34 - FeedbackAndRatings = 35 - FinancialAccountingAndRecords = 36 - FinancialTransactions = 37 - FitnessAndActivity = 38 - CustomerContent = 39 - WorkTime = 40 - Social = 41 required: true style: form explode: true schema: type: integer format: int32 example: 10 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' deprecated: false '/DeleteUserDataByExternalId/{id}': get: tags: - User Management summary: Remove specific data for a user using an external platform id description: Allows you remove specific types of user data for a user in the system by providing a unique identifier from your external system. operationId: DeleteUserDataByExternalId parameters: - name: id in: path description: The external ID of the user to have data deleted. required: true style: simple explode: true schema: type: string - name: dataTypeId in: query description: |- The ID of the data type to delete. - Account = 0 - MicrosoftCommunications = 1 - PaymentInstrument = 2 - PreciseUserLocation = 3 - ProductAndServicePerformance = 4 - ProductAndServiceUsage = 5 - ProfessionalAndPersonalProfile = 6 - PublicPersonal = 7 - Recruitment = 8 - SearchRequestsAndQuery = 9 - SoftwareSetupAndInventory = 10 - Support = 11 - SupportContent = 12 - SupportInteraction = 13 - WorkContracts = 14 - WorkplaceInteractions = 15 - WorkProfile = 16 - LicensingAndPurchase = 17 - LearningAndDevelopment = 18 - InterestsAndFavorites = 19 - InkingTypingAndSpeechUtterance = 20 - Any = 21 - BrowsingHistory = 22 - CloudServiceProvider = 23 - CommuteAndTravel = 24 - CompensationAndBenefits = 25 - ContentConsumption = 26 - Credentials = 27 - CustomerContact = 28 - WorkRecognition = 29 - CustomerContactList = 30 - DemographicInformation = 31 - DeviceConnectivityAndConfiguration = 32 - EnvironmentalSensor = 33 - EUII = 34 - FeedbackAndRatings = 35 - FinancialAccountingAndRecords = 36 - FinancialTransactions = 37 - FitnessAndActivity = 38 - CustomerContent = 39 - WorkTime = 40 - Social = 41 required: true style: form explode: true schema: type: integer format: int32 example: 10 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' deprecated: false /GetUserRoles: get: tags: - User Management summary: Retrieve all assignable user roles description: Allows you to view all user roles available to your API integration. operationId: GetUserRoles parameters: [] responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/UserRoleResponse' deprecated: false /UpdateUserCustomFieldValue: get: tags: - User Management summary: Update a custom field for a user description: Updates the current value of a specific custom field for a user. operationId: UpdateUserCustomFieldValue parameters: - name: customFieldId in: query description: The ID of the custom field for which the value will be updated. required: true style: form explode: true schema: type: integer format: int32 example: 4873 - name: userId in: query description: The ID of the user for which the custom field value will be updated. required: true style: form explode: true schema: type: integer format: int32 example: 57383 - name: textValue in: query description: The value of a text type user custom field - Textbox and Dropdown List required: false style: form explode: true schema: type: string - name: booleanValue in: query description: The value for a boolean type user custom field - Checkbox required: false style: form explode: true schema: type: boolean - name: separatedListValues in: query description: A Tab separated list of all the text values for a multi-select custom field type - Checkbox List required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CustomFieldValueResponse' deprecated: false '/GetOrganization/{id}': get: tags: - Organization Management summary: Retrieve organization information by id description: Allows you to get information about an organization. operationId: GetOrganization parameters: - name: id in: path description: The ID of the organization to retrieve required: true style: simple explode: true schema: type: integer format: int32 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/OrganizationResponse' deprecated: false '/GetOrganizationByExternalId/{id}': get: tags: - Organization Management summary: Retrieve organization information by external platform id description: Allows you to get information about an organization by providing a unique identifier from your external system. operationId: GetOrganizationByExternalId parameters: - name: id in: path description: The external ID of the organization to retrieve. required: true style: simple explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/OrganizationResponse' deprecated: false /CreateOrganization: get: tags: - Organization Management summary: Create an organization description: Allows you to create an organization. operationId: CreateOrganization parameters: - name: name in: query description: The organization's name required: true style: form explode: true schema: type: string - name: externalId in: query description: 'The organization''s external ID, usually a unique identifier from the calling system' required: false style: form explode: true schema: type: string - name: description in: query description: An optional description required: false style: form explode: true schema: type: string - name: parentId in: query description: 'The ID of the organization''s parent organization. If not supplied, the organization will become a direct child of the API organization.' required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: timeZoneId in: query description: |- The time zone for the data object. If not specified, the timezone of the organization will be used. **Allowed values** Afghanistan Standard Time Alaskan Standard Time Aleutian Standard Time Altai Standard Time Arab Standard Time Arabian Standard Time Arabic Standard Time Argentina Standard Time Astrakhan Standard Time Atlantic Standard Time AUS Central Standard Time Aus Central W. Standard Time AUS Eastern Standard Time Azerbaijan Standard Time Azores Standard Time Bahia Standard Time Bangladesh Standard Time Belarus Standard Time Bougainville Standard Time Canada Central Standard Time Cape Verde Standard Time Caucasus Standard Time Cen. Australia Standard Time Central America Standard Time Central Asia Standard Time Central Brazilian Standard Time Central Europe Standard Time Central European Standard Time Central Pacific Standard Time Central Standard Time Central Standard Time (Mexico) Chatham Islands Standard Time China Standard Time Cuba Standard Time Dateline Standard Time E. Africa Standard Time E. Australia Standard Time E. Europe Standard Time E. South America Standard Time Easter Island Standard Time Eastern Standard Time Eastern Standard Time (Mexico) Egypt Standard Time Ekaterinburg Standard Time Fiji Standard Time FLE Standard Time Georgian Standard Time GMT Standard Time Greenland Standard Time Greenwich Standard Time GTB Standard Time Haiti Standard Time Hawaiian Standard Time India Standard Time Iran Standard Time Israel Standard Time Jordan Standard Time Kaliningrad Standard Time Kamchatka Standard Time Korea Standard Time Libya Standard Time Line Islands Standard Time Lord Howe Standard Time Magadan Standard Time Magallanes Standard Time Marquesas Standard Time Mauritius Standard Time Mid-Atlantic Standard Time Middle East Standard Time Montevideo Standard Time Morocco Standard Time Mountain Standard Time Mountain Standard Time (Mexico) Myanmar Standard Time N. Central Asia Standard Time Namibia Standard Time Nepal Standard Time New Zealand Standard Time Newfoundland Standard Time Norfolk Standard Time North Asia East Standard Time North Asia Standard Time North Korea Standard Time Omsk Standard Time Pacific SA Standard Time Pacific Standard Time Pacific Standard Time (Mexico) Pakistan Standard Time Paraguay Standard Time Qyzylorda Standard Time Romance Standard Time Russia Time Zone 10 Russia Time Zone 11 Russia Time Zone 3 Russian Standard Time SA Eastern Standard Time SA Pacific Standard Time SA Western Standard Time Saint Pierre Standard Time Sakhalin Standard Time Samoa Standard Time Sao Tome Standard Time Saratov Standard Time SE Asia Standard Time Singapore Standard Time South Africa Standard Time South Sudan Standard Time Sri Lanka Standard Time Sudan Standard Time Syria Standard Time Taipei Standard Time Tasmania Standard Time Tocantins Standard Time Tokyo Standard Time Tomsk Standard Time Tonga Standard Time Transbaikal Standard Time Turkey Standard Time Turks And Caicos Standard Time Ulaanbaatar Standard Time US Eastern Standard Time US Mountain Standard Time UTC UTC+12 UTC+13 UTC-02 UTC-08 UTC-09 UTC-11 Venezuela Standard Time Vladivostok Standard Time Volgograd Standard Time W. Australia Standard Time W. Central Africa Standard Time W. Europe Standard Time W. Mongolia Standard Time West Asia Standard Time West Bank Standard Time West Pacific Standard Time Yakutsk Standard Time Yukon Standard Time required: false style: form explode: true schema: type: string - name: culture in: query description: |- The default language/culture setting. This is used as a default when creating new users and events. If not specified, the culture of the parent organization will be used. Allowed Values - aa-DJ - aa-ER - aa-ET - af-NA - af-ZA - agq-CM - ak-GH - am-ET - ar-001 - ar-AE - ar-BH - ar-DJ - ar-DZ - ar-EG - ar-ER - ar-IL - ar-IQ - ar-JO - ar-KM - ar-KW - ar-LB - ar-LY - ar-MA - ar-MR - arn-CL - ar-OM - ar-PS - ar-QA - ar-SA - ar-SD - ar-SO - ar-SS - ar-SY - ar-TD - ar-TN - ar-YE - asa-TZ - as-IN - ast-ES - az-Cyrl-AZ - az-Latn-AZ - ba-RU - bas-CM - be-BY - bem-ZM - bez-TZ - bg-BG - bin-NG - bm-Latn-ML - bn-BD - bn-IN - bo-CN - bo-IN - br-FR - brx-IN - bs-Cyrl-BA - bs-Latn-BA - byn-ER - ca-AD - ca-ES - ca-ES-valencia - ca-FR - ca-IT - ce-RU - cgg-UG - chr-Cher-US - co-FR - cs-CZ - cu-RU - cy-GB - da-DK - da-GL - dav-KE - de-AT - de-BE - de-CH - de-DE - de-LI - de-LU - dje-NE - dsb-DE - dua-CM - dv-MV - dyo-SN - dz-BT - ebu-KE - ee-GH - ee-TG - el-CY - el-GR - en-001 - en-029 - en-150 - en-AG - en-AI - en-AS - en-AT - en-AU - en-BB - en-BE - en-BI - en-BM - en-BS - en-BW - en-BZ - en-CA - en-CC - en-CH - en-CK - en-CM - en-CX - en-CY - en-DE - en-DK - en-DM - en-ER - en-FI - en-FJ - en-FK - en-FM - en-GB - en-GD - en-GG - en-GH - en-GI - en-GM - en-GU - en-GY - en-HK - en-ID - en-IE - en-IL - en-IM - en-IN - en-IO - en-JE - en-JM - en-KE - en-KI - en-KN - en-KY - en-LC - en-LR - en-LS - en-MG - en-MH - en-MO - en-MP - en-MS - en-MT - en-MU - en-MW - en-MY - en-NA - en-NF - en-NG - en-NL - en-NR - en-NU - en-NZ - en-PG - en-PH - en-PK - en-PN - en-PR - en-PW - en-RW - en-SB - en-SC - en-SD - en-SE - en-SG - en-SH - en-SI - en-SL - en-SS - en-SX - en-SZ - en-TC - en-TK - en-TO - en-TT - en-TV - en-TZ - en-UG - en-UM - en-US - en-VC - en-VG - en-VI - en-VU - en-WS - en-ZA - en-ZM - en-ZW - eo-001 - es-419 - es-AR - es-BO - es-CL - es-CO - es-CR - es-CU - es-DO - es-EC - es-ES - es-GQ - es-GT - es-HN - es-MX - es-NI - es-PA - es-PE - es-PH - es-PR - es-PY - es-SV - es-US - es-UY - es-VE - et-EE - eu-ES - ewo-CM - fa-IR - ff-CM - ff-GN - ff-Latn-SN - ff-MR - ff-NG - fi-FI - fil-PH - fo-DK - fo-FO - fr-029 - fr-BE - fr-BF - fr-BI - fr-BJ - fr-BL - fr-CA - fr-CD - fr-CF - fr-CG - fr-CH - fr-CI - fr-CM - fr-DJ - fr-DZ - fr-FR - fr-GA - fr-GF - fr-GN - fr-GP - fr-GQ - fr-HT - fr-KM - fr-LU - fr-MA - fr-MC - fr-MF - fr-MG - fr-ML - fr-MQ - fr-MR - fr-MU - fr-NC - fr-NE - fr-PF - fr-PM - fr-RE - fr-RW - fr-SC - fr-SN - fr-SY - fr-TD - fr-TG - fr-TN - fr-VU - fr-WF - fr-YT - fur-IT - fy-NL - ga-IE - gd-GB - gl-ES - gn-PY - gsw-CH - gsw-FR - gsw-LI - gu-IN - guz-KE - gv-IM - ha-Latn-GH - ha-Latn-NE - ha-Latn-NG - haw-US - he-IL - hi-IN - hr-BA - hr-HR - hsb-DE - hu-HU - hy-AM - ia-001 - ia-FR - ibb-NG - id-ID - ig-NG - ii-CN - is-IS - it-CH - it-IT - it-SM - iu-Cans-CA - iu-Latn-CA - ja-JP - jgo-CM - jmc-TZ - jv-Java-ID - jv-Latn-ID - kab-DZ - ka-GE - kam-KE - kde-TZ - kea-CV - khq-ML - ki-KE - kkj-CM - kk-KZ - kl-GL - kln-KE - km-KH - kn-IN - kok-IN - ko-KP - ko-KR - kr-NG - ks-Arab-IN - ksb-TZ - ks-Deva-IN - ksf-CM - ksh-DE - ku-Arab-IQ - ku-Arab-IR - kw-GB - ky-KG - la-001 - lag-TZ - lb-LU - lg-UG - lkt-US - ln-AO - ln-CD - ln-CF - ln-CG - lo-LA - lrc-IQ - lrc-IR - lt-LT - lu-CD - luo-KE - luy-KE - lv-LV - mas-KE - mas-TZ - mer-KE - mfe-MU - mgh-MZ - mg-MG - mgo-CM - mi-NZ - mk-MK - ml-IN - mni-IN - mn-MN - mn-Mong-CN - mn-Mong-MN - moh-CA - mr-IN - ms-BN - ms-MY - ms-SG - mt-MT - mua-CM - my-MM - mzn-IR - naq-NA - nb-NO - nb-SJ - nd-ZW - ne-IN - ne-NP - nl-AW - nl-BE - nl-BQ - nl-CW - nl-NL - nl-SR - nl-SX - nmg-CM - nnh-CM - nn-NO - nqo-GN - nr-ZA - nso-ZA - nus-SS - nyn-UG - oc-FR - om-ET - om-KE - or-IN - os-GE - os-RU - pa-Arab-PK - pa-IN - pap-029 - pl-PL - prg-001 - prs-AF - ps-AF - pt-AO - pt-BR - pt-CV - pt-GW - pt-MO - pt-MZ - pt-PT - pt-ST - pt-TL - quc-Latn-GT - quz-BO - quz-EC - quz-PE - rm-CH - rn-BI - rof-TZ - ro-MD - ro-RO - ru-BY - ru-KG - ru-KZ - ru-MD - ru-RU - ru-UA - rwk-TZ - rw-RW - sah-RU - sa-IN - saq-KE - sbp-TZ - sd-Arab-PK - sd-Deva-IN - se-FI - seh-MZ - se-NO - se-SE - ses-ML - sg-CF - shi-Latn-MA - shi-Tfng-MA - si-LK - sk-SK - sl-SI - sma-NO - sma-SE - smj-NO - smj-SE - smn-FI - sms-FI - sn-Latn-ZW - so-DJ - so-ET - so-KE - so-SO - sq-AL - sq-MK - sq-XK - sr-Cyrl-BA - sr-Cyrl-ME - sr-Cyrl-RS - sr-Cyrl-XK - sr-Latn-BA - sr-Latn-ME - sr-Latn-RS - sr-Latn-XK - ss-SZ - ssy-ER - ss-ZA - st-LS - st-ZA - sv-AX - sv-FI - sv-SE - sw-CD - sw-KE - sw-TZ - sw-UG - syr-SY - ta-IN - ta-LK - ta-MY - ta-SG - te-IN - teo-KE - teo-UG - tg-Cyrl-TJ - th-TH - ti-ER - ti-ET - tig-ER - tk-TM - tn-BW - tn-ZA - to-TO - tr-CY - tr-TR - ts-ZA - tt-RU - twq-NE - tzm-Arab-MA - tzm-Latn-DZ - tzm-Latn-MA - tzm-Tfng-MA - ug-CN - uk-UA - ur-IN - ur-PK - uz-Arab-AF - uz-Cyrl-UZ - uz-Latn-UZ - vai-Latn-LR - vai-Vaii-LR - ve-ZA - vi-VN - vo-001 - vun-TZ - wae-CH - wal-ET - wo-SN - xh-ZA - xog-UG - yav-CM - yi-001 - yo-BJ - yo-NG - zgh-Tfng-MA - zh-CN - zh-Hans-HK - zh-Hans-MO - zh-HK - zh-MO - zh-SG - zh-TW - zu-ZA required: false style: form explode: true schema: type: string - name: defaultRoleId in: query description: 'An identifier for the role new users should be assigned by default. You can provide multiple instances of this parameter to specify multiple roles. For example: roleId=346&roleId=347&roleId=348. You can discover roles available to your API integration by using the GetUserRoles command. If this paramter is not supplied, the system default role will be used.' required: false style: form explode: true schema: type: integer format: int32 example: 10 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CreateResponse' deprecated: false '/DeleteOrganization/{id}': get: tags: - Organization Management summary: Delete an organization by id description: Allows you to delete an organization. operationId: DeleteOrganization parameters: - name: id in: path description: The organization ID required: true style: simple explode: true schema: type: integer format: int32 example: 5487 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false '/UpdateOrganization/{id}': get: tags: - Organization Management summary: Update an organization by id description: Allows you to update an organization. operationId: UpdateOrganization parameters: - name: id in: path description: The organization's ID required: true style: simple explode: true schema: type: integer format: int32 example: 10 - name: name in: query description: The organization's name required: true style: form explode: true schema: type: string nullable: true - name: externalId in: query description: 'The organization''s external ID, usually a unique identifier from the calling system' required: false style: form explode: true schema: type: string - name: description in: query description: An optional description required: false style: form explode: true schema: type: string - name: parentId in: query description: 'The ID of the organization''s parent organization. If not supplied, the current parent will be used.' required: true style: form explode: true schema: type: integer format: int32 nullable: true example: 7685 - name: timeZoneId in: query description: |- The time zone for the data object. If not specified, the timezone of the organization will be used. **Allowed values** Afghanistan Standard Time Alaskan Standard Time Aleutian Standard Time Altai Standard Time Arab Standard Time Arabian Standard Time Arabic Standard Time Argentina Standard Time Astrakhan Standard Time Atlantic Standard Time AUS Central Standard Time Aus Central W. Standard Time AUS Eastern Standard Time Azerbaijan Standard Time Azores Standard Time Bahia Standard Time Bangladesh Standard Time Belarus Standard Time Bougainville Standard Time Canada Central Standard Time Cape Verde Standard Time Caucasus Standard Time Cen. Australia Standard Time Central America Standard Time Central Asia Standard Time Central Brazilian Standard Time Central Europe Standard Time Central European Standard Time Central Pacific Standard Time Central Standard Time Central Standard Time (Mexico) Chatham Islands Standard Time China Standard Time Cuba Standard Time Dateline Standard Time E. Africa Standard Time E. Australia Standard Time E. Europe Standard Time E. South America Standard Time Easter Island Standard Time Eastern Standard Time Eastern Standard Time (Mexico) Egypt Standard Time Ekaterinburg Standard Time Fiji Standard Time FLE Standard Time Georgian Standard Time GMT Standard Time Greenland Standard Time Greenwich Standard Time GTB Standard Time Haiti Standard Time Hawaiian Standard Time India Standard Time Iran Standard Time Israel Standard Time Jordan Standard Time Kaliningrad Standard Time Kamchatka Standard Time Korea Standard Time Libya Standard Time Line Islands Standard Time Lord Howe Standard Time Magadan Standard Time Magallanes Standard Time Marquesas Standard Time Mauritius Standard Time Mid-Atlantic Standard Time Middle East Standard Time Montevideo Standard Time Morocco Standard Time Mountain Standard Time Mountain Standard Time (Mexico) Myanmar Standard Time N. Central Asia Standard Time Namibia Standard Time Nepal Standard Time New Zealand Standard Time Newfoundland Standard Time Norfolk Standard Time North Asia East Standard Time North Asia Standard Time North Korea Standard Time Omsk Standard Time Pacific SA Standard Time Pacific Standard Time Pacific Standard Time (Mexico) Pakistan Standard Time Paraguay Standard Time Qyzylorda Standard Time Romance Standard Time Russia Time Zone 10 Russia Time Zone 11 Russia Time Zone 3 Russian Standard Time SA Eastern Standard Time SA Pacific Standard Time SA Western Standard Time Saint Pierre Standard Time Sakhalin Standard Time Samoa Standard Time Sao Tome Standard Time Saratov Standard Time SE Asia Standard Time Singapore Standard Time South Africa Standard Time South Sudan Standard Time Sri Lanka Standard Time Sudan Standard Time Syria Standard Time Taipei Standard Time Tasmania Standard Time Tocantins Standard Time Tokyo Standard Time Tomsk Standard Time Tonga Standard Time Transbaikal Standard Time Turkey Standard Time Turks And Caicos Standard Time Ulaanbaatar Standard Time US Eastern Standard Time US Mountain Standard Time UTC UTC+12 UTC+13 UTC-02 UTC-08 UTC-09 UTC-11 Venezuela Standard Time Vladivostok Standard Time Volgograd Standard Time W. Australia Standard Time W. Central Africa Standard Time W. Europe Standard Time W. Mongolia Standard Time West Asia Standard Time West Bank Standard Time West Pacific Standard Time Yakutsk Standard Time Yukon Standard Time required: false style: form explode: true schema: type: string - name: culture in: query description: |- The default language/culture setting. This is used as a default when creating new users and events. If not specified, the culture of the parent organization will be used. Allowed Values - aa-DJ - aa-ER - aa-ET - af-NA - af-ZA - agq-CM - ak-GH - am-ET - ar-001 - ar-AE - ar-BH - ar-DJ - ar-DZ - ar-EG - ar-ER - ar-IL - ar-IQ - ar-JO - ar-KM - ar-KW - ar-LB - ar-LY - ar-MA - ar-MR - arn-CL - ar-OM - ar-PS - ar-QA - ar-SA - ar-SD - ar-SO - ar-SS - ar-SY - ar-TD - ar-TN - ar-YE - asa-TZ - as-IN - ast-ES - az-Cyrl-AZ - az-Latn-AZ - ba-RU - bas-CM - be-BY - bem-ZM - bez-TZ - bg-BG - bin-NG - bm-Latn-ML - bn-BD - bn-IN - bo-CN - bo-IN - br-FR - brx-IN - bs-Cyrl-BA - bs-Latn-BA - byn-ER - ca-AD - ca-ES - ca-ES-valencia - ca-FR - ca-IT - ce-RU - cgg-UG - chr-Cher-US - co-FR - cs-CZ - cu-RU - cy-GB - da-DK - da-GL - dav-KE - de-AT - de-BE - de-CH - de-DE - de-LI - de-LU - dje-NE - dsb-DE - dua-CM - dv-MV - dyo-SN - dz-BT - ebu-KE - ee-GH - ee-TG - el-CY - el-GR - en-001 - en-029 - en-150 - en-AG - en-AI - en-AS - en-AT - en-AU - en-BB - en-BE - en-BI - en-BM - en-BS - en-BW - en-BZ - en-CA - en-CC - en-CH - en-CK - en-CM - en-CX - en-CY - en-DE - en-DK - en-DM - en-ER - en-FI - en-FJ - en-FK - en-FM - en-GB - en-GD - en-GG - en-GH - en-GI - en-GM - en-GU - en-GY - en-HK - en-ID - en-IE - en-IL - en-IM - en-IN - en-IO - en-JE - en-JM - en-KE - en-KI - en-KN - en-KY - en-LC - en-LR - en-LS - en-MG - en-MH - en-MO - en-MP - en-MS - en-MT - en-MU - en-MW - en-MY - en-NA - en-NF - en-NG - en-NL - en-NR - en-NU - en-NZ - en-PG - en-PH - en-PK - en-PN - en-PR - en-PW - en-RW - en-SB - en-SC - en-SD - en-SE - en-SG - en-SH - en-SI - en-SL - en-SS - en-SX - en-SZ - en-TC - en-TK - en-TO - en-TT - en-TV - en-TZ - en-UG - en-UM - en-US - en-VC - en-VG - en-VI - en-VU - en-WS - en-ZA - en-ZM - en-ZW - eo-001 - es-419 - es-AR - es-BO - es-CL - es-CO - es-CR - es-CU - es-DO - es-EC - es-ES - es-GQ - es-GT - es-HN - es-MX - es-NI - es-PA - es-PE - es-PH - es-PR - es-PY - es-SV - es-US - es-UY - es-VE - et-EE - eu-ES - ewo-CM - fa-IR - ff-CM - ff-GN - ff-Latn-SN - ff-MR - ff-NG - fi-FI - fil-PH - fo-DK - fo-FO - fr-029 - fr-BE - fr-BF - fr-BI - fr-BJ - fr-BL - fr-CA - fr-CD - fr-CF - fr-CG - fr-CH - fr-CI - fr-CM - fr-DJ - fr-DZ - fr-FR - fr-GA - fr-GF - fr-GN - fr-GP - fr-GQ - fr-HT - fr-KM - fr-LU - fr-MA - fr-MC - fr-MF - fr-MG - fr-ML - fr-MQ - fr-MR - fr-MU - fr-NC - fr-NE - fr-PF - fr-PM - fr-RE - fr-RW - fr-SC - fr-SN - fr-SY - fr-TD - fr-TG - fr-TN - fr-VU - fr-WF - fr-YT - fur-IT - fy-NL - ga-IE - gd-GB - gl-ES - gn-PY - gsw-CH - gsw-FR - gsw-LI - gu-IN - guz-KE - gv-IM - ha-Latn-GH - ha-Latn-NE - ha-Latn-NG - haw-US - he-IL - hi-IN - hr-BA - hr-HR - hsb-DE - hu-HU - hy-AM - ia-001 - ia-FR - ibb-NG - id-ID - ig-NG - ii-CN - is-IS - it-CH - it-IT - it-SM - iu-Cans-CA - iu-Latn-CA - ja-JP - jgo-CM - jmc-TZ - jv-Java-ID - jv-Latn-ID - kab-DZ - ka-GE - kam-KE - kde-TZ - kea-CV - khq-ML - ki-KE - kkj-CM - kk-KZ - kl-GL - kln-KE - km-KH - kn-IN - kok-IN - ko-KP - ko-KR - kr-NG - ks-Arab-IN - ksb-TZ - ks-Deva-IN - ksf-CM - ksh-DE - ku-Arab-IQ - ku-Arab-IR - kw-GB - ky-KG - la-001 - lag-TZ - lb-LU - lg-UG - lkt-US - ln-AO - ln-CD - ln-CF - ln-CG - lo-LA - lrc-IQ - lrc-IR - lt-LT - lu-CD - luo-KE - luy-KE - lv-LV - mas-KE - mas-TZ - mer-KE - mfe-MU - mgh-MZ - mg-MG - mgo-CM - mi-NZ - mk-MK - ml-IN - mni-IN - mn-MN - mn-Mong-CN - mn-Mong-MN - moh-CA - mr-IN - ms-BN - ms-MY - ms-SG - mt-MT - mua-CM - my-MM - mzn-IR - naq-NA - nb-NO - nb-SJ - nd-ZW - ne-IN - ne-NP - nl-AW - nl-BE - nl-BQ - nl-CW - nl-NL - nl-SR - nl-SX - nmg-CM - nnh-CM - nn-NO - nqo-GN - nr-ZA - nso-ZA - nus-SS - nyn-UG - oc-FR - om-ET - om-KE - or-IN - os-GE - os-RU - pa-Arab-PK - pa-IN - pap-029 - pl-PL - prg-001 - prs-AF - ps-AF - pt-AO - pt-BR - pt-CV - pt-GW - pt-MO - pt-MZ - pt-PT - pt-ST - pt-TL - quc-Latn-GT - quz-BO - quz-EC - quz-PE - rm-CH - rn-BI - rof-TZ - ro-MD - ro-RO - ru-BY - ru-KG - ru-KZ - ru-MD - ru-RU - ru-UA - rwk-TZ - rw-RW - sah-RU - sa-IN - saq-KE - sbp-TZ - sd-Arab-PK - sd-Deva-IN - se-FI - seh-MZ - se-NO - se-SE - ses-ML - sg-CF - shi-Latn-MA - shi-Tfng-MA - si-LK - sk-SK - sl-SI - sma-NO - sma-SE - smj-NO - smj-SE - smn-FI - sms-FI - sn-Latn-ZW - so-DJ - so-ET - so-KE - so-SO - sq-AL - sq-MK - sq-XK - sr-Cyrl-BA - sr-Cyrl-ME - sr-Cyrl-RS - sr-Cyrl-XK - sr-Latn-BA - sr-Latn-ME - sr-Latn-RS - sr-Latn-XK - ss-SZ - ssy-ER - ss-ZA - st-LS - st-ZA - sv-AX - sv-FI - sv-SE - sw-CD - sw-KE - sw-TZ - sw-UG - syr-SY - ta-IN - ta-LK - ta-MY - ta-SG - te-IN - teo-KE - teo-UG - tg-Cyrl-TJ - th-TH - ti-ER - ti-ET - tig-ER - tk-TM - tn-BW - tn-ZA - to-TO - tr-CY - tr-TR - ts-ZA - tt-RU - twq-NE - tzm-Arab-MA - tzm-Latn-DZ - tzm-Latn-MA - tzm-Tfng-MA - ug-CN - uk-UA - ur-IN - ur-PK - uz-Arab-AF - uz-Cyrl-UZ - uz-Latn-UZ - vai-Latn-LR - vai-Vaii-LR - ve-ZA - vi-VN - vo-001 - vun-TZ - wae-CH - wal-ET - wo-SN - xh-ZA - xog-UG - yav-CM - yi-001 - yo-BJ - yo-NG - zgh-Tfng-MA - zh-CN - zh-Hans-HK - zh-Hans-MO - zh-HK - zh-MO - zh-SG - zh-TW - zu-ZA required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /SearchCourses: get: tags: - Course Management summary: Search for courses description: Allows you to search for courses. operationId: SearchCourses parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "Name" will be used. You can append " DESC" after the sort value to sort descending. For example, "Name DESC" would sort by name in descending order. Possible values: - Name - Organization - ContentProvider - AvailableInstructorLed - AvailableSelfPaced required: false style: form explode: true schema: type: string - name: name in: query description: 'An optional parameter used to filter for courses by name. When specified, only courses that have names that contain or match this value will be returned.' required: false style: form explode: true schema: type: string - name: externalId in: query description: An optional parameter used to filter for courses by external ID required: false style: form explode: true schema: type: string - name: hasLabs in: query description: 'An optional parameter used to filter for courses that contain labs. If true is passed, only courses with labs are returned. If false is passed, only courses without labs are returned.' required: false style: form explode: true schema: type: boolean - name: createdAfter in: query description: 'An optional parameter used to filter for courses created after a specified date. When used in conjunction with the "createdBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: string - name: createdBefore in: query description: 'An optional parameter used to filter for courses created before a specified date. When used in conjunction with the "createdAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: string - name: lastModifiedAfter in: query description: 'An optional parameter used to filter for courses modified after a specified date. When used in conjunction with the "lastModifiedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: string - name: lastModifiedBefore in: query description: 'An optional parameter used to filter for courses modified before a specified date. When used in conjunction with the "lastModifiedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: string - name: availableInstructorLed in: query description: 'An optional parameter used to filter for courses that are available instructor-led. If true is passed, only courses that are avaialble instructor-led are returned. If false is passed, only courses that are not available instructor-led are returned.' required: false style: form explode: true schema: type: boolean - name: availableSelfPaced in: query description: 'An optional parameter used to filter for courses that are available self-paced. If true is passed, only courses that are avaialble self-paced are returned. If false is passed, only courses that are not available self-paced are returned.' required: false style: form explode: true schema: type: boolean responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchCourseResponse' deprecated: false '/GetCourse/{id}': get: tags: - Course Management summary: Retrieve information about a course by id description: Allows you to get information about a course. operationId: GetCourse parameters: - name: id in: path description: The ID of the course to retrieve required: true style: simple explode: true schema: type: integer format: int32 example: 34556 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CourseResponse' deprecated: false '/GetCourseByExternalId/{id}': get: tags: - Course Management summary: Retrieve information about a course by external platform id description: Allows you to get information about a course by providing a unique identifier from your external system. operationId: GetCourseByExternalId parameters: - name: id in: path description: The external ID of the course to retrieve. required: true style: simple explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CourseResponse' deprecated: false /SearchCourseTagGroups: get: tags: - Course Management summary: Search for course tag groups description: Allows you to search for course tag groups. operationId: SearchCourseTagGroups parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "Name" will be assumed. You can append " DESC" after the sort value to sort descending. For example, "Name DESC" would sort by name time in descending order. Possible values: - Name required: false style: form explode: true schema: type: string - name: name in: query description: An optional parameter used to filter for course tag groups by name required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchCourseTagGroupResponse' deprecated: false /SearchCourseFeedback: get: tags: - Course Management summary: Search for course feedback description: Allows you to search for course feedback. operationId: SearchCourseFeedback parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "Created" will be used. You can append " DESC" after the sort value to sort descending. For example, "Created DESC" would sort by created date in descending order. Possible values: - Created - Title - Content - Positive - Negative - User - CourseAssignment - Course - Class - ClassEnrollment - Activity - ActivityType required: false style: form explode: true schema: type: string - name: courseId in: query description: 'An optional parameter used to filter for a course by Id. When specified, only feedback entries for the specified course will be returned.' required: false style: form explode: true schema: type: integer format: int32 example: 67785 - name: name in: query description: 'An optional parameter used to filter for courses by name. When specified, only feedback entries for courses that have names that contain or match this value will be returned.' required: false style: form explode: true schema: type: string - name: createdAfter in: query description: 'An optional parameter used to filter for feedback entries created after a specified date. When used in conjunction with the "createdBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 nullable: true example: 1492203295 - name: createdBefore in: query description: 'An optional parameter used to filter for feedback entries created before a specified date. When used in conjunction with the "createdAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 nullable: true example: 1492203295 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchCourseFeedbackReponse' deprecated: false '/GetClassEnrollment/{id}': get: tags: - Class Enrollment Management summary: Retrieve class enrollment information by id description: Allows you to get basic information about a class enrollment. operationId: GetClassEnrollment parameters: - name: id in: path description: The ID of the class enrollment to retrieve required: true style: simple explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ClassEnrollmentResponse' deprecated: false /GetClassEnrollmentByClassAndUser: get: tags: - Class Enrollment Management summary: Retrieve class enrollment information by class id and user id description: Allows you to get information about a class enrollment by providing class and user identifiers. operationId: GetClassEnrollmentByClassAndUser parameters: - name: classId in: query description: The class ID of the enrollment required: true style: form explode: true schema: type: integer format: int32 example: 445632 - name: userId in: query description: The user ID of the enrollment required: true style: form explode: true schema: type: integer format: int32 example: 67856 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ClassEnrollmentResponse' deprecated: false /GetClassEnrollmentByExternalId: get: tags: - Class Enrollment Management summary: Retrieve class enrollment information by external platform id description: Allows you to get information about a class enrollment by providing a unique identifier from your external system. operationId: GetClassEnrollmentByExternalId parameters: - name: id in: query description: The external ID of the class enrollment to retrieve required: true style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ClassEnrollmentResponse' deprecated: false /CreateClassEnrollment: get: tags: - Class Enrollment Management x-stoplight: id: 54b98be047195 summary: Create a class enrollment description: Allows you to create a class enrollment. operationId: CreateClassEnrollment parameters: - name: externalId in: query description: 'The exernal ID of the class enrollment, usually a unique identifier from the calling system' required: false style: form explode: true schema: type: string - name: classId in: query description: The Id of the related class required: true style: form explode: true schema: type: integer format: int32 example: 10 - name: userId in: query description: The Id of the related user required: true style: form explode: true schema: type: integer format: int32 example: 10 - name: enrollmentStatusId in: query description: |- Indicates the status of the class enrollment - 0 = Request - 10 = Cancel - 20 = Waitlist - 30 = Approve - 40 = Deny - 50 = Audit - 60 = Enroll required: true style: form explode: true schema: type: string - name: completionStatusId in: query description: |- Indicates the completion status of the class enrollment - 0 = Unknown - 10 = Attending - 20 = Complete - 30 = Incomplete - 40 = NoShow - 50 = Failed required: true style: form explode: true schema: type: string - name: lateCancel in: query description: Indicates if the class enrollment was cancelled outside the late cancellation window required: false style: form explode: true schema: type: boolean - name: retake in: query description: Indicates if the class enrollment is a retake required: false style: form explode: true schema: type: boolean - name: LocationTypeId in: query description: |- Indicates the location type that the student is assigned to attend the class - 0 = To Be Determined - 10 = Classroom - 20 = Remote Classroom - 30 = Virtual required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: ClassroomId in: query description: The ID of the classroom (if any) in which the student is assigned to attend the class required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: HoursSpent in: query description: The hours spent by the student in the class enrollment required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: Grade in: query description: The grade the student received for the class enrollment required: false style: form explode: true schema: type: integer format: int32 example: 10 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CreateClassEnrollmentResponse' deprecated: false '/DeleteClassEnrollment/{id}': get: tags: - Class Enrollment Management summary: Delete a class enrollment by id description: Allows you to delete a class enrollment. operationId: DeleteClassEnrollment parameters: - name: id in: path description: The ID of the class enrollment to delete required: true style: simple explode: true schema: type: integer format: int32 example: 45632 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false '/UpdateClassEnrollment/{id}': get: tags: - Class Enrollment Management summary: Update a class enrollment by id description: Allows you to update a class enrollment. operationId: UpdateClassEnrollment parameters: - name: id in: path description: The ID of the class enrollment. required: true style: simple explode: true schema: type: integer format: int32 example: 45632 - name: externalId in: query description: 'The exernal ID of the class enrollment, usually a unique identifier from the calling system' required: false style: form explode: true schema: type: string - name: classId in: query description: The Id of the related class required: true style: form explode: true schema: type: integer format: int32 example: 10 - name: userId in: query description: The Id of the related user required: true style: form explode: true schema: type: integer format: int32 example: 10 - name: enrollmentStatusId in: query description: |- Indicates the status of the class enrollment - 0 = Request - 10 = Cancel - 20 = Waitlist - 30 = Approve - 40 = Deny - 50 = Audit - 60 = Enroll required: true style: form explode: true schema: type: integer format: int32 - name: completionStatusId in: query description: |- Indicates the completion status of the class enrollment - 0 = Unknown - 10 = Attending - 20 = Complete - 30 = Incomplete - 40 = NoShow - 50 = Failed required: true style: form explode: true schema: type: string - name: lateCancel in: query description: Indicates if the class enrollment was cancelled outside the late cancellation window required: false style: form explode: true schema: type: boolean - name: retake in: query description: Indicates if the class enrollment is a retake required: false style: form explode: true schema: type: boolean - name: LocationTypeId in: query description: |- Indicates the location type that the student is assigned to attend the class - 0 = To Be Determined - 10 = Classroom - 20 = Remote Classroom - 30 = Virtual required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: ClassroomId in: query description: The ID of the classroom (if any) in which the student is assigned to attend the class required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: HoursSpent in: query description: The hours spent by the student in the class enrollment required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: Grade in: query description: The grade the student received for the class enrollment required: false style: form explode: true schema: type: integer format: int32 example: 10 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /SearchClassEnrollments: get: tags: - Class Enrollment Management summary: Search for a class enrollment description: Allows you to search for a class enrollment. operationId: SearchClassEnrollments parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "Name" will be used. You can append " DESC" after the sort value to sort descending. For example, "Name DESC" would sort by name in descending order. Possible values: - Name - Program - CompanyOrganization - Owner - Company - Starts - Expires - Size - Used - Created - LastModified required: false style: form explode: true schema: type: string - name: className in: query description: 'An optional parameter used to filter for class enrollments by class name. When specified, only class enrollments that have names that contain or match this value will be returned.' required: false style: form explode: true schema: type: string - name: classId in: query description: 'An optional parameter used to filter for class enrollments by classid. When specified, only class enrollments that have an associated class with that Id will be returned.' required: false style: form schema: type: integer format: int32 example: 10 - name: studentId in: query description: 'An optional parameter used to filter for class enrollments by the associated student''s ID. When specified, only class enrollments that have an associated student with that Id will be returned.' required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: enrollmentStatusId in: query description: |- An optional parameter used to filter for class enrollments based on the status of the class enrollment - 0 = Request - 10 = Cancel - 20 = Waitlist - 30 = Approve - 40 = Deny - 50 = Audit - 60 = Enroll required: false style: form explode: true schema: type: integer format: int32 - name: createdAfter in: query description: 'An optional parameter used to filter for class enrollments created after a specified date. When used in conjunction with the "createdBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: createdBefore in: query description: 'An optional parameter used to filter for class enrollments created before a specified date. When used in conjunction with the "createdAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: lastModifiedAfter in: query description: 'An optional parameter used to filter for class enrollments updated after a specified date. When used in conjunction with the "lastModifiedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: lastModifiedBefore in: query description: 'An optional parameter used to filter for class enrollments updated before a specified date. When used in conjunction with the "lastModifiedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int32 example: 10 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ClassEnrollmentSearchResponse' deprecated: false /GetClassEnrollmentCustomFields: get: tags: - Class Enrollment Management summary: Retrieves a list of class enrollment custom fields description: Retreives a list of all available custom fields for your organization. operationId: GetClassEnrollmentCustomFields parameters: [] responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ClassEnrollmentCustomFieldResponse' deprecated: false x-stoplight: id: qsvtp0mm2cu2q /GetClassEnrollmentCustomFieldValues: get: tags: - Class Enrollment Management summary: Retrieves the custom field values for a specific class enrollment description: Retrieves the current values of a specific custom field for a class enrollment. operationId: GetClassEnrollmentCustomFieldValues parameters: - name: customFieldId in: query description: The ID of the custom field. required: true style: form explode: true schema: type: string - name: classEnrollmentId in: query description: The ID of the class enrollment holding the custom field. required: true style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CustomFieldValueResponse' deprecated: false x-stoplight: id: al1q899grmie2 /UpdateClassEnrollmentCustomFieldValue: get: tags: - Class Enrollment Management summary: Update a custom field for a class enrollment description: Updates the current value of a specific custom field for a class enrollment. operationId: UpdateClassEnrollmentCustomFieldValue parameters: - name: customFieldId in: query description: The ID of the custom field. required: true style: form explode: true schema: type: string - name: classEnrollmentId in: query description: The ID of the class enrollment holding the custom field. required: true style: form explode: true schema: type: string - name: textValue in: query description: 'The value of a text type class enrollment custom field: Textbox and Dropdown List' required: false style: form explode: true schema: type: string - name: numericValue in: query description: The value of a numeric type class enrollment custom field required: false style: form explode: true schema: type: string - name: booleanValue in: query description: The value for a boolean type class enrollment custom field. required: false style: form explode: true schema: type: boolean - name: separatedListValues in: query description: 'A Tab separated list of all the text values for a multi-select custom field type: Checkbox List' required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CustomFieldValueResponse' deprecated: false x-stoplight: id: tar1qj1894qsy '/GetCourseAssignment/{id}': get: tags: - Course Assignment Management summary: Retrieve course assignment information by id description: Allows you to get information about a course assignment. operationId: GetCourseAssignment parameters: - name: id in: path description: The ID of the course assignment to retrieve required: true style: simple explode: true schema: type: integer format: int32 example: 1234 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CourseAssignmentResponse' deprecated: false '/GetCourseAssignmentByExternalId/{id}': get: tags: - Course Assignment Management summary: Retrieve course assignment information by external id description: Allows you to get information about a course assignment by providing a unique identifier from your external system. operationId: GetCourseAssignmentByExternalId parameters: - name: id in: path description: The external ID of the course assignment to retrieve required: true style: simple explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CourseAssignmentResponse' deprecated: false /CreateCourseAssignment: get: tags: - Course Assignment Management summary: Create a course assignment description: Allows you to create a course assignment. operationId: CreateCourseAssignment parameters: - name: ExternalId in: query description: 'The course assignment''s external ID, usually a unique identifier from the calling system' required: false style: form explode: true schema: type: string example: E3G5YZFREFEQ9371 - name: CourseId in: query description: The Id of the course associated with this course assignment required: true style: form explode: true schema: type: integer format: int32 nullable: true example: 321 - name: UserId in: query description: The UserId of the user that is associated with this course assignment required: true style: form explode: true schema: type: integer format: int32 nullable: true example: 44534 - name: ClubMembershipId in: query description: The subscription (if any) associated with this course assignment required: false style: form explode: true schema: type: integer format: int32 example: 1234 - name: Expires in: query description: 'When the course assignment expires (as a date string in format yyyy-MM-dd ex: 2025-12-04)' required: false style: form explode: true schema: type: string format: date example: '2025-12-04' - name: TargetCompletionDate in: query description: 'When course assignment is expected to be completed by the student (as a date string in format yyyy-MM-dd ex: 2025-12-04)' required: false style: form explode: true schema: type: string format: date example: '2025-12-04' responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CreateCourseAssignmentResponse' deprecated: false '/DeleteCourseAssignment/{id}': get: tags: - Course Assignment Management summary: Delete a course assignment by id description: Allows you to delete a course assignment. operationId: DeleteCourseAssignment parameters: - name: id in: path description: The ID of the course assignment to delete required: true style: simple explode: true schema: type: integer format: int32 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /UpdateCourseAssignment: get: tags: - Course Assignment Management summary: Update a course assignment by id description: Allows you to update a course assignment. operationId: UpdateCourseAssignment parameters: - name: Id in: query description: The ID of the course assignment required: true style: form explode: true schema: type: integer format: int32 example: 10 - name: ExternalId in: query description: 'The course assignment''s external ID, usually a unique identifier from the calling system' required: false style: form explode: true schema: type: string example: E3G5YZFREFEQ9371 - name: CourseId in: query description: The Id of the course associated with this course assignment required: true style: form explode: true schema: type: integer format: int32 example: 10 - name: UserId in: query description: The UserId of the user that is associated with this course assignment required: true style: form explode: true schema: type: integer format: int32 example: 10 - name: ClubMembershipId in: query description: The subscription (if any) associated with this course assignment required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: Expires in: query description: When the course assignment expires (if ever) (in a string representation of the date) required: false style: form explode: true schema: type: string format: date example: '2020-02-26' - name: TargetCompletionDate in: query description: When course assignment is expected to be completed by the student (in a string representation of the date) required: false style: form explode: true schema: type: string format: date example: '2020-02-26' - name: Started in: query description: When the course assignment was started (if ever) (in a string representation of the date) required: false style: form explode: true schema: type: string format: date example: '2020-02-26' - name: Completed in: query description: When the course assignment was completed (if ever) (in a string representation of the date) required: false style: form explode: true schema: type: string format: date example: '2020-02-26' responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/UpdateCourseAssignmentResponse' deprecated: false /SearchCourseAssignments: get: tags: - Course Assignment Management summary: Search for course assignments description: Allows you to search for course assignments. operationId: SearchCourseAssignments parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: The value you want to sort by required: false style: form explode: true schema: type: string - name: userId in: query description: An optional parameter used to filter for course assignments for a particular user required: false style: form explode: true schema: type: integer format: int32 - name: userExternalId in: query description: An optional parameter used to filter for course assignments for a particular user using an external identifier required: false style: form explode: true schema: type: string - name: courseId in: query description: An optional parameter used to filter for course assignments for a particular course required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: completionStatus in: query description: |- An optional parameter used to filter for course assignments with a particular completion status. Possible values: - 0 = Not Started - 10 = Incomplete - 20 = Not Started or Incomplete - 30 = Complete required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: createdAfter in: query description: 'An optional parameter used to filter for course assignments created after a specified date. When used in conjunction with the "createdBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1318025880 - name: createdBefore in: query description: 'An optional parameter used to filter for course assignments created before a specified date. When used in conjunction with the "createdAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1318025880 - name: expiresAfter in: query description: 'An optional parameter used to filter for course assignments that expire after a specified date. When used in conjunction with the "expiresBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1318025880 - name: expiresBefore in: query description: 'An optional parameter used to filter for course assignments that expire before a specified date. When used in conjunction with the "expiresAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1318025880 - name: startedAfter in: query description: 'An optional parameter used to filter for course assignments started after a specified date. When used in conjunction with the "startedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1318025880 - name: startedBefore in: query description: 'An optional parameter used to filter for course assignments started before a specified date. When used in conjunction with the "startedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1318025880 - name: completedAfter in: query description: 'An optional parameter used to filter for course assignments completed after a specified date. When used in conjunction with the "completedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1318025880 - name: completedBefore in: query description: 'An optional parameter used to filter for course assignments completed before a specified date. When used in conjunction with the "completedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1318025880 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchCourseAssignmentsResponse' deprecated: false /SearchCourseCatalogSearchHistory: get: tags: - Searching summary: Search the course catalog's search history description: Allows you to search course catalog search history records. operationId: SearchCourseCatalogSearchHistory parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "SearchTime DESC" will be assumed. You can append " DESC" after the sort value to sort descending. For example, "SearchTime DESC" would sort by when the search was run in descending order. Possible values: - SearchTime - LastName required: false style: form explode: true schema: type: string example: SearchTime - name: userId in: query description: An optional parameter used to filter for searches run by a particular user. required: false style: form explode: true schema: type: integer format: int32 example: 4325 - name: userExternalId in: query description: An optional parameter used to filter for searches run by a particular user using an external identifier. required: false style: form explode: true schema: type: string example: 89CFAB18-443D-495C-89B0-95A85E0A00BA - name: searchedAfter in: query description: 'An optional parameter used to filter for searches run after a specified date. When used in conjunction with the "searchedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1466092675 - name: searchedBefore in: query description: 'An optional parameter used to filter for searches run before a specified date. When used in conjunction with the "searchedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1466092675 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchCourseCatalogSearchHistoryResponse' deprecated: false /SearchLabInstances: get: tags: - Lab Instance Management summary: Search for lab instances description: Allows you to search for lab instances. operationId: SearchLabInstances parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "StartTime DESC" will be assumed. You can append " DESC" after the sort value to sort descending. For example, "StartTime DESC" would sort by when the lab instance was started in descending order. Possible values: - StartTime - EndTime - LastName - Lab - TotalRunTime required: false style: form explode: true schema: type: string example: StartTime DESC - name: userId in: query description: An optional parameter used to filter for lab instances run by a particular user required: false style: form explode: true schema: type: integer format: int32 example: 678910 - name: userExternalId in: query description: An optional parameter used to filter for lab instances for a particular user using an external identifier required: false style: form explode: true schema: type: integer format: int32 example: 56564 - name: labId in: query description: An optional parameter used to filter for instances of a particular lab required: false style: form explode: true schema: type: integer format: int32 example: 5767784 - name: courseId in: query description: An optional parameter used to filter for lab instances launched from a particular course required: false style: form explode: true schema: type: integer format: int32 example: 56765 - name: classId in: query description: An optional parameter used to filter for lab instances launched from a particular class required: false style: form explode: true schema: type: integer format: int32 example: 68457 - name: classExternalId in: query description: An optional parameter used to filter for lab instances launched from a particular class. Usually a unique identifier from the calling system. required: false style: form explode: true schema: type: string example: ABC123 - name: completionStatus in: query description: |- Filters for lab instances with a particular completion status. Possible values: - 0 = Cancelled - 10 = In progress - 20 = Complete - 30 = Error required: false style: form explode: true schema: type: integer format: int32 example: 10 - name: startedAfter in: query description: 'An optional parameter used to filter for lab instances started after a specified date. When used in conjunction with the "startedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1585690845 - name: startedBefore in: query description: 'An optional parameter used to filter for lab instances started before a specified date. When used in conjunction with the "startedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1585690845 - name: endedAfter in: query description: 'An optional parameter used to filter for lab instances ended after a specified date. When used in conjunction with the "endedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1585690845 - name: endedBefore in: query description: 'An optional parameter used to filter for lab instances ended before a specified date. When used in conjunction with the "endedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1585690845 - name: lastActivityTimeAfter in: query description: 'An optional parameter used to filter for lab instances who''s last activity time is after a specified date. When used in conjunction with the "lastActivityTimeBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1585690845 - name: lastActivityTimeBefore in: query description: 'An optional parameter used to filter for lab instances who''s last activity time is before a specified date. When used in conjunction with the "lastActivityTimeAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1585690845 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchLabInstancesResponse' deprecated: false /SearchCourseExternalActivityLaunches: get: tags: - Searching summary: Search for course activities launched from an external link description: 'Allows you to search external course activity launches (videos, documents, etc.).' operationId: SearchCourseExternalActivityLaunches parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "LaunchTime DESC" will be assumed. You can append " DESC" after the sort value to sort descending. For example, "LaunchTime DESC" would sort by when the activity was launched in descending order. Possible values: - LaunchTime - LastName - Course - Activity required: false style: form explode: true schema: type: string example: LaunchTime DESC - name: userId in: query description: An optional parameter used to filter for launches made by a particular user. required: false style: form explode: true schema: type: integer format: int32 example: 545656 - name: userExternalId in: query description: An optional parameter used to filter for launches made by a particular user using an external identifier required: false style: form explode: true schema: type: string example: 1563D8AE-8F56-4C16-B64E-5701D221E832 - name: courseId in: query description: An optional parameter used to filter for launches from a particular course. required: false style: form explode: true schema: type: integer format: int32 example: 456576 - name: activityType in: query description: |- Filters for activities of a particular type: - 40 = URL - 60 = Video - 70 = Document. required: false style: form explode: true schema: type: integer format: int32 example: 60 - name: launchedAfter in: query description: 'An optional parameter used to filter for activities launched after a specified date. When used in conjunction with the "launchedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1465663291 - name: launchedBefore in: query description: 'An optional parameter used to filter for activities launched before a specified date. When used in conjunction with the "launchedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1465663291 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchCourseExternalActivityLaunchesResponse' deprecated: false '/GetClass/{id}': get: tags: - Class Management summary: Retrieve class information by id description: Allows you to get information about a class. operationId: GetClass parameters: - name: id in: path description: The ID of the class to retrieve required: true style: simple explode: true schema: type: integer format: int32 example: 10 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ClassResponse' deprecated: false /GetClassByClassTrainingKey: get: tags: - Class Management summary: Retrieve class information by class training key description: Allows you to get information about a class using the class training key. operationId: GetClassByClassTrainingKey parameters: - name: classTrainingKey in: query description: The training key ID of the class to retrieve required: true style: form explode: true schema: type: string example: E3G5YZFREFEQ9371 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ClassResponse' deprecated: false /GetClassByExternalId: get: tags: - Class Management summary: Retrieve class information by external platform ID description: Allows you to get information about a class by providing a unique identifier from your external system. operationId: GetClassByExternalId parameters: - name: id in: query description: The external ID of the class to retrieve required: true style: form explode: true schema: type: string example: E3G5YZFREFEQ9371 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ClassResponse' deprecated: false /CreateClass: get: tags: - Class Management summary: Create a class description: Allows you to create a class. operationId: CreateClass parameters: - name: CourseId in: query description: The internal Id of the course the class is based on required: true style: form explode: true schema: type: integer format: int32 example: 1234 - name: Name in: query description: The name of the class required: false style: form explode: true schema: type: string example: Sample class name - name: Description in: query description: A short description of the class required: false style: form explode: true schema: type: string example: Sample description of class - name: HtmlDescription in: query description: A description of the class in HTML required: false style: form explode: true schema: type: string nullable: true - name: ConfirmationStatusId in: query description: |- The confirmation status of the class. If blank it will default to 0. Available statuses and their values are as follows: - Scheduled = 0 - Guaranteed To Run = 1 - Cancelled = 2 - Rescheduled = 3 - Tentative = 4 - Requested = 5 - Denied = 6 - Completed = 7 style: form explode: true schema: type: integer format: int32 example: 0 - name: OrganizationId in: query description: The internal Id of the Organization that is running the class. If blank it will default to the API Consumer. required: false style: form explode: true schema: type: integer format: int32 example: 3232 - name: CompanyId in: query description: The internal company Id if this class is to be dedicated to a specific company required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: DeliveryTypeId in: query description: |- The delivery type of the class. If blank, it will default to Physical unless other values are set to conflict with that setting. If set to Physical any virtual meeting host settings will be lost. Available delivery types are as follows: - Physical = 1 - Virtual = 2 - Mixed = 3 required: false style: form explode: true schema: type: integer format: int32 example: 1 - name: VirtualMeetingHostId in: query description: The internal Id of the virtual meeting host to use if a class is to be run virtually required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: CustomVirtualClassroomUrl in: query description: The url of the custom virtual classroom used for the class required: false style: form explode: true schema: type: string nullable: true - name: PrimaryInstructorId in: query description: The internal user id of the instructor for the class required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: InstructorIds in: query description: 'The internal user ids of all of the instructors for the class. If a PrimaryInstructorId is not provided, the first instructor in this collection will be set as primary.' required: false style: form explode: true schema: type: array format: int32 nullable: true example: - 12345 - 98765 items: type: integer format: int32 - name: PrimaryClassroomId in: query description: The internal id of the classroom that this class will take place in required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: TimeZoneId in: query description: The .NET system timezone id that the class will be delivered in. If blank it will default to the organizations timezone setting. To get a complete list of supported timezones please use tzutil as timezones are constantly changing. required: false style: form explode: true schema: type: string - name: MinStudents in: query description: The minimum student enrollments for the class to be run. If blank this value will default to the setting at the API Consumer. required: false style: form explode: true schema: type: integer format: int32 example: 1 - name: MaxStudents in: query description: The maximum student enrollments allowed for the class. If blank this value will default to either the course or API Consumer settings. required: false style: form explode: true schema: type: integer format: int32 example: 6 - name: AllowSelfEnrollment in: query description: Sets this class to allow students to self-enroll required: false style: form explode: true schema: type: boolean example: false - name: IsPublic in: query description: This sets if this class will be displayed on the Public Schedule required: false style: form explode: true schema: type: boolean example: true - name: DisableLabs in: query description: This sets if you would like to disable lab access for this class required: false style: form explode: true schema: type: boolean example: false - name: SurveyId in: query description: The internal id of the student survey to associate with this class. If blank this value will default to the settings at the course or API Consumer. required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: StudentSurveyAvailabilityStartTypeId in: query description: |- The setting for when the students should begin to see that the survey is available to them. The following options are available: - Hours Before Event Ends = 0 - Hours After Event Begins = 1 required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: SurveyAvailabilityStartHours in: query description: 'The number of hours (either before the event ends, or after the event begins, depending on the setting of StudentSurveyAvailabilityStartTypeId) for when the student survey will become available. If blank it will default to the default settings of the API Consumer.' required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: SurveyAvailabilityEndDays in: query description: The number of days that the student survey will be available to students after the event ends. If blank it will default to the default settings of the API Consumer. required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: InstructorSurveyId in: query description: The internal id of the survey to present to instructors of the class. If blank it will default to the default settings of the course or API Consumer. required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: OrganizationSurveyId in: query description: The internal id of the organization survey for the class. If blank it will default to the default settings of the course or API Consumer. required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: ExternalId in: query description: 'The class''s external ID, usually a unique identifier from the calling system.' required: false style: form explode: true schema: type: string nullable: true - name: ClassMeetings in: query description: A collection of ClassMeetings in JSON format. style: form schema: type: array items: $ref: '#/components/schemas/ClassMeeting' explode: true required: true - name: AvailableToOrganizationIds in: query description: A comma separated list of int organization Ids that this class should be available to. required: false style: form explode: true schema: type: string example: '123,4556,221' responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CreateClassResponse' deprecated: false '/UpdateClass/{id}': get: tags: - Class Management summary: Update a class by id description: Allows you to update a class. operationId: UpdateClass parameters: - name: CourseId in: query description: The internal Id of the course the class is based on required: true style: form explode: true schema: type: integer format: int32 example: 1234 - name: id in: path description: The ID of the class to retrieve. required: true style: simple explode: true schema: type: integer format: int32 example: 202783 - name: Name in: query description: The name of the class required: false style: form explode: true schema: type: string example: Sample class name - name: Description in: query description: A short description of the class required: false style: form explode: true schema: type: string example: Sample description of class - name: HtmlDescription in: query description: A description of the class in HTML required: false style: form explode: true schema: type: string nullable: true - name: ConfirmationStatusId in: query description: |- The confirmation status of the class. If blank it will default to 0. Available statuses and their values are as follows: - Scheduled = 0 - Guaranteed To Run = 1 - Cancelled = 2 - Rescheduled = 3 - Tentative = 4 - Requested = 5 - Denied = 6 - Completed = 7 required: false style: form explode: true schema: type: integer format: int32 example: 1 - name: OrganizationId in: query description: The internal Id of the Organization that is running the class. If blank it will default to the API Consumer. required: false style: form explode: true schema: type: integer format: int32 example: 3232 - name: CompanyId in: query description: The internal company Id if this class is to be dedicated to a specific company required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: DeliveryTypeId in: query description: |- The delivery type of the class. If blank, it will default to Physical unless other values are set to conflict with that setting. If set to Physical any virtual meeting host settings will be lost. Available delivery types are as follows: - Physical = 1 - Virtual = 2 - Mixed = 3 required: false style: form explode: true schema: type: integer format: int32 example: 5454 - name: VirtualMeetingHostId in: query description: The internal Id of the virtual meeting host to use if a class is to be run virtually required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: CustomVirtualClassroomUrl in: query description: The url of the custom virtual classroom used for the class required: false style: form explode: true schema: type: string nullable: true - name: PrimaryInstructorId in: query description: The internal user id of the instructor for the class required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: InstructorIds in: query description: 'The internal user ids of all of the instructors for the class. If a PrimaryInstructorId is not provided, the first instructor in this collection will be set as primary.' required: false style: form explode: true schema: type: array nullable: true example: - 12345 - 98765 items: type: integer format: int32 format: int32 - name: PrimaryClassroomId in: query description: The internal id of the classroom that this class will take place in required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: TimeZoneId in: query description: The .NET system timezone id that the class will be delivered in. If blank it will default to the organizations timezone setting. To get a complete list of supported timezones please use tzutil as timezones are constantly changing. required: false style: form explode: true schema: type: string - name: MinStudents in: query description: The minimum student enrollments for the class to be run. If blank this value will default to the setting at the API Consumer. required: false style: form explode: true schema: type: integer format: int32 example: 1 - name: MaxStudents in: query description: The maximum student enrollments allowed for the class. If blank this value will default to either the course or API Consumer settings. required: false style: form explode: true schema: type: integer format: int32 example: 6 - name: AllowSelfEnrollment in: query description: Sets this class to allow students to self-enroll required: false style: form explode: true schema: type: boolean example: false - name: IsPublic in: query description: This sets if this class will be displayed on the Public Schedule required: false style: form explode: true schema: type: boolean example: true - name: DisableLabs in: query description: This sets if you would like to disable lab access for this class required: false style: form explode: true schema: type: boolean example: false - name: SurveyId in: query description: The internal id of the student survey to associate with this class. If blank this value will default to the settings at the course or API Consumer. required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: StudentSurveyAvailabilityStartTypeId in: query description: |- The setting for when the students should begin to see that the survey is available to them. The following options are available: - Hours Before Event Ends = 0 - Hours After Event Begins = 1 required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: SurveyAvailabilityStartHours in: query description: 'The number of hours (either before the event ends, or after the event begins, depending on the setting of StudentSurveyAvailabilityStartTypeId) for when the student survey will become available. If blank it will default to the default settings of the API Consumer.' required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: SurveyAvailabilityEndDays in: query description: The number of days that the student survey will be available to students after the event ends. If blank it will default to the default settings of the API Consumer. required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: InstructorSurveyId in: query description: The internal id of the survey to present to instructors of the class. If blank it will default to the default settings of the course or API Consumer. required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: OrganizationSurveyId in: query description: The internal id of the organization survey for the class. If blank it will default to the default settings of the course or API Consumer. required: false style: form explode: true schema: type: integer format: int32 nullable: true - name: ExternalId in: query description: 'The class''s external ID, usually a unique identifier from the calling system.' required: false style: form explode: true schema: type: string nullable: true - name: ClassMeetings in: query description: A collection of ClassMeetings in JSON format. schema: type: array items: $ref: '#/components/schemas/ClassMeeting' explode: true required: true - name: AvailableToOrganizationIds in: query description: A comma separated list of int organization Ids that this class should be available to. required: false style: form explode: true schema: type: string example: '123,4556,221' responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /SearchClasses: get: tags: - Class Management summary: Search for classes description: Allows you to search for classes belonging to your organization. operationId: SearchClasses parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "Start" will be used. You can append " DESC" after the sort value to sort descending. For example, "Start DESC" would sort by class start time in descending order. Possible values: - Name - Course - ConfirmationStatus - Start - End - Organization required: false style: form explode: true schema: type: string - name: name in: query description: 'An optional parameter used to filter for classes by name. When specified, only classes that have names that contain or match the this value will be returned.' required: false style: form explode: true schema: type: string nullable: true - name: courseId in: query description: An optional parameter used to filter for classes for a particular course. required: false style: form explode: true schema: type: integer format: int32 example: 3445 - name: startsAfter in: query description: 'An optional parameter used to filter for classes that start after a specified date. When used in conjunction with the "startsBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1449874800 - name: startsBefore in: query description: 'An optional parameter used to filter for classes that start before a specified date. When used in conjunction with the "startsAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1449874800 - name: endsAfter in: query description: 'An optional parameter used to filter for classes that end after a specified date. When used in conjunction with the "endsBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1449874800 - name: endsBefore in: query description: 'An optional parameter used to filter for classes that end before a specified date. When used in conjunction with the "endsAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1449874800 - name: lastModifiedAfter in: query description: 'An optional parameter used to filter for classes that were modified after a specified date. When used in conjunction with the "lastModifiedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1338766912 - name: lastModifiedBefore in: query description: 'An optional parameter used to filter for classes that were modified before a specified date. When used in conjunction with the "lastModifiedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 example: 1338763705 - name: hasLabs in: query description: 'An optional parameter used to filter for classes that have available labs. If true is passed, only classes with labs are returned. If false is passed, only classes without labs are returned.' required: false style: form explode: true schema: type: boolean example: true - name: availableOnline in: query description: 'An optional parameter used to filter for classes that are available online. If true is passed, only online classes are returned. If false is passed, only physically delivered classes are returned.' required: false style: form explode: true schema: type: boolean example: false - name: customFields in: query description: An optional parameter used to filter for classes based on custom field values. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/CustomFieldSearchFilter' responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchClassesResponse' deprecated: false /SearchPublicClassSchedule: get: tags: - Class Management summary: Search for public class schedules description: 'Allows you to search the public class schedule for your organization, including classes made available to your organization by partner organizations.' operationId: SearchPublicClassSchedule parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "Start" will be used. You can append " DESC" after the sort value to sort descending. For example, "Start DESC" would sort by class start time in descending order. Possible values: - Name - Course - ConfirmationStatus - Start - End - Organization required: false style: form explode: true schema: type: string - name: name in: query description: 'An optional parameter used to filter for classes by name. When specified, only classes that have names that contain or match the this value will be returned.' required: false style: form explode: true schema: type: string nullable: true - name: hasLabs in: query description: 'An optional parameter used to filter for classes that have available labs. If true is passed, only classes with labs are returned. If false is passed, only classes without labs are returned.' required: false style: form explode: true schema: type: boolean example: true - name: availableOnline in: query description: 'An optional parameter used to filter for classes that are available online. If true is passed, only online classes are returned. If false is passed, only physically delivered classes are returned.' required: false style: form explode: true schema: type: boolean example: false responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchPublicClassScheduleResponse' deprecated: false /GetClassCustomFields: get: tags: - Class Management summary: Retrieves a list of class custom fields description: Retreives a list of all available custom fields for your organization. operationId: GetClassCustomFields parameters: [] responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ClassCustomFieldResponse' deprecated: false /GetClassCustomFieldValue: get: tags: - Class Management summary: Retrieves a value within a class' custom field description: Retreives the current value of a specific custom field for a class. operationId: GetClassCustomFieldValue parameters: - name: customFieldId in: query description: The ID of the custom field. required: true style: form explode: true schema: type: integer format: int32 - name: classId in: query description: The ID of the class holding the custom field. required: true style: form explode: true schema: type: integer format: int32 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CustomFieldValueResponse' deprecated: false /UpdateClassCustomFieldValue: get: tags: - Class Management summary: Update a custom field for a class description: Updates the current value of a specific custom field for a class. operationId: UpdateClassCustomFieldValue parameters: - name: customFieldId in: query description: The ID of the custom field. required: true style: form explode: true schema: type: string - name: classId in: query description: The ID of the class holding the custom field. required: true style: form explode: true schema: type: string - name: textValue in: query description: 'The value of a text type class custom field: Textbox and Dropdown List' required: false style: form explode: true schema: type: string - name: numericValue in: query description: The value of a numeric type class custom field required: false style: form explode: true schema: type: string - name: booleanValue in: query description: 'The value for a boolean type class custom field: Checkbox' required: false style: form explode: true schema: type: boolean - name: separatedListValues in: query description: 'A Tab separated list of all the text values for a multi-select custom field type: Checkbox List' required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CustomFieldValueResponse' deprecated: false /GetLabInstanceDetails: get: tags: - Lab Instance Management summary: Retrieve details about a lab instance based on the TMS Lab Instance Id. description: The **GetLabInstanceDetails** command retrieves detailed information about a specified TMS lab instance using the TMS Lab Instance Id. operationId: GetLabInstanceDetails parameters: - name: labinstanceid in: query description: The TMS ID of the lab instance. required: true style: form explode: true schema: type: integer format: int64 example: 360701 responses: '200': description: OK Response. content: application/json: schema: $ref: '#/components/schemas/GetLabInstanceDetailsResponse' examples: Example of the details returned from a specific lab instance: value: Id: 360701 LabId: 18100 LabName: '01: Launch/Details Call' SeriesId: 10702 SeriesName: API Examples UserId: '11' UserFirstName: Chad UserLastName: S ClassId: null ClassName: null AssignmentId: null Start: 1603295589 StartTime: /Date(1603295589000)/ Expires: 1603299334 ExpiresTime: /Date(1603299334000)/ End: 1603295793 EndTime: /Date(1603295793000)/ LastActivity: 1603295787 LastActivityTime: /Date(1603295787000)/ LastSave: null LastSaveTime: null SaveExpires: null SaveExpiresTime: null State: Tearing Down CompletionStatus: Complete PoolMemberName: null LabHostId: 111 LabHostName: LOD-HV03 DatacenterId: 4 DatacenterName: LOD-East DeliveryRegionId: 1 DeliveryRegionName: Default PlatformId: 2 LastSaveTriggerType: null TimeInSession: 204 TotalRunTime: 204 TimeRemaining: 0 InstructorName: null StartupDuration: 145 Errors: [] Snapshots: [] Sessions: - Start: 1603295589 StartTime: /Date(1603295589000)/ End: 1603295793 EndTime: /Date(1603295793000)/ Notes: - Time: 1603295793 TimeValue: /Date(1603295793000)/ Title: This environment has been submitted for grading and can no longer be accessed. Text: Submitted for scoring from the lab console by the student. HasContent: true Task: null Exercise: null NumTasks: 0 NumCompletedTasks: 0 TaskCompletePercent: 100 RemoteController: HTML5 Tag: null BrowserUserAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36 Edg/86.0.622.48' LastLatency: 35 ExamPassed: true ExamScore: 5 ExamMaxPossibleScore: 5 ExamPassingScore: 2 ExamScoredById: null ExamScoredByName: null ExamDetails: null ExamScoredDate: 1603295793 ExamScoredTime: /Date(1603295793000)/ IsExam: true IpAddress: 198.199.209.76 Country: United States of America Region: Florida City: Lakeland Latitude: 28.03947 Longitude: -81.9498 PublicIpAddresses: [] CloudCredentials: - PropertiesJson: '{ "Username": "Username2", "Password": "Password2"}' Expires: 1645557720000 DisplayName: Demo Demo Demo Demo Demo Message: null CloudPortalCredentials: - CloudPlatform: 10 PropertiesJson: "{\r\n \"Username\": \"User1-360701@lod.onmicrosoft.com\",\r\n \"Password\": \"1234ABCD\",\r\n \"_FirstName\": \"Chad\",\r\n \"_LastName\": \"S\"\r\n}" VirtualMachineCredentials: - Id: 13484 Name: Windows 10 2004 Username: Student Password: Pa$$w0rd CloudPlatformId: 10 ClientUrl: null ActivityResults: - ActivityId: 4910 ActivityName: What is 1 + 1? Scored: true Score: 1 Passed: true ActivityType: 0 TextResult: null UiResponse: You got the correct answer. AnswerResults: - AnswerId: 2856 AnswerText: '2' Correct: true ScriptResults: [] DisplayScriptsAsTaskList: false AnswerTexts: - Correct: false AnswerId: 2855 Text: '1' Chosen: false - Correct: true AnswerId: 2856 Text: '2' Chosen: true - Correct: false AnswerId: 2857 Text: '3' Chosen: false - Correct: false AnswerId: 2858 Text: '4' Chosen: false ScriptTexts: [] ShowResultsInReports: true - ActivityId: 4911 ActivityName: Select all that result in a product of 4 Scored: true Score: 3 Passed: true ActivityType: 10 TextResult: null UiResponse: 'Good, you understand what a product function is.' AnswerResults: - AnswerId: 2859 AnswerText: '1, 4' Correct: true - AnswerId: 2860 AnswerText: '-1, -4' Correct: true - AnswerId: 2861 AnswerText: '2, 2' Correct: true DisplayScriptsAsTaskList: false AnswerTexts: - Correct: true AnswerId: 2859 Text: '1, 4' Chosen: true - Correct: true AnswerId: 2860 Text: '-1, -4' Chosen: true - Correct: true AnswerId: 2861 Text: '2, 2' Chosen: true - Correct: false AnswerId: 2862 Text: '2, -2' Chosen: false ScriptTexts: [] ShowResultsInReports: true - ActivityId: 4912 ActivityName: What is the southernmost continent on earth? Scored: true Score: 1 Passed: true ActivityType: 20 TextResult: Antarctica UiResponse: 'Great, you know your geography.' AnswerResults: [] ScriptResults: [] DisplayScriptsAsTaskList: false AnswerTexts: [] ScriptTexts: [] ShowResultsInReports: true - ActivityId: 110631 ActivityName: What are the colors of the French flag? Scored: true Score: 3 Passed: true ActivityType: 30 TextResult: 'It''s blue, white, red' UiResponse: 'Correct, move on to the next flag question.' AnswerResults: [] ScriptResults: [] DisplayScriptsAsTaskList: false AnswerTexts: [] ScriptTexts: [] ShowResultsInReports: true - ActivityId: 91810 ActivityName: 'Create a folder called LAB in the root of C:' Scored: true Score: 0 Passed: false ActivityType: 40 TextResult: null UiResponse: null AnswerResults: [] ScriptResults: - ScriptId: 37337 Score: 0 Passed: false UiResponse: '' ScriptResponse: "Check if [C:\\LAB] exists.\r\n\r\nPath Does Not Exist\r\n" PlatformError: false ScriptError: false DisplayScriptsAsTaskList: false AnswerTexts: [] ScriptTexts: - ScriptId: 37337 Text: null ShowResultsInReports: true ActivityGroupResults: - Id: 1131 Name: GRP1 ScoreValueTotal: 40 AggregateScore: 20 ActivityResults: - ActivityId: 91811 ActivityName: Instructor First Name Scored: true Score: 20 Passed: true ActivityType: 20 TextResult: Jon UiResponse: Correct AnswerResults: [] ScriptResults: [] DisplayScriptsAsTaskList: false AnswerTexts: [] ScriptTexts: [] ShowResultsInReports: true - ActivityId: 91812 ActivityName: Instructor Last Name Scored: true Score: 0 Passed: false ActivityType: 20 TextResult: Kirk UiResponse: Incorrect AnswerResults: [] ScriptResults: [] DisplayScriptsAsTaskList: false AnswerTexts: [] ScriptTexts: [] ShowResultsInReports: true EstimatedReadySeconds: null InstructionsSetId: The ID of the Instructions used Language: en Error: null Status: 1 deprecated: false x-stoplight: id: gjs3manumlc0r /GetClubMembership: get: tags: - Subscription Management summary: Retrieve subscription assignment information by id description: Allows you to get basic information about a subscription assignment. operationId: GetClubMembership parameters: - name: id in: query description: The ID of the subscription to retrieve required: true style: form explode: true schema: type: integer format: int32 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ClubMembershipResponse' deprecated: false /GetClubMembershipByExternalId: get: tags: - Subscription Management summary: Retrieve subscription assignment information by external platform ID description: Allows you to get information about a subscription assignment by providing a unique identifier from your external system. operationId: GetClubMembershipByExternalId parameters: - name: id in: query description: The external ID of the subscription to retrieve required: true style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ClubMembershipResponse' deprecated: false /CreateClubMembership: get: tags: - Subscription Management summary: Create a subscription assignment description: Allows you to create a subscription assignment. operationId: CreateClubMembership parameters: - name: externalId in: query description: 'The exernal ID of the subscription, usually a unique identifier from the calling system' required: false style: form explode: true schema: type: string - name: clubId in: query description: The Id of the related subscription profile required: true style: form explode: true schema: type: string - name: userId in: query description: The Id of the related user required: true style: form explode: true schema: type: string - name: starts in: query description: When the subscription starts (in Unix epoch time) required: true style: form explode: true schema: type: string - name: expires in: query description: When the subscription expires (in Unix epoch time) required: false style: form explode: true schema: type: string - name: targetCompletion in: query description: When the subscription is expected to be completed by the student (in Unix epoch time) required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CreateClubMembershipResponse' deprecated: false /DeleteClubMembership: get: tags: - Subscription Management summary: Delete a subscription assignment by id description: Allows you to delete a subscription assignment. operationId: DeleteClubMembership parameters: - name: id in: query description: The ID of the subscription to delete required: true style: form explode: true schema: type: integer format: int32 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /UpdateClubMembership: get: tags: - Subscription Management summary: Update a subscription assignment by id description: Allows you to update a subscription assignment. operationId: UpdateClubMembership parameters: - name: id in: query description: The ID of the subscription required: true style: form explode: true schema: type: integer format: int32 - name: externalId in: query description: 'The exernal ID of the subscription, usually a unique identifier from the calling system' required: false style: form explode: true schema: type: string - name: clubId in: query description: The Id of the related subscription profile required: true style: form explode: true schema: type: integer format: int32 - name: userId in: query description: The Id of the related user required: true style: form explode: true schema: type: integer format: int32 - name: starts in: query description: When the subscription starts (in Unix epoch time) required: true style: form explode: true schema: type: integer format: int64 - name: expires in: query description: When the subscription expires (in Unix epoch time) required: false style: form explode: true schema: type: integer format: int64 - name: targetCompletion in: query description: When the subscription is expected to be completed by the student (in Unix epoch time) required: false style: form explode: true schema: type: integer format: int64 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /CreateCompany: get: tags: - Company Management summary: Create a company description: Allows you to create a company. operationId: CreateCompany parameters: - name: Name in: query description: The Name of the company (limit 150 characters) required: true style: form explode: true schema: type: string - name: ExternalId in: query description: The External Id of the company (limit 50 characters) required: false style: form explode: true schema: type: string - name: Description in: query description: The Description of the company (limit 800 characters) required: false style: form explode: true schema: type: string - name: OrganizationId in: query description: The Id of the Organization associated with this company required: true style: form explode: true schema: type: integer format: int32 - name: OwningUserId in: query description: The Id of the owning User (if any) associated with this company required: false style: form explode: true schema: type: integer format: int32 - name: AssignableToUsers in: query description: Indicates whether the Company is Assignable to Users required: true style: form explode: true schema: type: boolean - name: Theme in: query description: The name of the Theme to be used for the company required: false style: form explode: true schema: type: string - name: Address1 in: query description: The first Address line for a Company (limit 250 characters) required: false style: form explode: true schema: type: string - name: Address2 in: query description: The second Address line for a Company (limit 250 characters) required: false style: form explode: true schema: type: string - name: City in: query description: The City for a Company (limit 80 characters) required: false style: form explode: true schema: type: string - name: State in: query description: 'The State for a Company (recommended use standard 2-character abbreviation, limit 50 characters)' required: false style: form explode: true schema: type: string - name: Zip in: query description: The Zip code for a Company (limit 20 characters) required: false style: form explode: true schema: type: string - name: Country in: query description: 'The Country for a Company (recommended use standard 2-character abbreviation, limit 80 characters)' required: false style: form explode: true schema: type: string - name: Email in: query description: The Email address for a Company (limit 256 characters) required: false style: form explode: true schema: type: string - name: Phone in: query description: The Phone number for a Company (limit 50 characters) required: false style: form explode: true schema: type: string - name: Phone2 in: query description: The alternate Phone number for a Company (limit 50 characters) required: false style: form explode: true schema: type: string - name: Fax in: query description: The Fax number for a Company (limit 50 characters) required: false style: form explode: true schema: type: string - name: WebSiteUrl in: query description: The Web Site Url for a Company (limit 200 characters) required: false style: form explode: true schema: type: string - name: CustomDropdown1 in: query description: The first Custom Dropdown list for a Company (limit 200 characters) required: false style: form explode: true schema: type: string - name: CustomDropdown2 in: query description: The second Custom Dropdown list for a Company (limit 200 characters) required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CreateCompanyResponse' deprecated: false /UpdateCompany: get: tags: - Company Management summary: Update a company by id description: Allows you to update a company. operationId: UpdateCompany parameters: - name: Id in: query description: The Id of the company required: true style: form explode: true schema: type: integer format: int32 - name: Name in: query description: The Name of the company (limit 150 characters) required: true style: form explode: true schema: type: string - name: ExternalId in: query description: The External Id of the company (limit 50 characters) required: false style: form explode: true schema: type: string - name: Description in: query description: The Description of the company (limit 800 characters) required: false style: form explode: true schema: type: string - name: OrganizationId in: query description: The Id of the Organization associated with this company required: true style: form explode: true schema: type: integer format: int32 - name: OwningUserId in: query description: The Id of the owning User (if any) associated with this company required: false style: form explode: true schema: type: integer format: int32 - name: AssignableToUsers in: query description: Indicates whether the Company is Assignable to Users required: true style: form explode: true schema: type: boolean - name: Theme in: query description: The name of the Theme to be used for the company required: false style: form explode: true schema: type: string - name: Address1 in: query description: The first Address line for a Company (limit 250 characters) required: false style: form explode: true schema: type: string - name: Address2 in: query description: The second Address line for a Company (limit 250 characters) required: false style: form explode: true schema: type: string - name: City in: query description: The City for a Company (limit 80 characters) required: false style: form explode: true schema: type: string - name: State in: query description: 'The State for a Company (recommended use standard 2-character abbreviation, limit 50 characters)' required: false style: form explode: true schema: type: string - name: Zip in: query description: The Zip code for a Company (limit 20 characters) required: false style: form explode: true schema: type: string - name: Country in: query description: 'The Country for a Company (recommended use standard 2-character abbreviation, limit 80 characters)' required: false style: form explode: true schema: type: string - name: Email in: query description: The Email address for a Company (limit 256 characters) required: false style: form explode: true schema: type: string - name: Phone in: query description: The Phone number for a Company (limit 50 characters) required: false style: form explode: true schema: type: string - name: Phone2 in: query description: The alternate Phone number for a Company (limit 50 characters) required: false style: form explode: true schema: type: string - name: Fax in: query description: The Fax number for a Company (limit 50 characters) required: false style: form explode: true schema: type: string - name: WebSiteUrl in: query description: The Web Site Url for a Company (limit 200 characters) required: false style: form explode: true schema: type: string - name: CustomDropdown1 in: query description: The first Custom Dropdown list for a Company (limit 200 characters) required: false style: form explode: true schema: type: string - name: CustomDropdown2 in: query description: The second Custom Dropdown list for a Company (limit 200 characters) required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /DeleteCompany: get: tags: - Company Management summary: Delete a company by id description: Allows you to delete a company. operationId: DeleteCompany parameters: - name: id in: query description: The ID of the company to delete required: true style: form explode: true schema: type: integer format: int32 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/ApiResponse' deprecated: false /GetCompany: get: tags: - Company Management summary: Get a company by id description: Allows you to retrieve a company and their details by their Id. operationId: GetCompany parameters: - name: id in: query description: The ID of the company to retrieve required: true style: form explode: true schema: type: integer format: int32 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/GetCompanyResponse' deprecated: false /SearchCompanies: get: tags: - Company Management summary: Search for companies description: Allows you to search for companies. operationId: SearchCompanies parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "Name" will be used. You can append " DESC" after the sort value to sort descending. For example, "Name DESC" would sort by name in descending order. Possible values: - Name - OrganizationName - ExternalId - Created - LastModified required: false style: form explode: true schema: type: string - name: name in: query description: 'An optional parameter used to filter for companies by name. When specified, only companies that have names that contain or match this value will be returned.' required: false style: form explode: true schema: type: string - name: externalId in: query description: An optional parameter used to filter for a company by external ID. Specifying the unique External ID paramter value will only ever return a single matching result. required: false style: form explode: true schema: type: string - name: organizationId in: query description: 'An optional parameter used to filter companies by the associated organization id. When specified, only the companies associated with this organization will be returned.' required: false style: form explode: true schema: type: integer format: int32 - name: createdAfter in: query description: 'An optional parameter used to filter for companies created after a specified date. When used in conjunction with the "createdBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: string - name: createdBefore in: query description: 'An optional parameter used to filter for companies created before a specified date. When used in conjunction with the "createdAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: string - name: lastModifiedAfter in: query description: 'An optional parameter used to filter for companies modified after a specified date. When used in conjunction with the "lastModifiedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: string - name: lastModifiedBefore in: query description: 'An optional parameter used to filter for companies modified before a specified date. When used in conjunction with the "lastModifiedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchCompaniesResponse' deprecated: false /ExportSurveyResponses: get: tags: - Survey Management summary: Retrieve survey results by id description: Allows you to get a responses from a survey. operationId: ExportSurveyResponses parameters: - name: id in: query description: The ID of the survey to retrieve required: true style: form explode: true schema: type: integer format: int32 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SurveyResultResponse' deprecated: false /SearchClubs: get: tags: - Subscription Management summary: Search for a subscription profile description: Allows you to search for subscription profiles. operationId: SearchClubs parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. Possible values: Name Program CompanyOrganization Owner Club Company Starts Expires Size Used Created LastModified required: false style: form explode: true schema: type: string - name: name in: query description: An optional parameter used to filter for subscription profiles by name required: false style: form explode: true schema: type: string - name: courseId in: query description: An optional parameter used to filter for subscription profiles by the associated course ID required: false style: form explode: true schema: type: integer format: int32 - name: createdAfter in: query description: An optional parameter used to filter for subscription profiles created after a specified date required: false style: form explode: true schema: type: string - name: createdBefore in: query description: An optional parameter used to filter for subscription profiles created before a specified date required: false style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchClubResultResponse' deprecated: false /SearchClubMemberships: get: tags: - Subscription Management summary: Search for subscription assignments description: Allows you to search for user's subscription assignments. operationId: SearchClubMemberships parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. Possible values: - UserId - ExternalUserId - Subscription - Starts - Expires - TargetCompletion - Created - LastModified required: false style: form explode: true schema: type: string - name: userId in: query description: 'An optional parameter used to filter subscriptions by the associated userid. When specified, only user subscriptions that have an associated userid that matches this value will be returned.' required: false style: form explode: true schema: type: integer format: int32 - name: userExternalId in: query description: 'An optional parameter used to filter subscriptions by the associated user external id. When specified, only user subscriptions that have an associated external user id that matches that value will be returned.' required: false style: form explode: true schema: type: string - name: subscriptionId in: query description: 'An optional parameter used to filter subscriptions by subscription id. When specified, only user subscriptions that matches this value will be returned.' required: false style: form explode: true schema: type: integer format: int32 - name: createdAfter in: query description: 'An optional parameter used to filter subscriptions created after a specified date. When used in conjunction with the "createdBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 - name: createdBefore in: query description: 'An optional parameter used to filter subscriptions created before a specified date. When used in conjunction with the "createdAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchSubscriptionResponse' /SearchSubscriptions: get: tags: - Subscription Management summary: Search for subscription assignments description: Allows you to search for user's subscription assignments. operationId: SearchSubscriptions parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. if not supplied, a default value of 100 is used.' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. Possible values: - UserId - ExternalUserId - Subscription - Starts - Expires - TargetCompletion - Created - LastModified required: false style: form explode: true schema: type: string - name: userId in: query description: 'An optional parameter used to filter subscriptions by the associated userid. When specified, only user subscriptions that have an associated userid that matches this value will be returned.' required: false style: form explode: true schema: type: integer format: int32 - name: userExternalId in: query description: 'An optional parameter used to filter subscriptions by the associated user external id. When specified, only user subscriptions that have an associated external user id that matches that value will be returned.' required: false style: form explode: true schema: type: string - name: subscriptionId in: query description: 'An optional parameter used to filter subscriptions by subscription id. When specified, only user subscriptions that matches this value will be returned.' required: false style: form explode: true schema: type: integer format: int32 - name: createdAfter in: query description: 'An optional parameter used to filter subscriptions created after a specified date. When used in conjunction with the "createdBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 - name: createdBefore in: query description: 'An optional parameter used to filter subscriptions created before a specified date. When used in conjunction with the "createdAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchSubscriptionResponse' /SearchSubscriptionTrainingKeys: get: tags: - Subscription Management summary: Search for subscription training keys description: Allows you to search for an organization's subscription training keys. operationId: SearchSubscriptionTrainingKeys parameters: - name: pageIndex in: query description: 'A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).' required: false style: form explode: true schema: type: integer format: int32 - name: pageSize in: query description: 'Indicates how many results you want per page. If not supplied, a default value of 20 is used (20 records per page).' required: false style: form explode: true schema: type: integer format: int32 - name: sort in: query description: |- The value you want to sort by. If not supplied, a default value of "TrainingKey" is used. Possible values: - TrainingKey - ContentExpiry - SubscriptionProfileName - Created - CreatedById - LastModified - LastModifiedById - ExpirationDate required: false style: form explode: true schema: type: string - name: organizationId in: query description: 'Filter subscription training keys by the associated organization id. When specified, only the subscription training keys associated with this organization will be returned.' required: false style: form explode: true schema: type: integer format: int32 - name: trainingKey in: query description: 'Filter for a specific subscription training key. When specified, only the subscription training key that matches this value will be returned.' required: false style: form explode: true schema: type: string - name: createdById in: query description: 'Filter subscription training keys by the associated user id. When specified, only the subscription training keys that have been created by this user id value will be returned.' required: false style: form explode: true schema: type: integer format: int64 - name: createdBefore in: query description: 'Filter subscription training keys created before a specified date. When used in conjunction with the "createdAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 - name: createdAfter in: query description: 'Filter subscription training keys created after a specified date. When used in conjunction with the "createdBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 - name: expiresBefore in: query description: 'Filter subscription training keys expiring before a specified date. When used in conjunction with the "expiresAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 - name: expiresAfter in: query description: 'Filter subscription training keys expiring after a specified date. When used in conjunction with the "expiresBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 - name: lastModifiedBefore in: query description: 'Filter subscription training keys last modified before a specified date. When used in conjunction with the "lastModifiedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 - name: lastModifiedAfter in: query description: 'Filter subscription training keys last modified after a specified date. When used in conjunction with the "lastModifiedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 - name: lastModifiedById in: query description: 'Filter subscription training keys by the user id that last modified the record. When specified, only the subscription training keys last modified by this user will be returned.' required: false style: form explode: true schema: type: integer format: int32 - name: subscriptionProfileId in: query description: 'Filter subscription training keys by subscription profile id. When specified, only subscription training keys that are associated with this value will be returned.' required: false style: form explode: true schema: type: string - name: contentExpiryBefore in: query description: 'Filter subscription training keys when the content is expiring before a specified date. When used in conjunction with the "contentExpiryAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 - name: contentExpiryAfter in: query description: 'Filter subscription training keys when the content is expiring after a specified date. When used in conjunction with the "contentExpiryBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' required: false style: form explode: true schema: type: integer format: int64 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/SearchSubscriptionTrainingKeyResponse' /CreateSubscriptionTrainingKeys: get: tags: - Subscription Management summary: Create a subscription training key description: Allows you to create one or more unique subscription training keys. operationId: CreateSubscriptionTrainingKeys parameters: - name: organizationId in: query description: The Id of the related organization. If not supplied then the related API consumer organization Id will be used. required: false style: form explode: true schema: type: integer format: int32 - name: subscriptionProfileId in: query description: The Id of the related subscription profile. required: true style: form explode: true schema: type: integer format: int32 - name: expirationDate in: query description: When the subscription training key expires (in Unix epoch time). required: true style: form explode: true schema: type: integer format: int64 - name: maxKeyUses in: query description: The maximum number of uses for the related subscription training key. If not supplied then only a single use will be allowed. required: false style: form explode: true schema: type: integer format: int32 - name: contentExpirationDate in: query description: If supplied (in Unix epoch time) then this setting overrides the expiration date and sets the Content Availability Override checkbox. required: false style: form explode: true schema: type: integer format: int64 - name: trainingKeys in: query description: A comma-separated list of subscription training keys unique to the Skillable TMS. If not supplied then a set of unique training keys will be auto-created based on the numberOfKeys parameter. required: false style: form explode: true schema: type: string - name: numberOfKeys in: query description: The number of subscription training keys to be created. If not supplied then a single training key will be created that is unique to the Skillable TMS. If the trainingKeys parameter is supplied then this parameter will be ignored. required: false style: form explode: true schema: type: integer format: int32 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/CreateSubscriptionTrainingKeysResponse' deprecated: false /UpdateSubscriptionTrainingKey: get: tags: - Subscription Management summary: Update a subscription training key by id description: Allows you to update a subscription training key. operationId: UpdateSubscriptionTrainingKey parameters: - name: Id in: query description: The Id of the subscription training key. required: true style: form explode: true schema: type: string - name: trainingKey in: query description: The subscription training key. required: true style: form explode: true schema: type: string - name: organizationId in: query description: The Id of the related organization. required: false style: form explode: true schema: type: integer format: int32 - name: subscriptionProfileId in: query description: The Id of the related subscription profile. required: true style: form explode: true schema: type: integer format: int32 - name: expirationDate in: query description: When the subscription training key expires (in Unix epoch time). required: true style: form explode: true schema: type: integer format: int64 - name: maxKeyUses in: query description: The maximum number of uses for the related subscription training key. If not supplied then this setting will default to 1. required: false style: form explode: true schema: type: integer format: int32 - name: contentExpirationDate in: query description: If supplied (in Unix epoch time) then this setting overrides the expiration date and sets the Content Availability Override checkbox. required: false style: form explode: true schema: type: integer format: int64 responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/UpdateSubscriptionTrainingKeysResponse' deprecated: false /DeleteSubscriptionTrainingKey: get: tags: - Subscription Management summary: Delete a subscription training key by id description: | Allows you to delete a subscription training key that has not been converted into a valid subscription assignment. **NOTE:** A subscription training key can not be deleted once it has been converted into a valid subscription assignment. operationId: DeleteSubscriptionTrainingKey parameters: - name: id in: query description: The Id of the subscription training key. required: true style: form explode: true schema: type: string responses: '200': description: OK Response content: application/json: schema: $ref: '#/components/schemas/DeleteSubscriptionTrainingKeysResponse' deprecated: false components: schemas: CreateResponse: type: object properties: status: type: integer description: |- Indicates the status of the API request. - 0 = Success - 10 = Error - 30 = Invalid integration key format: int32 example: 10 error: type: string description: Error details. This will only have a value if an error was encountered. The status property will also be set to Error (10). nullable: true ApiResponse: type: object properties: status: type: integer description: |- Indicates the status of the API request. - 0 = Success - 10 = Error - 20 = Not found - 30 = Invalid integration key format: int32 example: 10 error: type: string description: Error details. This will only have a value if an error was encountered. The status property will also be set to Error (10). nullable: true UserResponse: type: object properties: Status: type: integer description: |- Indicates the status of the API request. 0 = Success 10 = Error 20 = Not found 30 = Invalid integration key format: int32 example: 0 Error: type: string description: Error details. This will only have a value if an error was encountered. The status property will also be set to Error (10). nullable: true User: $ref: '#/components/schemas/User' Roles: type: array description: Identifiers of roles the user belongs to example: - 0 - 2 items: type: integer format: int32 ManagedOrganizations: type: array description: Identifiers of organizations the user has management rights to example: [] items: type: integer format: int32 CustomFields: type: array description: Custom Fields that have values for the user example: - Name: Core Id TextValue: AXY12345 CustomFieldId: 5080 - Name: Blood Type TextValue: A+ CustomFieldId: 5081 items: type: object properties: '': type: string SsoRedirectUrlReponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Url: type: string description: The URL the user should be redirected to. The URL is valid for 20 seconds. example: 'http://[root-url]/Service/ExternalLogon?authenticationKey=84a11167-fc8f-43ba-86ae-4f89c0c6160f' SignInHistorySearchHistoryResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See SignInHistorySearchResult. items: $ref: '#/components/schemas/SignInHistorySearchResult' SearchUserActivityResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See UserActivitySearchResult. items: $ref: '#/components/schemas/UserActivitySearchResult' AnnouncementResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Results: type: array description: See Announcement. items: $ref: '#/components/schemas/Announcement' DeleteResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' RowsAffected: $ref: '#/components/schemas/RowsAffected' UserRoleResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Roles: type: array description: See Role Object. items: $ref: '#/components/schemas/Role' OrganizationResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Organization: $ref: '#/components/schemas/Organization' Children: type: array description: Identifiers of child organizations that belong to the organization items: type: integer format: int32 SearchCourseResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See CourseSearchResult. items: $ref: '#/components/schemas/CourseSearchResult' CourseResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Course: $ref: '#/components/schemas/Course' SearchCourseTagGroupResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See CourseTagGroupSearchResult items: $ref: '#/components/schemas/CourseTagGroupSearchResult' SearchCourseFeedbackReponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See CourseFeedbackSearchResult items: $ref: '#/components/schemas/CourseFeedbackSearchResult' ClassEnrollmentResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Results: type: array description: See ClassEnrollment items: $ref: '#/components/schemas/ClassEnrollment' CreateClassEnrollmentResponse: type: object properties: status: type: integer description: |- Indicates the status of the API request. - 0 = Success - 10 = Error - 20 = Not found - 30 = Invalid integration key format: int32 example: 10 error: type: string description: Error details. This will only have a value if an error was encountered. The status property will also be set to Error (10). nullable: true ClassEnrollmentId: type: integer description: The ID of the created class enrollment. format: int32 example: 45632 ClassEnrollmentSearchResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See ClassEnrollment items: $ref: '#/components/schemas/ClassEnrollmentSearch' title: '' CourseAssignmentResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Results: type: array description: See CourseAssignment items: $ref: '#/components/schemas/CourseAssignment' CreateCourseAssignmentResponse: type: object properties: status: type: integer description: |- Indicates the status of the API request. - 0 = Success - 10 = Error - 20 = Not found - 30 = Invalid integration key format: int32 example: 10 error: type: string description: Error details. This will only have a value if an error was encountered. The status property will also be set to Error (10). nullable: true CourseAssignmentId: type: integer description: The ID of the created course assignment. format: int32 example: 45632 UpdateCourseAssignmentResponse: type: object properties: status: type: integer description: |- Indicates the status of the API request. - 0 = Success - 10 = Error - 20 = Not found - 30 = Invalid integration key format: int32 example: 10 error: type: string description: Error details. This will only have a value if an error was encountered. The status property will also be set to Error (10). nullable: true SearchCourseAssignmentsResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See CourseAssignmentSearchResult items: $ref: '#/components/schemas/CourseAssignmentSearchResult' SearchCourseCatalogSearchHistoryResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See CourseAssignmentSearchResult items: $ref: '#/components/schemas/CourseCatalogSearchHistorySearchResult' SearchLabInstancesResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See LabInstanceSearchResult items: $ref: '#/components/schemas/LabInstanceSearchResult' SearchCourseExternalActivityLaunchesResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See CourseExternalActivityLaunchSearchResult items: $ref: '#/components/schemas/CourseExternalActivityLaunchSearchResult' ClassResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Results: type: array description: See Class items: $ref: '#/components/schemas/Class' CreateClassResponse: type: object properties: status: type: integer description: |- Indicates the status of the API request. - 0 = Success - 10 = Error - 20 = Not found - 30 = Invalid integration key format: int32 example: 10 error: type: string description: Error details. This will only have a value if an error was encountered. The status property will also be set to Error (10). nullable: true ClassId: type: integer description: The ID of the created class. format: int32 example: 3456 SearchClassesResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See ClassSearchResult items: $ref: '#/components/schemas/ClassSearchResult' SearchPublicClassScheduleResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Results: type: array description: See PublicClassSearchResult items: $ref: '#/components/schemas/PublicClassSearchResult' ClassEnrollmentCustomFieldResponse: type: object x-stoplight: id: 50c16a1fcd2d9 properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Results: type: array description: This is the full list of class enrollment custom fields available to the requesting organization. items: $ref: '#/components/schemas/ClassEnrollmentCustomFields' ClassCustomFieldResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Results: type: array description: See CourseAssignment items: $ref: '#/components/schemas/ClassCustomFields' CustomFieldValueResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Id: type: integer description: The custom field's unique identifier format: int32 Name: type: string description: The name of the custom field DataTypeId: type: integer description: |- The data type id of the custom field 0 - Textbox 10 - Dropdown List 20 - Checkbox 30 - Number 60 - User Selector 70 - Checkbox List format: int32 TextValue: type: string description: 'The text value of a custom field, if any.' nullable: true NumericValue: type: integer description: 'The integer value of a custom field, if any.' format: int32 nullable: true BooleanValue: type: boolean description: 'The boolean value of a custom field, if any.' nullable: true SeparatedListValue: type: string description: A tab separated list of the selected values of a custom field. nullable: true User: type: object properties: Id: type: integer description: The user's unique identifier format: int32 example: 57383 ExternalId: type: string description: 'The user''s external ID, usually a unique identifier from the calling system' nullable: true example: C9876ZFGEFER9876 Title: type: string description: The user's title nullable: true FirstName: type: string description: The user's first name example: John MiddleName: type: string description: The user's middle name nullable: true LastName: type: string description: The user's last name example: Smith UserName: type: string description: The user's username (used during sign-in) example: john.smith OrganizationId: type: integer description: The unique identifier of the organization the user belongs to format: int32 example: 4873 CompanyId: type: integer description: The Id of the user's company (set only if the user belongs to a company) format: int32 nullable: true ManagerId: type: integer description: The user Id of the user's manager (set only if the user belongs to a manager) format: int32 nullable: true Disabled: type: boolean description: Indicates whether the user account has been disabled example: false Email: type: string description: The user's e-mail address example: joe.smith@yourorg.com Phone: type: string description: The user's phone number nullable: true Phone2: type: string description: The user's secondary phone number nullable: true Address1: type: string description: First line of the user's address nullable: true Address2: type: string description: Second line of the user's address nullable: true City: type: string description: The user's city nullable: true State: type: string description: The user's state nullable: true Country: type: string description: The user's country. nullable: true deprecated: true CountryCode: type: string description: The 2-character code for the user's country nullable: true Zip: type: string description: The user's zip/postal code nullable: true ProfileImageUrl: type: string description: URL to the user's profile image nullable: true TimeZoneId: type: string description: The User's timezone nullable: true SignInHistorySearchResult: type: object properties: UserId: type: integer description: The user's unique identifier format: int32 example: 190615 UserExternalId: type: string description: 'The user''s external ID, usually a unique identifier from the calling system' nullable: true example: 5A875994-33DE-DE11-92BB-00505690582E FirstName: type: string description: The user's first name example: John LastName: type: string description: The user's last name example: Doe UserName: type: string description: The user's UserName (used during sign-in) example: john.doe Email: type: string description: The user's e-mail address example: john.doe@sample.net OrganizationId: type: integer description: The unique identifier of the organization the user belongs to format: int32 example: 2471 SignIn: type: integer description: When the user sign-in occurred (in Unix epoch time) format: int64 example: 1466117145 Method: type: string description: |- The method that was used to authenticate the user with possible values of: - Unknown - Local Account - Authentication Provider - API example: Local Account Provider: type: string description: The name of the Authentication Provider when the "Method" field is "Authentication Provider". nullable: true UserActivitySearchResult: type: object properties: UserId: type: integer description: The user's unique identifier format: int32 example: 2222 UserExternalId: type: string description: 'The user''s external ID, usually a unique identifier from the calling system' nullable: true example: 5A875994-33DE-DE11-92BB-00505690582E FirstName: type: string description: The user's first name example: Jane LastName: type: string description: The user's last name example: Doe UserName: type: string description: The user's UserName example: jane.doe OrganizationId: type: integer description: The unique identifier of the organization the user belongs to format: int32 example: 1234 ImpersonatingUserId: type: integer description: The user id of the impersonating user (if any) format: int32 nullable: true example: 4321 ImpersonatingFirstName: type: string description: The impersonating user's first name (if any) example: Steve ImpersonatingLastName: type: string description: The impersonating user's last name (if any) example: Smith RequestTime: type: integer description: When the user activity occurred (in Unix epoch time) format: int64 example: 190615 Method: type: string description: The method of the request example: GET Referrer: type: string description: The referring URL (if any) nullable: true Url: type: string description: The URL of the request nullable: true UserAgent: type: string description: The reported UserAgent of the request nullable: true UserHostAddress: type: string description: The reported Host Address of the request nullable: true UserLanguages: type: string description: The reported languages of the request nullable: true ExecutionTimeMS: type: integer description: The execution time of the request (in milliseconds) format: int64 example: 55 Announcement: type: object properties: Id: type: integer description: The announcement's unique identifier format: int32 example: 45632 Title: type: string description: The announcement's title example: Sample Announcement Url: type: string description: The Url which the announcement is meant to link to. nullable: true example: '' Description: type: string description: The announcement's description nullable: true example: This is an example Announcement HtmlContent: type: string description: The announcement's HTML Content nullable: true example:

This is an important Announcement!

This is the content of the announcement.

Start: type: integer description: When the announcement starts (in Unix epoch time) format: int64 example: 1449496800 End: type: integer description: When the announcement starts (in Unix epoch time) format: int64 nullable: true example: 1450479600 Role: type: object properties: Id: type: integer description: The role's unique identifier format: int32 example: 78965 Name: type: string description: The name of the role example: Student Description: type: string description: The description of the role nullable: true example: The default role assigned to all accounts. Organization: type: object properties: Id: type: integer description: The organization's unique identifier format: int32 example: 567 ExternalId: type: string description: 'The organization''s external ID, usually a unique identifier from the calling system' nullable: true example: B93762AC6FEE987A Name: type: string description: The organization's name example: Child Organization 1 Description: type: string description: An optional description nullable: true example: A sample child organization ParentId: type: string description: The ID of the organization's parent organization nullable: true example: '458' IntegrationKey: type: string description: The organization's API integration key. This can be used for making API calls in the context of this organization as opposed to the context of a parent. example: '987654321' TimeZoneId: type: string description: The organization's default time zone. This is used as a default when creating new users and events. example: Central Standard Time Culture: type: string description: The organization's default language/culture setting. This is used as a default when creating new users and events. example: en-US DefaultUserPassword: type: string description: The default password for new users in the organization nullable: true example: Password DefaultUserNamePattern: type: string description: |- The default pattern selected for creating a username for a new user in the organization. - Email example: FirstNameLastName Enabled: type: boolean description: is the organization enabled. example: true CourseSearchResult: type: object properties: Id: type: integer description: The unique identifier of the course. format: int32 example: 4567 ExternalId: type: string description: 'The course assignment''s external ID, usually a unique identifier from the calling system.' example: FC8D0166-B2F3-4705-8187-5D72BA81F511 nullable: true Name: type: string description: The name of the course. example: Course A Description: type: string description: The activity's description nullable: true OrganizationId: type: integer description: The ID of the organization the course belongs to. format: int32 example: 455 OrganizationName: type: string description: The name of the organization the course belongs to. example: Sample Organization ContentProviderId: type: integer description: The ID of the course content provider. format: int32 example: 9876 nullable: true AvailableInstructorLed: type: boolean description: Indicates whether the course is available instructor-led. example: true AvailableSelfPaced: type: boolean description: Indicates whether the course is available self-paced. example: false CustomFields: type: array description: See CustomField items: $ref: '#/components/schemas/CustomField' Created: type: integer description: 'When the course was created. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1449496820 LastModified: type: integer description: 'When the course was last modified. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1584035105 AutoArchiveDate: type: integer description: 'When the course is scheduled to be archived. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1453024103 x-stoplight: id: s3kpp8k6yiej3 nullable: true Course: type: object properties: Id: type: integer description: The course's unique identifier format: int32 example: 5678 ExternalId: type: string description: 'The course''s external ID, usually a unique identifier from the calling system' nullable: true example: ce2637fc-7eac-43d1-9e75-565e9f7ff53b Name: type: string description: The Name of the course example: A Course Name Description: type: string description: The description of the course nullable: true example: A course description HtmlDescription: type: string description: The HTML description of the course nullable: true example:

Some HTML Description

AvailableInstructorLed: type: boolean description: The setting for if this course is available to be delivered in an instructor-led format example: true AvailableSelfPaced: type: boolean description: The setting for if this course is available to be delivered in a self-paced format example: true OrganizationId: type: integer description: The Id of the owning organization for this course format: int32 nullable: true example: 345 OrganizationName: type: string description: The name of the owning organization for this course nullable: true example: Organization Name Sample ContentProviderId: type: integer description: The Id of the content provider for this course (if any) format: int32 nullable: true example: 123 ContentProviderName: type: string description: The name of the content provider for this course (if any) nullable: true example: Content Prvider Name Sample Activities: type: array description: See Activity. items: $ref: '#/components/schemas/Activity' Duration: type: number description: The course's duration. format: float example: 144.5 DurationUnitId: type: integer description: |- The course's duration type identification. Values include: - Minutes = 0 - Hours = 1 - Days = 2 - Weeks = 3 format: int32 example: 2 Tags: type: array description: See Tag. items: $ref: '#/components/schemas/Tag' CustomFields: type: array description: See CustomField items: $ref: '#/components/schemas/CustomField' Created: type: integer description: 'When the course was created. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1449496800 LastModified: type: integer description: 'the course was last modified. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1584035120 Activity: type: object properties: Id: type: integer description: The activity's unique identifier format: int32 example: 33345 ParentId: type: integer description: The Id of the activity's parent activity (if any) format: int32 nullable: true ActivityId: type: integer format: int32 example: 29119 description: The internal Id of the activity. ActivityTypeId: type: integer description: |- The Id of the activity type: - ScormModule = 2 - Lab = 4 - Survey = 10 - InstructorSurvey = 20 - OrganizationSurvey = 30 - ExternalLink = 40 - Assessment = 50 - Video = 60 - Document = 70 - Section = 80 format: int32 example: 4 ActivityTypeName: type: string description: The activity's type name example: Lab Name: type: string description: The activity's name example: Activity Name Sample Description: type: string description: The activity's description nullable: true example: Activity description sample Subtitle: type: string description: The activity's subtitle nullable: true AllowRetake: type: boolean description: The activity's setting to allow retakes example: true AllowReview: type: boolean description: The activity's setting to allow review example: false Url: type: string description: The activity's url nullable: true SortOrder: type: integer description: The activity's sort order index format: int32 example: 0 Required: type: boolean description: The activity's setting for if the activity is required for course completion example: true AvailabilityTypeId: type: integer description: |- The activity's availablility type id - Everyone = 0 - Instructors Only = 1 format: int32 example: 0 ExpectedDurationSeconds: type: integer description: The activity's expected duration in seconds format: int32 example: 3540 IsExam: type: boolean description: The activity's setting as a scored lab (This only applies to Lab type activities) example: false Activities: type: array description: See Activity. items: $ref: '#/components/schemas/Activity' Tag: type: object properties: Id: type: integer description: The tag's unique identifier. format: int32 example: 2 Name: type: string description: The tag's name. nullable: true example: Tag Example 1 CustomField: type: object properties: Name: type: string description: The name of the custom field. example: MyCustomText TexValue: type: string description: The value of the custom field. example: Woohoo! CourseTagGroupSearchResult: type: object properties: Id: type: integer description: The course tag group unique identifier format: int32 example: 5678 Name: type: string description: The course tag groups name nullable: true example: A Course Name Tags: type: array description: See Tag items: $ref: '#/components/schemas/Tag' CourseFeedbackSearchResult: type: object properties: Submitted: type: integer description: 'When the feedback entry was created. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1492203295 CourseId: type: integer description: The Id of the course. format: int32 example: 1234 CourseName: type: string description: The name of the course. example: Course 1234 name sample Title: type: string description: The title of the feedback message. example: Course 1234 title sample Content: type: string description: The text content of the feedback message. nullable: true example: Course content sample Positive: type: boolean description: Indicates whether the feedback is positive. example: false Negative: type: boolean description: Indicates whether the feedback is negative. example: true UserId: type: integer description: The Id of the user (if available) of the user that submitted the feedback. format: int32 nullable: true example: 279207 UserExternalId: type: string description: The ExternalId of the user (if available) of the user that submitted the feedback. nullable: true example: 831ab062-fcd9-44c7-9ffd-15ef98e9746e CourseAssignmentId: type: integer description: The Id of the course assignment (if any). format: int32 nullable: true example: 68905 ClassEnrollmentId: type: integer description: The Id of the class enrollent (if any). format: int32 nullable: true example: 4576 ActivityId: type: integer description: The Id of the activity (if any). format: int32 nullable: true example: 123 ActivityTypeId: type: integer description: |- The Id of the activity type (if any) - ScormModule = 2 - Lab = 4 - Survey = 10 - InstructorSurvey = 20 - OrganizationSurvey = 30 - ExternalLink = 40 - Assessment = 50 - Video = 60 - Document = 70 format: int32 nullable: true example: 123 ActivityName: type: string description: The activity's name (if any) nullable: true example: Sample activity name ClassEnrollment: type: object properties: Id: type: integer description: The class enrollment's unique identifier format: int32 example: 10 ExternalId: type: string description: 'The class enrollment''s external ID, usually a unique identifier from the calling system' nullable: true example: E3G5YZFREFEQ9371 UserId: type: integer description: The Id of the related user format: int32 example: 897615 ClassId: type: integer description: The Id of the related class format: int32 example: 4421 EnrollmentStatusId: type: integer description: |- Indicates the status of the class enrollment - 0 = Request - 10 = Cancel - 20 = Waitlist - 30 = Approve - 40 = Deny - 50 = Audit - 60 = Enroll format: int32 example: 60 CompletionStatusId: type: integer description: |- Indicates the completion status of the class enrollment - 0 = Unknown - 10 = Attending - 20 = Complete - 30 = Incomplete - 40 = NoShow - 50 = Failed format: int32 example: 0 LateCancel: type: boolean description: Indicates if the class enrollment was cancelled outside the late cancellation window. example: false Retake: type: boolean description: Indicates if the class enrollment is a retake. example: false LocationTypeId: type: integer description: |- Indicates the location type that the student is assigned to attend the class - 0 = To Be Determined - 10 = Classroom - 20 = Remote Classroom - 30 = Virtual format: int32 nullable: true example: 0 ClassroomId: type: integer description: The ID of the classroom (if any) in which the student is assigned to attend the class. format: int32 nullable: true example: 3456 HoursSpent: type: integer description: The hours spent by the student in the class enrollment. format: int32 nullable: true example: 20 Grade: type: integer description: The grade the student received for the class enrollment. format: int32 nullable: true example: 10 CustomFields: type: array description: Custom Fields that have values for the user example: - Name: Unique Text TextValue: AXY12345 CustomFieldId: 5089 - Name: Unique Number TextValue: '44' CustomFieldId: 5090 - Name: Dropdown-01 TextValue: Second Choice CustomFieldId: 5087 items: type: object properties: Name: type: string description: The name that is given to this custom field TextValue: type: string description: The text value for this field can be updated using the /UpdateClassEnrollmentCustomFieldValue API endpoint. CustomFieldId: type: integer format: int32 description: The Custom Field's system generated unique id. ClassEnrollmentSearch: type: object properties: Id: type: integer description: The class enrollment's unique identifier format: int32 example: 10 ExternalId: type: string description: 'The class enrollment''s external ID, usually a unique identifier from the calling system' nullable: true example: E3G5YZFREFEQ9371 UserId: type: integer description: The Id of the related user format: int32 example: 897615 UserExternalId: type: integer description: The external Id of the related user format: int32 example: 897615 ClassId: type: integer description: The Id of the related class format: int32 example: 4421 ClassName: type: string description: The name of the class example: Class name sample ClassExternalId: type: integer description: The external Id of the related class format: int32 example: 4421 EnrollmentStatusId: type: integer description: |- Indicates the status of the class enrollment - 0 = Request - 10 = Cancel - 20 = Waitlist - 30 = Approve - 40 = Deny - 50 = Audit - 60 = Enroll format: int32 example: 60 CompletionStatusId: type: integer description: |- Indicates the completion status of the class enrollment - 0 = Unknown - 10 = Attending - 20 = Complete - 30 = Incomplete - 40 = NoShow - 50 = Failed format: int32 example: 0 LateCancel: type: boolean description: Indicates if the class enrollment was cancelled outside the late cancellation window. example: false Retake: type: boolean description: Indicates if the class enrollment is a retake. example: false LocationTypeId: type: integer description: |- Indicates the location type that the student is assigned to attend the class - 0 = To Be Determined - 10 = Classroom - 20 = Remote Classroom - 30 = Virtual format: int32 nullable: true example: 0 ClassroomId: type: integer description: The ID of the classroom (if any) in which the student is assigned to attend the class. format: int32 nullable: true example: 3456 HoursSpent: type: integer description: The hours spent by the student in the class enrollment. format: int32 nullable: true example: 20 Grade: type: integer description: The grade the student received for the class enrollment. format: int32 nullable: true example: 10 LastModified: type: integer description: 'When the class enrollment was last modified. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1295375536 CourseAssignment: type: object properties: Id: type: integer description: The course assignment's unique identifier format: int32 example: 1234 ExternalId: type: string description: 'The course assignment''s external ID, usually a unique identifier from the calling system' nullable: true example: C9876ZFGEFER9876 CourseId: type: integer description: The Id of the course associated with this course assignment. format: int32 example: 123 UserId: type: integer description: The UserId of the user that is associated with this course assignment. format: int32 example: 3434 ClubMembershipId: type: integer description: The subscription (if any) associated with this course assignment. format: int32 nullable: true example: 119955 Expire: type: integer description: When the course assignment expires (if ever) (in Unix epoch time) format: int64 nullable: true example: 1450479600 TargetCompletion: type: integer description: When course assignment is expected to be completed by the student (in Unix epoch time) format: int64 nullable: true example: 1449496800 Start: type: integer description: When the course assignment was started (if ever) (in Unix epoch time) format: int64 nullable: true example: 1449496800 Complete: type: integer description: When the course assignment was completed (if ever) (in Unix epoch time) format: int64 nullable: true CourseAssignmentSearchResult: type: object properties: Id: type: integer description: The course assignment's unique identifier format: int32 example: 12345 ExternalId: type: string description: 'The course assignment''s external ID, usually a unique identifier from the calling system' nullable: true example: FC8D0166 CourseId: type: integer description: The course's unique identifier format: int32 example: 1234 CourseName: type: string description: The name of the course example: Course name sample UserId: type: integer description: The user's unique identifier format: int32 example: 190615 UserExternalId: type: string description: 'The user''s external ID, usually a unique identifier from the calling system' nullable: true example: 89CFAB18-443D-495C-89B0-95A85E0A00BA FirstName: type: string description: The user's first name example: Sally LastName: type: string description: The user's last name example: Doe Email: type: string description: The user's e-mail address example: sally.doe@sample.net OrganizationId: type: integer description: The unique identifier of the organization the user belongs to format: int32 example: 2471 PaymentType: type: string description: What type of key was used to get access to the course example: Subscription (Microsoft Total Access Collection) Created: type: integer description: 'When the course assignment was created. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1295375536 Expires: type: integer description: 'When the course assignment expires. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 nullable: true example: 1310947200 Started: type: integer description: 'When the course assignment was started by the user. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 nullable: true example: 1295378841 Completed: type: integer description: 'When the course assignment was completed by the user. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 nullable: true example: 1295386048 CourseCatalogSearchHistorySearchResult: type: object properties: Id: type: integer description: The search result's unique identifier format: int64 example: 4754 UserId: type: integer description: The user's unique identifier format: int32 example: 190615 UserExternalId: type: string description: 'The user''s external ID, usually a unique identifier from the calling system' nullable: true example: EC11A1BE-4A26-4D28-AA75-F41E3F56DB57 FirstName: type: string description: The user's first name example: Jane LastName: type: string description: The user's last name example: Doe OrganizationId: type: integer description: The unique identifier of the organization the user belongs to format: int32 example: 3456 Search: type: integer description: 'When the search was run. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1466092675 TextFilter: type: string description: The text filter entered by the user nullable: true example: Scripting Tags: type: array description: All tags selected by the user. See Tag type below. items: $ref: '#/components/schemas/Tag' ClubIds: type: array description: Unique identifiers of all clubs the search was filtered against. example: - 1234 - 4332 items: type: integer format: int64 example: 123 PageIndex: type: integer description: The zero-based index of the page of results displayed by the search format: int32 NumResults: type: integer description: The total number of results matched by the search format: int32 example: 10 LabInstanceSearchResult: type: object properties: Id: type: integer description: The lab instance's unique identifier format: int64 example: 4042909 LabId: type: integer description: The lab profile's unique identifier format: int32 example: 6742 LabNumber: type: string description: The number/code of the lab example: Lab201 LabName: type: string description: The name the lab example: Sample lab name UserId: type: integer description: The user's unique identifier format: int32 example: 78956 UserExternalId: type: string description: 'The user''s external ID, usually a unique identifier from the calling system' nullable: true example: 89CFAB18-443D-495C-89B0-95A85E0A00BA FirstName: type: string description: The user's first name example: Jane LastName: type: string description: The user's last name example: Doe OrganizationId: type: integer description: The unique identifier of the organization the user belongs to format: int32 example: 457 Start: type: integer description: 'When the lab instance started. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1465500264 End: type: integer description: 'When the lab instance ended. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 nullable: true example: 1465500264 TotalRunTimeSeconds: type: integer description: The text filter entered by the user format: int32 nullable: true example: 164 ExpectedDurationSeconds: type: integer description: The amount of time expected for the lab to take in seconds format: int32 nullable: true example: 43200 TaskCompletePercent: type: integer description: The percentage of the lab that has been completed by the user format: int32 example: 0 CompletionStatus: type: integer description: |- Indicates the completion status of the lab instance. Possible Values: - 0 = Cancelled - 10 = In progress - 20 = Complete - 30 = Error format: int32 nullable: true example: 10 CourseId: type: integer description: The unique identifier of the course the lab instance was launched from format: int32 nullable: true example: 33410 CourseAssignmentId: type: integer description: The unique identifier of the course assignment the lab instance was launched from format: int32 nullable: true example: 315143 ClassId: type: integer description: The unique identifier of the class the lab instance was launched from format: int32 nullable: true example: 56476 ClassExternalId: type: string description: The unique identifier from the calling system for the class the lab instance was launched from nullable: true example: ABC123 UserIpAddress: type: string description: The user's ip address recorded when a new lab instance is launched nullable: true example: 127.0.0.1 LastActivityTime: type: integer description: 'When student activity was last detected. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 nullable: true example: 1585690845 GetLabInstanceDetailsResponse: type: object x-stoplight: id: 5b72f520a1cc1 x-examples: {} properties: Id: type: integer description: The TMS ID of the lab instance. format: int64 LabId: type: integer description: The TMS ID of the lab. format: int32 LabName: type: string description: The TMS name of the lab. SeriesId: type: integer description: The ID of the lab series. format: int32 nullable: true SeriesName: type: string description: The name of the lab series. nullable: true UserId: type: string description: The ID you use to identify the user in your external system. UserFirstName: type: string description: The user's first name. UserLastName: type: string description: The user's last name. ClassId: description: The ID of the class the lab instance is associated with. type: string nullable: true ClassName: description: The name of the class the lab instance is associated with. type: string nullable: true AssignmentId: description: The ID of the class assignment the lab instance is associated with. type: string nullable: true Start: type: integer description: When the lab was started (in Unix epoch time). format: int64 StartTime: type: string description: When the lab was started (in Unix epoch time). Expires: type: integer description: When the lab expires (in Unix epoch time). format: int64 ExpiresTime: type: string description: When the lab expires (in Unix epoch time). End: type: integer description: When the lab ended (in Unix epoch time). format: int64 nullable: true EndTime: type: string description: When the lab ended (in Unix epoch time). nullable: true LastActivity: type: integer description: When student activity was last detected (in Unix epoch time). format: int64 nullable: true LastActivityTime: type: string description: When student activity was last detected (in Unix epoch time). nullable: true LastSave: type: integer description: When the lab was last saved (in Unix epoch time). format: int64 nullable: true LastSaveTime: type: string description: When the lab was last saved (in Unix epoch time). nullable: true SaveExpires: type: integer description: 'If the lab instance is saved, when the saved data will expire and be deleted (in Unix epoch time).' format: int64 nullable: true SaveExpiresTime: type: string description: 'If the lab instance is saved, when the saved data will expire and be deleted (in Unix epoch time).' nullable: true State: type: string description: |- The state of the lab instance. Possible values: Off Provisioning Storage Building Building (Displayable) Starting Running Saving Saved Resuming Creating Snapshot Applying Snapshot Updating Lab Profile Tearing Down Cloning Creating As Clone Moving (Running) Moving (Saved) Creating New Lab Profile Scoring Scheduled CompletionStatus: type: string description: |- The student's completion status. Possible values: Scheduled Cancelled Not Started Incomplete Complete Storage Provisioning Failed Lab Creation Failed Resume Failed Save Failed Submitted For Grading Grading In Progress PoolMemberName: description: 'If the lab contains a virtual machine pool, the name of the pool member that was used.' type: string nullable: true LabHostId: type: integer description: The ID of the lab host machine. format: int32 LabHostName: type: string description: The name of the lab host machine. DatacenterId: type: integer description: The ID of the datacenter where the lab is located. format: int32 DatacenterName: type: string description: The name of the datacenter where the lab is located. DeliveryRegionId: type: integer description: 'When specified, Skillable will attempt to launch the lab in the specified delivery region if a suitable host in that region is available and all required storage is available in that region. Delivery regions can be found using the **DeliveryRegions** command or **Catalog** command. Using the ipAddress parameter will result in a more reliable geo-location of the lab for the end user.' format: int32 DeliveryRegionName: type: string description: The name of the delivery region where the lab is located. PlatformId: type: integer description: |- The platform the lab has hosted on. Possible values: 2 = Hyper-V 3 = ESX 20 = Docker -1 = None format: int32 LastSaveTriggerType: description: |- If the lab is currently saved, what triggered the save operation. Possible values: Unknown By Student By Administrator Automatic From API Consumer type: string nullable: true TimeInSession: type: integer description: The total number of seconds the user spent in the lab. format: int32 TotalRunTime: type: integer description: 'The total number of seconds the lab was running, whether or not the student was present.' format: int32 TimeRemaining: type: integer description: The total number of seconds remaining before the lab expires. format: int32 InstructorName: description: The name of the instructor for the associated class. type: string nullable: true StartupDuration: type: integer description: The number of seconds it took the lab to start. format: int32 nullable: true Errors: type: array description: An array of all errors associated with the lab instance. items: type: object Snapshots: type: array description: An array of snapshots created by the user within the lab. This contains an array of LabInstanceSnapshot objects. items: type: object properties: Name: type: string description: The name that the student gave to the snapshot. Time: type: integer description: When the student created the snapshot (in Unix epoch time). format: int64 Sessions: type: array description: An array of session times the student spent in the lab. This contains an array of LabInstanceSnapshot objects. items: type: object properties: Start: type: integer format: int64 description: When the session started (in Unix epoch time). StartTime: type: string End: type: integer description: When the session ended (in Unix epoch time). nullable: true EndTime: type: string Notes: type: array description: Array of notes applicable to the lab instance. items: type: object properties: Time: type: integer TimeValue: type: string Title: type: string Text: type: string HasContent: type: boolean description: 'Indicates whether the lab has content, or simply houses virtual machines.' Task: description: 'If the lab has content (HasContent=true), indicates the name of the task the student is working on.' type: string nullable: true Exercise: description: 'If the lab has content (HasContent=true), indicates the name of the exercise the student is working on.' type: string nullable: true NumTasks: type: integer description: 'If the lab has content (HasContent=true), indicates the total number of tasks in the lab.' format: int32 NumCompletedTasks: type: integer description: 'If the lab has content (HasContent=true), indicates the number of tasks the student has completed.' format: int32 TaskCompletePercent: type: integer description: 'If the lab has content (HasContent=true), indicates the percentage of tasks that the student has completed.' format: int32 RemoteController: type: string description: The name of the remote controller used by the user. Tag: type: string description: Lab instance tag data. nullable: true BrowserUserAgent: type: string description: The browser user agent used by the user. nullable: true LastLatency: type: integer description: The last known latency value as measured between the client and the lab's datacenter. format: int32 nullable: true ExamPassed: type: boolean description: Indicates whether the user passed the lab. Will only be set if the lab has activities which have been scored. nullable: true ExamScore: type: integer description: Indicates the lab score. Will only be set if the lab has activities which have been scored. format: int32 nullable: true ExamMaxPossibleScore: type: integer description: Indicates the maximum possible score of the lab. Will only be set if the lab has activities which have been scored. format: int32 nullable: true ExamPassingScore: type: integer description: Indicates the minimum score required to pass the lab. Will only be set if the lab has activities which have been scored. format: int32 nullable: true ExamScoredById: type: integer description: The ID of the user that manually scored the lab. Will only be set if the lab has activities which have been scored manually. Automatically scored labs will not include a value for this property. format: int64 nullable: true ExamScoredByName: description: The name of the user that manually scored the lab. Will only be set if the lab has activities which have been scored manually. Automatically scored labs will not include a value for this property. type: string nullable: true ExamDetails: description: Legacy Field from previous scoring engine. type: string nullable: true ExamScoredDate: type: integer description: The date the lab was scored (in Unix epoch time). format: int64 nullable: true ExamScoredTime: type: string description: When the lab was scored (in Unix epoch time). Will only be set if the lab has activities which have been scored. nullable: true IsExam: type: boolean description: Indicates whether the lab is scored. IpAddress: type: string description: The user's IP address. This is only included if the IP address was provided when the lab was launched. nullable: true Country: type: string description: The user's country as determined by IP address geolocation. This is only included if the IP address was provided when the lab was launched. nullable: true Region: type: string description: The user's state/region as determined by IP address geolocation. This is only included if the IP address was provided when the lab was launched. nullable: true City: type: string description: The user's city as determined by IP address geolocation. This is only included if the IP address was provided when the lab was launched. nullable: true Latitude: type: number description: The user's latitude as determined by IP address geolocation. This is only included if the IP address was provided when the lab was launched. format: float nullable: true Longitude: type: number description: The user's longitude as determined by IP address geolocation. This is only included if the IP address was provided when the lab was launched. format: float nullable: true PublicIpAddresses: type: array description: An array of public IP address information objects. This contains an array of IpAddressInfo objects. items: type: object properties: IpAddress: type: string description: An IP address. MacAddress: type: string description: The MAC address of the NIC that the IP address was assigned to. MachineInstanceName: type: string description: The name of the virtual machine instance that the IP address was assigned to. CloudCredentials: type: array description: An array of credentials assigned to the lab instance. This contains an array of CloudCredential objects. items: type: object properties: PropertiesJson: type: string description: 'Json serialized properties for the credentials, as defined in the cloud credential pool.' Expires: type: integer description: When the credentials expire (in Unix epoch time). format: int64 DisplayName: type: string description: Friendly credential name displayed in the lab user interface. Message: type: string nullable: true CloudPortalCredentials: type: array description: An array of credentials assigned to the lab instance. This contains an array of CloudPortalCredential objects. items: type: object properties: CloudPlatform: type: integer format: int32 description: |- The ID of the cloud platform to which the credentials belong. 10 = Azure 11 = AWS PropertiesJson: type: string description: Json serialized properties for the credentials. VirtualMachineCredentials: type: array description: An array of credentials used to access the virtual machines. This contains an array of VirtualMachineCredential objects. items: type: object properties: Id: type: integer description: ID of the virtual machine. format: int32 Name: type: string description: Name of the virtual machine. Username: type: string description: Username used to accces the virtual machine. Password: type: string description: Password used to access the virtual machine. CloudPlatformId: type: integer description: |- The ID of the cloud platform. Possible values: 10 = Azure 11 = AWS format: int32 nullable: true ClientUrl: description: |- This response property is deprecated. Unless explicitly allowed by Skillable, this field will always be null. To obtain an access URL, use the **LabAccessUrl** command. type: string nullable: true ActivityResults: type: array description: An array of results for activities displayed in the lab instance. This contains an array of ActivityResult objects. items: type: object properties: ActivityId: type: integer description: ID of the Activity. format: int32 ActivityName: type: string description: Name of the Activity. Scored: type: boolean description: Whether the activity is scored. Score: type: number description: The Score received by the student. format: float Passed: type: boolean description: Whether the student received a passing score on the activity. ActivityType: type: integer description: |- 0 = Multiple choice, single answer 10 = Multiple choice, multiple answer 20 = Short answer, exact match 30 = Short answer, regex match 40 = Automated Activity format: int32 TextResult: type: string description: The answer given by a student for Short Answer type questions. nullable: true UiResponse: type: string description: The response given to the student if specified in the question Answer Feedback. nullable: true AnswerResults: type: array description: A collection of the answers available in single-answer activities. items: type: object properties: AnswerId: type: integer format: int32 AnswerText: type: string Correct: type: boolean ScriptResults: type: array description: 'A collection of the results of the an automated activity. Includes Script ID, Score, Passing Status, UiResponse, ScriptResponse, PlatformError, and ScriptError.' items: type: object DisplayScriptsAsTaskList: type: boolean description: Whether automated activities are scored as a TaskList or individually. AnswerTexts: type: array description: A collection of the answers available in multi- answer activities. items: type: object properties: Correct: type: boolean AnswerId: type: integer format: int32 Text: type: string Chosen: type: boolean ScriptTexts: type: array description: The Activity ID and Text displayed in the Task List if Task List is enabled on the activity. items: type: object ShowResultsInReports: type: boolean description: Whether results of the script are shown on the lab instance. ActivityGroupResults: type: array description: An array of results for activities displayed in the lab instance Activity Group. This contains an array of ActivityResult objects. items: type: object properties: Id: type: integer format: int32 description: ID of the Activity Group. Name: type: string description: Name of the Activity Group. ScoreValueTotal: type: number format: float description: The maximum score for the Activity Group. AggregateScore: type: number format: float description: The resultant score the of the Activity Group. ActivityResults: type: array description: An array of results for activities displayed in the lab instance Activity Group. This contains an array of ActivityResult objects. items: type: object properties: ActivityId: type: integer format: int32 description: ID of the Activity. ActivityName: type: string description: Name of the Activity. Scored: type: boolean description: Whether the activity is scored. Score: type: integer description: The Score received by the student. Passed: type: boolean description: Whether the student received a passing score on the activity. ActivityType: type: integer description: |- 0 = Multiple choice, single answer 10 = Multiple choice, multiple answer 20 = Short answer, exact match 30 = Short answer, regex match 40 = Automated Activity TextResult: type: string description: The answer given by a student for Short Answer type questions. UiResponse: type: string description: The response given to the student if specified in the question Answer Feedback. AnswerResults: type: array description: A collection of the answers available in single-answer activities. items: type: object ScriptResults: type: array description: 'A collection of the results of the an automated activity. Includes Script ID, Score, Passing Status, UiResponse, ScriptResponse, PlatformError, and ScriptError.' items: type: object DisplayScriptsAsTaskList: type: boolean description: Whether automated activities are scored as a TaskList or individually. AnswerTexts: type: array description: A collection of the answers available in multi- answer activities. items: type: object properties: '': type: string ScriptTexts: type: array description: The Activity ID and Text displayed in the Task List if Task List is enabled on the activity. items: type: object ShowResultsInReports: type: boolean description: Whether results of the script are shown on the lab instance. EstimatedReadySeconds: type: integer description: An estimated number of seconds before the lab is ready. format: int32 nullable: true InstructionsSetId: type: string description: The ID of the Instructions Set used. nullable: true Language: type: string description: |- The lanuage code of the instruction set. en = English es = Spanish fr = French de = German pt = Portuguese ja = Japanese zh-hans = Simplified Chinese zh-hant = Traditional Chinese ko = Korean nullable: true Error: type: string description: 'In the event of an error, this will contain a detailed error message.' nullable: true Status: type: integer description: |- Indicates the status of the API request. 0 = Error 1 = Success format: int32 CourseExternalActivityLaunchSearchResult: type: object properties: Id: type: integer description: The launch unique identifier format: int64 example: 5478141 Activity: type: string description: The name of the activty that was launched example: URL 1 ActivityType: type: integer description: |- Indicates the type of the activity launched. Possible values: - 40 = URL - 60 = Video - 70 = Document format: int32 example: 40 UserId: type: integer description: The user's unique identifier format: int32 example: 34521 UserExternalId: type: string description: 'The user''s external ID, usually a unique identifier from the calling system' nullable: true example: EC11A1BE-4A26-4D28-AA75-F41E3F56DB57 FirstName: type: string example: Jane LastName: type: string example: Doe OrganizationId: type: integer description: The unique identifier of the organization the user belongs to format: int32 example: 77889 Launch: type: integer description: 'When the activity was launched. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1465758373 CourseId: type: integer description: The unique identifier of the course the activity was launched from format: int32 nullable: true example: 442 CourseAssignmentId: type: integer description: The unique identifier of the course assignment the activity was launched from format: int32 nullable: true example: 3456 ClassEnrollmentId: type: integer description: The unique identifier of the class enrollment the activity was launched from format: int32 nullable: true example: 3445 Class: type: object properties: Id: type: integer description: The class's unique identifier format: int32 example: 56794 ExternalId: type: integer description: The class's ExternalId identifier format: int32 Name: type: string description: The class's name example: Sample Class Name Description: type: string description: The class's Description nullable: true example: Sample Description HtmlDescription: type: string description: The class's HTML Description nullable: true Enabled: type: boolean description: Gives the class's status example: true ConfirmationStatusId: type: integer description: Gives the class's ConfirmationStatusId format: int32 example: 5634 CourseId: type: integer description: The class's course identifier format: int32 example: 5678 OrganizationId: type: integer description: The class's organization identifier format: int32 example: 123 OrganizationName: type: string description: The class's organization name example: Sample Organization Id CompanyId: type: integer description: The class's company identifier format: int32 nullable: true example: 1235 DeliveryTypeId: type: integer description: The class's delivery identifier format: int32 example: 34 VirtualMeetingHostId: type: integer description: The class's virtual meeting host identifier format: int32 nullable: true example: 14 VirtualMeetingId: type: string description: The class's VirtualMeeting identifier nullable: true CustomVirtualClassroomUrl: type: string description: The class's custom VirtualMeeting Url nullable: true PrimaryInstructorId: type: integer description: The class's primaryInstructor identifier format: int32 nullable: true PrimaryInstructorFirstName: type: string description: The class's primary instructor first name nullable: true PrimaryInstructorLastName: type: string description: The class's primary instructor last name nullable: true PrimaryClassroomId: type: integer description: The class's primary classroom identifier format: int32 nullable: true example: 4535 MaterialsListId: type: integer description: The class's materials list identifier format: int32 nullable: true example: 45 Start: type: integer description: When the class starts (in Unix epoch time). format: int64 example: 1320757200 End: type: integer description: When the class ends (in Unix epoch time). format: int64 example: 1320757200 MinStudents: type: integer description: The minimum number of students enrolled format: int32 example: 2 MaxStudents: type: integer description: The maximum number of students enrolled format: int32 example: 5 AllowSelfEnrollment: type: boolean description: Distinguishes if self enrollment is allowed example: false IsPublic: type: boolean description: Distinguishes if the class is public example: true EnableClassTrainingKey: type: boolean description: Distinguishes if the class allows registration via a class training key example: true ClassTrainingKey: type: string description: The class training key (if enabled) that will allow for self registration in the class nullable: true example: ABC1234 DisableLabs: type: boolean description: Distinguishes if the class is disabled example: false EnableEnrollmentNotifications: type: boolean description: Distinguishes if enrollment notifications are enabled example: true IsUniqueDelivery: type: boolean description: Distinguishes if unique delivery is enabled example: false RecordingModeId: type: integer description: The class's recording Mode identifier format: int32 example: 6743 CustomText1: type: string description: CustomText1 example: Sample custom text 1 CustomText2: type: string description: CustomText2 example: Sample custom text 2 CustomText3: type: string description: CustomText3 nullable: true CustomText4: type: string description: CustomText4 nullable: true CustomText5: type: string description: CustomText5 nullable: true CustomBool1: type: boolean description: CustomBool1 example: true CustomBool2: type: boolean description: CustomBool2 example: true CustomBool3: type: boolean description: CustomBool3 example: true CustomBool4: type: boolean description: CustomBool4 example: false CustomBool5: type: boolean description: CustomBool5 example: false CustomDropdown1: type: string description: CustomDropdown1 nullable: true CustomDropdown2: type: string description: CustomDropdown2 nullable: true SurveyId: type: integer description: The class's survey identifier format: int32 nullable: true example: 334523 StudentSurveyAvailabilityStartTypeId: type: integer description: Identifies when Student survey is becomes available in relation to SurveyAvailabilityStartHours. 0 for hours before event ends; 1 for hours after event ends. format: int32 example: 55534 SurveyAvailabilityStartHours: type: integer description: Number of hours after class end that the survey is available format: int32 example: 4 SurveyAvailabilityEndDays: type: integer description: Number of days after class end that the survey is available format: int32 example: 30 InstructorSurveyId: type: integer description: The class's survey identifier for instructors format: int32 nullable: true example: 356 OrganizationSurveyId: type: integer description: The class's survey identifier for organizations format: int32 nullable: true example: 1034 OrganizationSurveyResponseId: type: integer description: The class's survey response identifier for organizations format: int32 nullable: true ClassroomAddress1: type: string description: Classroom address nullable: true example: 123 Sample Dr. ClassroomAddress2: type: string description: Classroom address nullable: true ClassroomCity: type: string description: Classroom address nullable: true example: Sample City ClassroomState: type: string description: Classroom address nullable: true example: Florida ClassroomCountry: type: string description: Classroom address nullable: true example: Sample County ClassroomZip: type: string description: Classroom address nullable: true example: '12345' CustomFields: type: array description: See CustomField items: $ref: '#/components/schemas/CustomField' SessionTimes: type: array description: See SessionTimes items: $ref: '#/components/schemas/ClassSession' ClassSession: type: object properties: Start: type: integer description: When the class starts (in Unix epoch time). format: int64 example: 1320876000 End: type: integer description: When the class ends (in Unix epoch time). format: int64 example: 1320876000 ClassMeeting: type: object properties: Start: type: integer description: When the class meeting starts UTC (in Unix epoch time). format: int64 example: 1320876000 End: type: integer description: When the class meeting ends UTC (in Unix epoch time). format: int64 example: 1320876000 CustomFieldSearchFilter: type: object properties: Id: type: integer description: The Id of the custom field you are searching against. format: int32 example: 1234 ComparisonType: type: integer description: |- The Compairson Type for the search filter. Will default to 0 if not included. 0 - Equals 5 - Not Equals format: int32 example: 0 Value: type: string description: The value you would like to filter that custom field by in string representation. example: Some Value ClassSearchResult: type: object properties: Id: type: integer description: The class's unique identifier format: int32 example: 56794 CourseId: type: integer description: The unique identifier of the course the class is based on. format: int32 example: 5678 CourseExternalId: type: integer description: The courses's ExternalId identifier the class is based on. format: int32 example: 6789 CourseName: type: string description: The name of the course the class is based on. example: Sample course Name ConfirmationStatusId: type: integer description: |- Indicates the current status of whether the class will run. - Scheduled = 0 - GuaranteedToRun = 1 - Cancelled = 2 - Rescheduled = 3 - Tentative = 4 - Requested = 5 - Denied = 6 - Completed = 7 format: int32 example: 2223 Start: type: integer description: When the class starts (in Unix epoch time). format: int64 example: 1320757200 End: type: integer description: When the class ends (in Unix epoch time). format: int64 example: 1320757200 OrganizationId: type: integer description: The class's organization identifier format: int32 example: 123 OrganizationName: type: string description: The class's organization name example: Sample Organization Name NumOpen: type: integer description: The number of enrolled users in the class. format: int32 example: 6 nullable: true NumEnroll: type: integer description: The minimum number of students the organization requires to be in the class to run it. format: int32 example: 45 nullable: true MinStudents: type: integer description: The minimum number of students enrolled format: int32 example: 2 MaxStudents: type: integer description: The maximum number of students enrolled format: int32 example: 5 VirtualMeetingHostId: type: integer description: The class's virtual meeting host identifier format: int32 example: 14 nullable: true VirtualMeetingId: type: string description: The class's VirtualMeeting identifier nullable: true CustomVirtualClassroomUrl: type: string description: The class's custom VirtualMeeting Url nullable: true IsPublic: type: boolean description: Distinguishes if the class is public example: true nullable: true Description: type: string description: The class's Description example: Sample Description nullable: true ClassroomId: type: integer description: The class's primary classroom identifier format: int32 example: 12345 nullable: true ClassroomAddress1: type: string description: Classroom address example: 123 Sample Dr. nullable: true ClassroomAddress2: type: string description: Classroom address nullable: true ClassroomCity: type: string description: Classroom address example: Sample City nullable: true ClassroomState: type: string description: Classroom address example: Florida nullable: true ClassroomCountry: type: string description: Classroom address example: Sample County nullable: true ClassroomZip: type: string description: Classroom address example: '12345' nullable: true HtmlDescription: type: string description: The class's HTML Description nullable: true CustomFields: type: array description: See CustomField items: $ref: '#/components/schemas/CustomField' DeliveryTypeId: type: integer description: The class's delivery identifier format: int32 example: 34 InstructorId: type: integer description: The class's primary instructor identifier format: int32 nullable: true InstructorFirstName: type: string description: The class's primary instructor first name nullable: true InstructorLastName: type: string description: The class's primary instructor last name nullable: true InstructorIds: type: array description: 'The internal user ids for all of the instructors assigned to the class, including the primary.' example: - 12345 - 98765 items: type: integer format: int32 EnableClassTrainingKey: type: boolean description: Distinguishes if the class allows registration via a class training key example: false ClassTrainingKey: type: string description: The class training key (if enabled) that will allow for self registration in the class example: ABC1234 nullable: true SessionTimes: type: array description: See SessionTimes items: $ref: '#/components/schemas/ClassSession' PublicClassSearchResult: type: object properties: Id: type: integer description: The class's unique identifier format: int32 example: 56794 CourseId: type: integer description: The unique identifier of the course the class is based on. format: int32 example: 5678 CourseName: type: string description: The name of the course the class is based on. example: Sample course Name ConfirmationStatusId: type: integer description: |- Indicates the current status of whether the class will run. - Scheduled = 0 - GuaranteedToRun = 1 - Cancelled = 2 - Rescheduled = 3 - Tentative = 4 - Requested = 5 - Denied = 6 - Completed = 7 format: int32 example: 2223 Start: type: integer description: When the class starts (in Unix epoch time). format: int64 example: 1320757200 End: type: integer description: When the class ends (in Unix epoch time). format: int64 example: 1320757200 OrganizationId: type: integer description: The class's organization identifier format: int32 example: 123 OrganizationName: type: string description: The class's organization name example: Sample Organization Id NumOpen: type: integer description: The number of enrolled users in the class. format: int32 nullable: true example: 6 NumEnroll: type: integer description: The minimum number of students the organization requires to be in the class to run it. format: int32 nullable: true example: 45 MinStudents: type: integer description: The minimum number of students enrolled format: int32 example: 2 MaxStudents: type: integer description: The maximum number of students enrolled format: int32 example: 5 VirtualMeetingHostId: type: integer description: The class's virtual meeting host identifier format: int32 nullable: true example: 14 VirtualMeetingId: type: string description: The class's VirtualMeeting identifier nullable: true CustomVirtualClassroomUrl: type: string description: The class's custom VirtualMeeting Url nullable: true ClassroomId: type: string description: The class's primary classroom identifier nullable: true example: '12345' ClassroomAddress1: type: string description: Classroom address nullable: true example: 123 Sample Dr. ClassroomAddress2: type: string description: Classroom address nullable: true ClassroomCity: type: string description: Classroom address nullable: true example: Sample City ClassroomState: type: string description: Classroom address nullable: true example: Florida ClassroomCountry: type: string description: Classroom address nullable: true example: Sample County ClassroomZip: type: string description: Classroom address nullable: true example: '12345' HtmlDescription: type: string description: The class's HTML Description nullable: true DeliveryTypeId: type: integer description: The class's delivery identifier format: int32 example: 34 ClassEnrollmentCustomFields: type: object x-stoplight: id: c6a3ce5745aaa properties: Id: type: integer description: The custom field's unique identifier format: int32 example: 10 Name: type: string description: The name of the custom field example: CustomClassEnrollmentFieldName1 Description: type: string description: The description of the custom field nullable: true example: Sample custom class enrollment field name 1 DataTypeId: type: integer description: |- The data type id of the custom field - 0 = Textbox - 10 = Dropdown List - 20 = Checkbox - 30 = Number - 60 = User Selector - 70 = Checkbox List format: int32 example: 10 ListValues: type: array description: 'An array of type String representing the available selectable options in the case of Dropdown List and Checkbox List, for all other data types it will be an empty array ([])' example: - string 1 - string 2 - string 3 items: type: string SortOrder: type: integer format: int32 description: The order in which this field will appear in the JSON response. example: 2 ClassCustomFields: type: object properties: Id: type: integer description: The custom field's unique identifier format: int32 example: 10 Name: type: string description: The name of the custom field example: CustomClassFieldName1 Description: type: string description: The description of the custom field nullable: true example: Sample custom class field name 1 DataTypeId: type: integer description: |- The data type id of the custom field - 0 = Textbox - 10 = Dropdown List - 20 = Checkbox - 30 = Number - 60 = User Selector - 70 = Checkbox List format: int32 example: 10 Values: type: array description: 'An array of type String representing the available selectable options in the case of Dropdown List and Checkbox List, for all other data types it will be an empty array ([])' example: - string 1 - string 2 - string 3 items: type: string SortOrder: type: integer description: An integer representing the order in which it will be displayed on the class create/edit pages. format: int32 example: 2 CreateClubMembershipResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' ClubMembershipId: type: integer description: The ID of the created subscription. format: int32 example: 45632 ClubMembershipResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Results: type: array description: See ClubMembership. items: $ref: '#/components/schemas/ClubMembership' ClubMembership: type: object properties: Id: type: integer description: The unique identifier of the course. format: int32 example: 45632 ExternalId: type: string description: 'The course assignment''s external ID, usually a unique identifier from the calling system' nullable: true example: E3G5YZFREFEQ9371 ClubId: type: integer description: The Id of the related subscription profile format: int32 example: 4421 UserId: type: integer description: The Id of the related user format: int32 example: 897615 Starts: type: integer description: When the subscription starts (in Unix epoch time) format: int64 example: 1449496800 Expires: type: integer description: When the subscription starts (in Unix epoch time) format: int64 nullable: true example: 1450479600 TargetCompletion: type: integer description: When the subscription is expected to be completed by the student (in Unix epoch time) format: int64 nullable: true example: 1449874800 SearchClubResultResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' SearchClubResults: type: array description: See SearchClubResult. items: $ref: '#/components/schemas/SearchClubResult' SearchClubResult: type: object properties: ClubId: type: integer description: The subscription profile's unique identifier. format: int32 example: 523 Name: type: string description: The subscription profile's name. example: .Net Subscription Profile ProgramId: type: integer description: The subscription profile's program. format: int32 example: 1 ProgramName: type: string description: The subscription profile's program name. example: Training OrganizationId: type: integer description: The subscription profile's organization. format: int32 example: 387 OrganizationName: type: string description: The subscription profile's organization name. example: ABC Training Company Price: type: number description: The subscription profile's price. example: 0 LastModified: type: string description: When the subscription profile was last modified. example: '2017-04-19T22:16:07.967+0000' Created: type: string description: When the subscription profile was created. example: '2012-04-17T15:21:21.953+0000' CourseIds: type: array description: A collection of ClubAssociatedCourses. items: $ref: '#/components/schemas/ClubAssociatedCourses' ClubAssociatedCourses: type: object properties: CourseId: type: integer description: The subscription profile's associated couseId. format: int32 example: 8992 Name: type: string description: The course name. example: .NET Programming Fundamentals SearchSubscriptionsResult: type: object properties: SubscriptionProfileId: type: integer description: The subscription profile's unique identifier. format: int32 example: 523 SubscriptionProfileName: type: string description: The subscription profile's name. example: .Net Club Starts: type: string description: When the subscription starts (in Unix epoch time). example: '2021-03-19T22:16:07.967Z' nullable: true Expires: type: string description: 'When the subscription ends or expires (in Unix epoch time). ' example: '2022-03-19T22:15:59.997Z' nullable: true LastModified: type: string description: When the subscription was last modified (in Unix epoch time). example: '2021-04-19T11:23:02.567Z' nullable: true Created: type: string description: When the subscription was created (in Unix epoch time). example: '2021-03-19T22:16:07.967Z' nullable: true SearchSubscriptionResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' SearchSubscriptionsResults: type: array description: See SearchSubscriptionsResult. items: $ref: '#/components/schemas/SearchSubscriptionsResult' SearchSubscriptionTrainingKeyResponse: type: object x-stoplight: id: 26e4593261e30 properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' SearchSubscriptionsResults: type: array description: See SearchSubscriptionsResult. items: $ref: '#/components/schemas/SearchSubscriptionTrainingKeyResult' SearchSubscriptionTrainingKeyResult: type: object x-stoplight: id: fb13469d3a297 properties: Id: type: integer description: The Id of the Subscription Training Key. format: int32 example: 678 OrganizationId: type: integer description: The Id of the Organization associated with this Subscription Training Key. format: int32 example: 121 OrganizationName: type: string description: The name of the Organization associated with the subscription Training Key. example: .Net Club SubscriptionProfileId: type: integer description: The subscription profile's unique identifier. format: int32 example: 523 SubscriptionProfileName: type: string description: The subscription profile's name. example: .Net Club TrainingKey: type: string description: The subscription training key value example: E3G5YZFREFEQ9371 nullable: true MaxKeyUses: type: integer description: The maximum number of times the subscription training key can be used. format: int32 example: 25 nullable: true ExpirationDate: type: string description: 'When the subscription training key ends or expires (in Unix epoch time). ' example: '2022-03-19T22:15:59.997Z' nullable: true ContentExpiry: type: string description: When the subscription training key content ends or expires (in Unix epoch time). example: '2022-03-19T22:15:59.997Z' nullable: true Created: type: string description: When the subscription training key was created (in Unix epoch time). example: '2021-03-19T22:16:07.967Z' nullable: true LastModified: type: string description: When the subscription was last modified (in Unix epoch time). example: '2021-04-19T11:23:02.567Z' nullable: true CreatedById: type: integer description: The user id that created the subscription training key format: int32 example: 121 LastModifiedById: type: integer description: The user id that last modified the subscription training key format: int32 example: 682 CreateSubscriptionTrainingKeysResponse: type: object x-stoplight: id: c557c46799dfb properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' CreateSubscriptionsResults: type: array description: See CreateSubscriptionsResult. items: $ref: '#/components/schemas/CreateSubscriptionTrainingKeyResult' CreateSubscriptionTrainingKeyResult: type: object x-stoplight: id: fb13469d3a297 properties: Id: type: integer description: The ID of the created Subscription Training Key. format: int32 example: 45632 trainingKey: type: string description: The Subscription Training Key that has been created. example: E3G5YZFREFEQ9371 UpdateSubscriptionTrainingKeysResponse: type: object x-stoplight: id: c557c46799dfb properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' DeleteSubscriptionTrainingKeysResponse: type: object x-stoplight: id: c557c46799dfb properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' CreateCompanyResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' CompanyId: type: integer description: The ID of the created company. format: int32 example: 45632 GetCompanyResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Company: type: array description: See Company results. items: $ref: '#/components/schemas/Company' SearchCompaniesResponse: type: object properties: TotalCount: $ref: '#/components/schemas/TotalCount' TotalPages: $ref: '#/components/schemas/TotalPages' Companies: type: array description: See Companies results. items: $ref: '#/components/schemas/Companies' Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Company: type: object properties: Id: type: integer description: The company's unique identifier. format: int32 Name: type: string description: The Name of the company ExternalId: type: string description: The External Id of the company nullable: true Description: type: string description: The Description of the company nullable: true OrganizationId: type: integer description: The Id of the Organization associated with this company format: int32 OwningUserId: type: integer description: The Id of the owning User (if any) associated with this company format: int32 nullable: true AssignableToUsers: type: boolean description: Indicates whether the Company is Assignable to Users Theme: type: string description: The name of the Theme to be used for the company nullable: true Address1: type: string description: The first Address line for a Company nullable: true Address2: type: string description: The second Address line for a Company nullable: true City: type: string description: The City for a Company nullable: true State: type: string description: 'The State for a Company (recommended use standard 2-character abbreviation, limit 50 characters)' nullable: true Zip: type: string description: The Zip code for a Company nullable: true Country: type: string description: 'The Country for a Company (recommended use standard 2-character abbreviation, limit 80 characters)' nullable: true Email: type: string description: The Email address for a Company nullable: true Phone: type: string description: The Phone number for a Company nullable: true Phone2: type: string description: The alternate Phone number for a Company nullable: true Fax: type: string description: The Fax number for a Company nullable: true WebSiteUrl: type: string description: The Web Site Url for a Company nullable: true CustomDropdown1: type: string description: The first Custom Dropdown list for a Company nullable: true CustomDropdown2: type: string description: The second Custom Dropdown list for a Company nullable: true Companies: type: object properties: Id: type: integer description: The company's unique identifier. format: int32 example: 123456789 OrganizationId: type: integer description: The Id of the Organization associated with this company format: int32 example: 951624 OrganizationName: type: string description: The Name of the Organization associated with this company example: ABC Organization Name: type: string description: The Name of the company example: ABC Training Company Description: type: string description: The Description of the company nullable: true example: The Description of the company ExternalId: type: string description: The External Id of the company nullable: true example: cmp123456 Address1: type: string description: The first Address line for a Company nullable: true example: Some street Address2: type: string description: The second Address line for a Company nullable: true example: Some avenue City: type: string description: The City for a Company nullable: true example: Grand Rapids State: type: string description: 'The State for a Company (recommended use standard 2-character abbreviation, limit 50 characters)' nullable: true example: MI Zip: type: string description: The Zip code for a Company nullable: true example: '123456' Country: type: string description: 'The Country for a Company (recommended use standard 2-character abbreviation, limit 80 characters)' nullable: true example: US Email: type: string description: The Email address for a Company nullable: true example: someemail@abccompany.com Phone: type: string description: The Phone number for a Company nullable: true example: 123-456-7890 Phone2: type: string description: The alternate Phone number for a Company nullable: true example: 555-654-9870 Fax: type: string description: The Fax number for a Company nullable: true example: 555-555-5555 WebSiteUrl: type: string description: The Web Site Url for a Company nullable: true example: 'https://sampleurl.com' Created: type: integer description: 'When the Company was created. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1449496820 LastModified: type: integer description: 'When the Company was last modified. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.' format: int64 example: 1584035105 SurveyResultResponse: type: object properties: Status: $ref: '#/components/schemas/Status' Error: $ref: '#/components/schemas/Error' Results: type: array description: See SurveyResult. items: $ref: '#/components/schemas/SurveyResult' SurveyResult: type: object properties: CourseId: type: integer description: The course's unique identifier. format: int32 example: 98669 ClassId: type: integer description: The class's unique identifier. format: int32 nullable: true example: 13324 Class: type: string description: The class's name. example: 1077A Administering Exams 401 ClassStartDate: type: string description: The class's start date. example: '2013-04-22T20:00:00Z' ClassEndDate: type: string description: The class's end date. example: '2013-04-27T06:00:00Z' InstructorName: type: string description: The instructor's name. example: John Doe InstructorEmail: type: string description: The instructor's email. example: john.doe@test.edu StudentName: type: string description: The student's name. example: Lesley Claypool StudentEmail: type: string description: The student's email. example: s.cheese@testemail.com QuestionsAndResponses: type: array description: A collection of answer and response pairs. items: $ref: '#/components/schemas/QuestionsAndResponse' QuestionsAndResponse: type: object properties: Question: type: string description: A survey question. example: did you like the class? Response: type: string description: A survey resonse. example: 'true' Status: type: integer description: |- Indicates the status of the API request. 0 = Success 10 = Error 20 = Not found 30 = Invalid integration key format: int32 example: 10 Error: type: string description: Error details. This will only have a value if an error was encountered. The status property will also be set to Error (10). nullable: true TotalCount: type: integer description: 'The total number of results that match the search conditions, not all of which may be in the current result set.' format: int32 example: 1 TotalPages: type: integer description: The total number of result pages that match the search conditions. format: int32 example: 1 RowsAffected: type: integer description: The number of database rows affected while removing all data. format: int32 example: 5 parameters: {} securitySchemes: api_key: type: apiKey name: api_key in: header description: ''