---
title: "Retrieve details about a lab instance based on the TMS Lab Instance Id."
slug: "retrieve-details-about-a-lab-instance-based-on-the-tms-lab-instance-id"
updated: 2024-10-25T18:04:27Z
published: 2026-02-10T22:32:35Z
canonical: "docs.skillable.com/retrieve-details-about-a-lab-instance-based-on-the-tms-lab-instance-id"
---
> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skillable.com/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieve details about a lab instance based on the TMS Lab Instance Id.
Get/GetLabInstanceDetails
The **GetLabInstanceDetails** command retrieves detailed information about a specified TMS lab instance using the TMS Lab Instance Id.
SecurityAPI Key: api_keyHeader parameter nameapi_key
Query parameterslabinstanceidinteger (int64) Required
The TMS ID of the lab instance.
Example360701
Responses200
OK Response.
Example of the details returned from a specific lab instance
```json
{
"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": "2026-01-04",
"Correct": true
},
{
"AnswerId": 2860,
"AnswerText": "-1, -4",
"Correct": true
},
{
"AnswerId": 2861,
"AnswerText": "2026-02-02",
"Correct": true
}
],
"DisplayScriptsAsTaskList": false,
"AnswerTexts": [
{
"Correct": true,
"AnswerId": 2859,
"Text": "2026-01-04",
"Chosen": true
},
{
"Correct": true,
"AnswerId": 2860,
"Text": "-1, -4",
"Chosen": true
},
{
"Correct": true,
"AnswerId": 2861,
"Text": "2026-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,
"InstructionsSetId": "The ID of the Instructions used",
"Language": "en",
"Error": null,
"Status": 1
}
```
Expand Allobject Idinteger (int64)
The TMS ID of the lab instance.
LabIdinteger (int32)
The TMS ID of the lab.
LabNamestring
The TMS name of the lab.
SeriesIdinteger (int32) | null
The ID of the lab series.
SeriesNamestring | null
The name of the lab series.
UserIdstring
The ID you use to identify the user in your external system.
UserFirstNamestring
The user's first name.
UserLastNamestring
The user's last name.
ClassIdstring | null
The ID of the class the lab instance is associated with.
ClassNamestring | null
The name of the class the lab instance is associated with.
AssignmentIdstring | null
The ID of the class assignment the lab instance is associated with.
Startinteger (int64)
When the lab was started (in Unix epoch time).
StartTimestring
When the lab was started (in Unix epoch time).
Expiresinteger (int64)
When the lab expires (in Unix epoch time).
ExpiresTimestring
When the lab expires (in Unix epoch time).
Endinteger (int64) | null
When the lab ended (in Unix epoch time).
EndTimestring | null
When the lab ended (in Unix epoch time).
LastActivityinteger (int64) | null
When student activity was last detected (in Unix epoch time).
LastActivityTimestring | null
When student activity was last detected (in Unix epoch time).
LastSaveinteger (int64) | null
When the lab was last saved (in Unix epoch time).
LastSaveTimestring | null
When the lab was last saved (in Unix epoch time).
SaveExpiresinteger (int64) | null
If the lab instance is saved, when the saved data will expire and be deleted (in Unix epoch time).
SaveExpiresTimestring | null
If the lab instance is saved, when the saved data will expire and be deleted (in Unix epoch time).
Statestring
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
CompletionStatusstring
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
PoolMemberNamestring | null
If the lab contains a virtual machine pool, the name of the pool member that was used.
LabHostIdinteger (int32)
The ID of the lab host machine.
LabHostNamestring
The name of the lab host machine.
DatacenterIdinteger (int32)
The ID of the datacenter where the lab is located.
DatacenterNamestring
The name of the datacenter where the lab is located.
DeliveryRegionIdinteger (int32)
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.
DeliveryRegionNamestring
The name of the delivery region where the lab is located.
PlatformIdinteger (int32)
The platform the lab has hosted on. Possible values: 2 = Hyper-V 3 = ESX 20 = Docker -1 = None
LastSaveTriggerTypestring | null
If the lab is currently saved, what triggered the save operation. Possible values: Unknown By Student By Administrator Automatic From API Consumer
TimeInSessioninteger (int32)
The total number of seconds the user spent in the lab.
TotalRunTimeinteger (int32)
The total number of seconds the lab was running, whether or not the student was present.
TimeRemaininginteger (int32)
The total number of seconds remaining before the lab expires.
InstructorNamestring | null
The name of the instructor for the associated class.
StartupDurationinteger (int32) | null
The number of seconds it took the lab to start.
Errors Array of object
An array of all errors associated with the lab instance.
object
Snapshots Array of object
An array of snapshots created by the user within the lab. This contains an array of LabInstanceSnapshot objects.
object Namestring
The name that the student gave to the snapshot.
Timeinteger (int64)
When the student created the snapshot (in Unix epoch time).
Sessions Array of object
An array of session times the student spent in the lab. This contains an array of LabInstanceSnapshot objects.
object Startinteger (int64)
When the session started (in Unix epoch time).
StartTimestring
Endinteger | null
When the session ended (in Unix epoch time).
EndTimestring
Notes Array of object
Array of notes applicable to the lab instance.
object Timeinteger
TimeValuestring
Titlestring
Textstring
HasContentboolean
Indicates whether the lab has content, or simply houses virtual machines.
Taskstring | null
If the lab has content (HasContent=true), indicates the name of the task the student is working on.
Exercisestring | null
If the lab has content (HasContent=true), indicates the name of the exercise the student is working on.
NumTasksinteger (int32)
If the lab has content (HasContent=true), indicates the total number of tasks in the lab.
NumCompletedTasksinteger (int32)
If the lab has content (HasContent=true), indicates the number of tasks the student has completed.
TaskCompletePercentinteger (int32)
If the lab has content (HasContent=true), indicates the percentage of tasks that the student has completed.
RemoteControllerstring
The name of the remote controller used by the user.
Tagstring | null
Lab instance tag data.
BrowserUserAgentstring | null
The browser user agent used by the user.
LastLatencyinteger (int32) | null
The last known latency value as measured between the client and the lab's datacenter.
ExamPassedboolean | null
Indicates whether the user passed the lab. Will only be set if the lab has activities which have been scored.
ExamScoreinteger (int32) | null
Indicates the lab score. Will only be set if the lab has activities which have been scored.
ExamMaxPossibleScoreinteger (int32) | null
Indicates the maximum possible score of the lab. Will only be set if the lab has activities which have been scored.
ExamPassingScoreinteger (int32) | null
Indicates the minimum score required to pass the lab. Will only be set if the lab has activities which have been scored.
ExamScoredByIdinteger (int64) | null
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.
ExamScoredByNamestring | null
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.
ExamDetailsstring | null
Legacy Field from previous scoring engine.
ExamScoredDateinteger (int64) | null
The date the lab was scored (in Unix epoch time).
ExamScoredTimestring | null
When the lab was scored (in Unix epoch time). Will only be set if the lab has activities which have been scored.
IsExamboolean
Indicates whether the lab is scored.
IpAddressstring | null
The user's IP address. This is only included if the IP address was provided when the lab was launched.
Countrystring | null
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.
Regionstring | null
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.
Citystring | null
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.
Latitudenumber (float) | null
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.
Longitudenumber (float) | null
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.
PublicIpAddresses Array of object
An array of public IP address information objects. This contains an array of IpAddressInfo objects.
object IpAddressstring
An IP address.
MacAddressstring
The MAC address of the NIC that the IP address was assigned to.
MachineInstanceNamestring
The name of the virtual machine instance that the IP address was assigned to.
CloudCredentials Array of object
An array of credentials assigned to the lab instance. This contains an array of CloudCredential objects.
object PropertiesJsonstring
Json serialized properties for the credentials, as defined in the cloud credential pool.
Expiresinteger (int64)
When the credentials expire (in Unix epoch time).
DisplayNamestring
Friendly credential name displayed in the lab user interface.
Messagestring | null
CloudPortalCredentials Array of object
An array of credentials assigned to the lab instance. This contains an array of CloudPortalCredential objects.
object CloudPlatforminteger (int32)
The ID of the cloud platform to which the credentials belong. 10 = Azure 11 = AWS
PropertiesJsonstring
Json serialized properties for the credentials.
VirtualMachineCredentials Array of object
An array of credentials used to access the virtual machines. This contains an array of VirtualMachineCredential objects.
object Idinteger (int32)
ID of the virtual machine.
Namestring
Name of the virtual machine.
Usernamestring
Username used to accces the virtual machine.
Passwordstring
Password used to access the virtual machine.
CloudPlatformIdinteger (int32) | null
The ID of the cloud platform. Possible values: 10 = Azure 11 = AWS
ClientUrlstring | null
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.
ActivityResults Array of object
An array of results for activities displayed in the lab instance. This contains an array of ActivityResult objects.
object ActivityIdinteger (int32)
ID of the Activity.
ActivityNamestring
Name of the Activity.
Scoredboolean
Whether the activity is scored.
Scorenumber (float)
The Score received by the student.
Passedboolean
Whether the student received a passing score on the activity.
ActivityTypeinteger (int32)
0 = Multiple choice, single answer 10 = Multiple choice, multiple answer 20 = Short answer, exact match 30 = Short answer, regex match 40 = Automated Activity
TextResultstring | null
The answer given by a student for Short Answer type questions.
UiResponsestring | null
The response given to the student if specified in the question Answer Feedback.
AnswerResults Array of object
A collection of the answers available in single-answer activities.
object AnswerIdinteger (int32)
AnswerTextstring
Correctboolean
ScriptResults Array of object
A collection of the results of the an automated activity. Includes Script ID, Score, Passing Status, UiResponse, ScriptResponse, PlatformError, and ScriptError.
object
DisplayScriptsAsTaskListboolean
Whether automated activities are scored as a TaskList or individually.
AnswerTexts Array of object
A collection of the answers available in multi- answer activities.
object Correctboolean
AnswerIdinteger (int32)
Textstring
Chosenboolean
ScriptTexts Array of object
The Activity ID and Text displayed in the Task List if Task List is enabled on the activity.
object
ShowResultsInReportsboolean
Whether results of the script are shown on the lab instance.
ActivityGroupResults Array of object
An array of results for activities displayed in the lab instance Activity Group. This contains an array of ActivityResult objects.
object Idinteger (int32)
ID of the Activity Group.
Namestring
Name of the Activity Group.
ScoreValueTotalnumber (float)
The maximum score for the Activity Group.
AggregateScorenumber (float)
The resultant score the of the Activity Group.
ActivityResults Array of object
An array of results for activities displayed in the lab instance Activity Group. This contains an array of ActivityResult objects.
object ActivityIdinteger (int32)
ID of the Activity.
ActivityNamestring
Name of the Activity.
Scoredboolean
Whether the activity is scored.
Scoreinteger
The Score received by the student.
Passedboolean
Whether the student received a passing score on the activity.
ActivityTypeinteger
0 = Multiple choice, single answer 10 = Multiple choice, multiple answer 20 = Short answer, exact match 30 = Short answer, regex match 40 = Automated Activity
TextResultstring
The answer given by a student for Short Answer type questions.
UiResponsestring
The response given to the student if specified in the question Answer Feedback.
AnswerResults Array of object
A collection of the answers available in single-answer activities.
object
ScriptResults Array of object
A collection of the results of the an automated activity. Includes Script ID, Score, Passing Status, UiResponse, ScriptResponse, PlatformError, and ScriptError.
object
DisplayScriptsAsTaskListboolean
Whether automated activities are scored as a TaskList or individually.
AnswerTexts Array of object
A collection of the answers available in multi- answer activities.
object string
ScriptTexts Array of object
The Activity ID and Text displayed in the Task List if Task List is enabled on the activity.
object
ShowResultsInReportsboolean
Whether results of the script are shown on the lab instance.
EstimatedReadySecondsinteger (int32) | null
An estimated number of seconds before the lab is ready.
InstructionsSetIdstring | null
The ID of the Instructions Set used.
Languagestring | null
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
Errorstring | null
In the event of an error, this will contain a detailed error message.
Statusinteger (int32)
Indicates the status of the API request. 0 = Error 1 = Success