The Details command retrieves detailed information about a specified lab instance.
All methods require an API key, which must be obtained from Skillable. This key is used by Skillable to validate your account. The key can be passed as an HTTP request header with the header name "api_key".
The ID of the lab instance.
OK Response.
{
"Id": 360701,
"LabProfileId": 18100,
"LabProfileName": "01: Launch/Details Call",
"SeriesId": 10702,
"SeriesName": "API Examples",
"UserId": "11",
"UserFirstName": "Chad",
"UserLastName": "S",
"ClassId": null,
"ClassName": 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,
"MonitorUrl": null,
"DetailsUrl": "https://labondemand.com/LabInstance/360701",
"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": "2024-01-04",
"Correct": true
},
{
"AnswerId": 2860,
"AnswerText": "-1, -4",
"Correct": true
},
{
"AnswerId": 2861,
"AnswerText": "2024-02-02",
"Correct": true
}
],
"DisplayScriptsAsTaskList": false,
"AnswerTexts": [
{
"Correct": true,
"AnswerId": 2859,
"Text": "2024-01-04",
"Chosen": true
},
{
"Correct": true,
"AnswerId": 2860,
"Text": "-1, -4",
"Chosen": true
},
{
"Correct": true,
"AnswerId": 2861,
"Text": "2024-02-02",
"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,
"InstructionsId": "The ID of the Instructions used",
"Lang": "en",
"Error": null,
"Status": 1
}
The ID of the lab instance.
The ID of the lab profile.
The name of the lab profile.
The ID of the lab series.
The name of the lab series.
The ID you use to identify the user in your external system.
The user's first name.
The user's last name.
The user's email address.
The ID you use to identify the associated class in your external system.
The name of the class the lab instance is associated with.
When the lab was pre-instanced, if pre-instancing occurred (in Unix epoch time).
When the lab was started (in Unix epoch time).
When the lab was started (in Unix epoch time).
When the lab expires (in Unix epoch time).
When the lab expires (in Unix epoch time).
When the lab ended (in Unix epoch time).
When the lab ended (in Unix epoch time).
When student activity was last detected (in Unix epoch time).
When student activity was last detected (in Unix epoch time).
When the lab was last saved (in Unix epoch time).
When the lab was last saved (in Unix epoch time).
If the lab instance is saved, when the saved data will expire and be deleted (in Unix epoch time).
If the lab instance is saved, when the saved data will expire and be deleted (in Unix epoch time).
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
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
If the lab contains a virtual machine pool, the name of the pool member that was used.
The ID of the lab host machine.
The name of the lab host machine.
The ID of the datacenter where the lab is located.
The name of the datacenter where the lab is located.
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.
The name of the delivery region where the lab is located.
The platform the lab has hosted on. Possible values:
2 = Hyper-V
3 = ESX
20 = Docker
-1 = None
If the lab is currently saved, what triggered the save operation. Possible values:
Unknown
By Student
By Administrator
Automatic
From API Consumer
The total number of seconds the user spent in the lab.
The total number of seconds the lab was running, whether or not the student was present.
The total number of seconds remaining before the lab expires.
The name of the instructor for the associated class.
The number of seconds it took the lab to start.
An array of all errors associated with the lab instance.
An array of snapshots created by the user within the lab. This contains an array of LabInstanceSnapshot objects.
The name that the student gave to the snapshot.
When the student created the snapshot (in Unix epoch time).
An array of session times the student spent in the lab. This contains an array of LabInstanceSnapshot objects.
When the session started (in Unix epoch time).
When the session ended (in Unix epoch time).
Array of notes applicable to the lab instance.
Indicates whether the lab has content, or simply houses virtual machines.
If the lab has content (HasContent=true), indicates the name of the task the student is working on.
If the lab has content (HasContent=true), indicates the name of the exercise the student is working on.
If the lab has content (HasContent=true), indicates the total number of tasks in the lab.
If the lab has content (HasContent=true), indicates the number of tasks the student has completed.
If the lab has content (HasContent=true), indicates the percentage of tasks that the student has completed.
This response property is deprecated. Unless explicitly allowed by Skillable, this field will always be null.
To obtain an access URL, use the LabMonitorUrl command.
The URL at which the lab instance details can be reviewed (required authentication to view).
The name of the remote controller used by the user.
Lab instance tag data.
The browser user agent used by the user.
The last known latency value as measured between the client and the lab's datacenter.
Indicates whether the user passed the lab. Will only be set if the lab has activities which have been scored.
Indicates the lab score. Will only be set if the lab has activities which have been scored.
Indicates the maximum possible score of the lab. Will only be set if the lab has activities which have been scored.
Indicates the minimum score required to pass the lab. Will only be set if the lab has activities which have been scored.
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.
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.
Legacy Field from previous scoring engine.
The date the lab was scored (in Unix epoch time).
When the lab was scored (in Unix epoch time). Will only be set if the lab has activities which have been scored.
Indicates whether the lab is scored.
The user's IP address. This is only included if the IP address was provided when the lab was launched.
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.
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.
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.
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.
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.
An array of public IP address information objects. This contains an array of IpAddressInfo objects.
An IP address.
The MAC address of the NIC that the IP address was assigned to.
The name of the virtual machine instance that the IP address was assigned to.
An array of credentials assigned to the lab instance. This contains an array of CloudCredential objects.
Json serialized properties for the credentials, as defined in the cloud credential pool.
When the credentials expire (in Unix epoch time).
Friendly credential name displayed in the lab user interface.
An array of credentials assigned to the lab instance. This contains an array of CloudPortalCredential objects.
The ID of the cloud platform to which the credentials belong.
10 = Azure
11 = AWS
Json serialized properties for the credentials.
An array of credentials used to access the virtual machines. This contains an array of VirtualMachineCredential objects.
ID of the virtual machine.
Name of the virtual machine.
Username used to accces the virtual machine.
Password used to access the virtual machine.
The ID of the cloud platform. Possible values:
10 = Azure
11 = AWS
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.
An array of results for activities displayed in the lab instance. This contains an array of ActivityResult objects.
ID of the Activity.
Name of the Activity.
Whether the activity is scored.
The Score received by the student.
Whether the student received a passing score on the activity.
0 = Multiple choice, single answer
10 = Multiple choice, multiple answer
20 = Short answer, exact match
30 = Short answer, regex match
40 = Automated Activity
The answer given by a student for Short Answer type questions.
The response given to the student if specified in the question Answer Feedback.
A collection of the answers available in single-answer activities.
A collection of the results of the an automated activity. Includes Script ID, Score, Passing Status, UiResponse, ScriptResponse, PlatformError, and ScriptError.
Whether automated activities are scored as a TaskList or individually.
A collection of the answers available in multi- answer activities.
The Activity ID and Text displayed in the Task List if Task List is enabled on the activity.
Whether results of the script are shown on the lab instance.
The list of skills assigned to the lab activity and their basic details.
The unique identifier of the skill.
The optional external unique idf
The name of the skill.
The unique identifier of the framework for this skill.
The name of the framework for this skill.
An array of results for activities displayed in the lab instance Activity Group. This contains an array of ActivityResult objects.
ID of the Activity Group.
Name of the Activity Group.
The maximum score for the Activity Group.
The resultant score the of the Activity Group.
An array of results for activities displayed in the lab instance Activity Group. This contains an array of ActivityResult objects.
ID of the Activity.
Name of the Activity.
Whether the activity is scored.
The Score received by the student.
Whether the student received a passing score on the activity.
0 = Multiple choice, single answer
10 = Multiple choice, multiple answer
20 = Short answer, exact match
30 = Short answer, regex match
40 = Automated Activity
The answer given by a student for Short Answer type questions.
The response given to the student if specified in the question Answer Feedback.
A collection of the answers available in single-answer activities.
A collection of the results of the an automated activity. Includes Script ID, Score, Passing Status, UiResponse, ScriptResponse, PlatformError, and ScriptError.
Whether automated activities are scored as a TaskList or individually.
A collection of the answers available in multi- answer activities.
The Activity ID and Text displayed in the Task List if Task List is enabled on the activity.
Whether results of the script are shown on the lab instance.
The list of skills assigned to the lab activity and their basic details.
The unique identifier of the skill.
The optional external unique identifier of the skill.
The name of the skill.
The unique identifier of the framework for this skill.
The name of the framework for this skill.
An estimated number of seconds before the lab is ready.
The ID of the Instructions used
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
The list of skills assigned to the lab profile and their basic details.
The unique identifier of the skill.
The optional external identifier of the skill.
The name of the skill.
The unique identifier of the framework for this skill.
The name of the framework for this skill.
In the event of an error, this will contain a detailed error message.
Indicates the status of the API request.
0 = Error
1 = Success