POST /api/v3/class

Creates a class

Request Path

POST /api/v3/class

Request Payload

{
"name": "my new class",
"projectId": "PR_El-YqX0AvUr_p3TgD-wtg2",
"blueprintId": "BPvY9ME2CJ8dg-TyTeUvcKzw2",
"policyId": "POstwZpTbLpqpGR2yI4cbGOw2",
"instructorVupId": "VPmIJNV_kFBDLrveM0Gmr5ug2",
"timeZoneId": "Eastern Standard Time",
"regionId": "REKolD1-ab84YIxODeMGob9A2",
"startDate": "02/11/2015 12:00 AM",
"studentPassphrase": "super secret password",
"useCustomInvitationEmail": false,
"customInvitationEmailSubject": null,
"customInvitationEmailBody": null,
"limitEarlyAccess": 0,
"permitAccessToNonRegisteredStudent": true,
"maxStudents": 5,
"address": {
"state": "Alabama",
"address1": "3000 Foggy Woods",
"address2": "",
"zipCode": "002233",
"city": "Gravity",
"country": "United States"
},
"customFieldsValues": [{
"id": "TFTQBKbIH5V2br3eiEdxW9-g2",
"order": 1,
"name": "clientId",
"type": 0,
"isRequired": false,
"regex": {},
"defaultValue": null,
"value": "1234"
}],
"enableSteps": true,
"studentsCanSwitchStep": false,
"steps":[
{
"blueprintId": "BP1q3qKTtuaFRPphjvonhPCg2",
"isDefault": false
},
{
"blueprintId": "BPIfZ9NnTBVXzCdTOFys8Kbw2",
"isDefault": true
},
{
"blueprintId": "BPjCfVvbCEROb36aAe8mM78w2",
"isDefault": false
}
],
"selfPaced": false,
"allowMultipleStudentLogin": true,
"allowAudioVideo": false,
"shareInstructorCloudFolderWithAllStudents": false,
}

Parameters

Name A name for the class
PolicyId The ID of the policy to apply to the class. The policy will control the runtime and storage time of each student’s environment and what will happen to the environment when it is inactive. To retrieve policies, use GET /api/v3/projects/ID/policies
BlueprintId The ID of the blueprint to base the class on. Students who attend the class will be served environments based on this blueprint. To retrieve blueprint IDs, use GET /api/v3/projects/ID/blueprints)
ProjectId The ID of the project in which the class will be created. The specified blueprint and instructor must be from the same project. To retrieve project IDs, use GET /api/v3/projects
InstructorVupId The ID of the project member user to assign to the class as the instructor. To retrieve available instructor IDs, use GET /api/v3/class/actions/instructors
RegionId The ID of the region the class should be created in. To retrieve available region IDs, use GET /api/v3/regions.
StartDate The date and time at which to start the class, in MM/DD/YYYY hh:MM AM/PM format.
EndDate Optional. The date and time to end the class, in MM/DD/YYYY hh:MM AM/PM format. If not specified, the end date will be set to the selected Environment Policy’s storage lease starting from StartDate.
TimeZoneId The ID of the timezone for the startDate. To retrieve valid timezone IDs, use GET /api/v3/timezones
StudentPassphrase The passphrase that students will need to enter in order to attend the class
UseCustomInvitationEmail Boolean. Whether or not the student invitation email is customized.

  • True. A customized student invitation email will be used when students are sent invitations to attend class.
  • False. The default student invitation email will be used when students are sent invitation emails to this class.
LimitEarlyAccess Numeric. This option controls access by students and instructor to a lab before scheduled class time. Possible values:

  • 0. Allow lab access before class (default).
    Students can access the lab up to 30 minutes prior to class start. The class instructor has access to a lab.
  • 1. Allow lab access before class for instructor only.
    Students do not have access to their lab before class start time. The class instructor has access to a lab.
  • 2. No early access allowed.
    Students do not have access to their lab before class start time. The class instructor will not be able to create an Instructor Environment prior to class start.
CustomInvitationEmailSubject String. The subject line of the custom student invitation email. Used if UseCustomInvitationEmail is set to true.
CustomInvitationEmailBody
PermitAccessToNonRegisteredStudent Boolean. Whether to permit users to self register as students for the class.

  • true. Any unregistered user who has the class link and passphrase will be able to enter the class. They will be required to provide their email, first name and last name and will be added as students to the class.
  • false. Only users who are added to the class by project member users will be able to enter the class.
MaxStudents Numeric. The maximum number of students allowed in the class (can be null). Maximum value: 60
address The location of the class. Includes:

  • state. String. Optional
  • address1. String. Optional
  • address2. String. Optional
  • zipCode. String. Optional
  • city. String. Optional
  • country. To retrieve valid values for country, use GET /api/v3/class/actions/countries
CustomFieldsValues Specifies input values for custom fields defined for class creation in the project. Mandatory if project forces validation of custom fields. Fields and valid values depend on custom fields structure for the project. To retrieve custom fields structure for the project, use GET /api/v3/class/actions/customfields
enableSteps Optional. Boolean. Enables the class to have multiple steps. A class with multiple steps provides students with a different environment for each of several stages in the class. If enabled,enableSteps must be used to specify which blueprint to use for each step and which step to start the class with.

  • true. The class is a multi-step class.
    • false (Default). The class is not multi-step.
    • .

StudentsCanSwitchStep Boolean. Whether students can change steps independently. Applies when enableSteps is set to true.
steps Optional. A list of class steps for a multi-step class. Must be provided if enableSteps is set to true.
For each class step, specify:

  • blueprintId. The ID of the blueprint to use for the step. To retrieve blueprint IDs, use GET /api/v3/projects/ID/blueprints
  • isDefault. Boolean. Whether the step is the first step in the class. Must be set to true for exactly one step.
selfPaced Optional. Boolean. Creates a Self-Paced Class that allows a student to enter class at a time convenient to them.

  • true. The class is a self-paced class.
  • false (Default). The class is an Instructor-led class.
allowMultipleStudentLogin Optional. Boolean. When set to true, allows for more than one environment activation per student.
allowAudioVideo Optional. Boolean. When set to true, allows in-app video conferencing to be initiated during an instructor-led class.
shareInstructorCloudFolderWithAllStudents Optional. Boolean. When set to true, the Instructors’ cloud folders will be shared on all student VMs.

Response Example

{
"id":"CO5aHfpPUDIoqhFQuZi6ZpOA2"
}

Response Properties Notes

id The ID of the class