Retrieve details about a lab instance

Get
/details

The Details command retrieves detailed information about a specified lab instance.

Security
API Key
Header parameter nameapi_key

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".

Query parameters
labinstanceid
integer (int64) Required

The ID of the lab instance.

Example360701
Responses
200

OK Response.

Example of the details returned from a specific lab instance
{
  "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
}
Expand All
object
Id
integer (int64)

The ID of the lab instance.

LabProfileId
integer (int32)

The ID of the lab profile.

LabProfileName
string

The name of the lab profile.

SeriesId
integer (int32) | null

The ID of the lab series.

SeriesName
string | null

The name of the lab series.

UserId
string

The ID you use to identify the user in your external system.

UserFirstName
string

The user's first name.

UserLastName
string

The user's last name.

UserEmail
string | null

The user's email address.

ClassId
string | null

The ID you use to identify the associated class in your external system.

ClassName
string | null

The name of the class the lab instance is associated with.

PreinstanceStartTime
integer (int64)

When the lab was pre-instanced, if pre-instancing occurred (in Unix epoch time).

Start
integer (int64)

When the lab was started (in Unix epoch time).

StartTime
string

When the lab was started (in Unix epoch time).

Expires
integer (int64)

When the lab expires (in Unix epoch time).

ExpiresTime
string

When the lab expires (in Unix epoch time).

End
integer (int64) | null

When the lab ended (in Unix epoch time).

EndTime
string | null

When the lab ended (in Unix epoch time).

LastActivity
integer (int64) | null

When student activity was last detected (in Unix epoch time).

LastActivityTime
string | null

When student activity was last detected (in Unix epoch time).

LastSave
integer (int64) | null

When the lab was last saved (in Unix epoch time).

LastSaveTime
string | null

When the lab was last saved (in Unix epoch time).

SaveExpires
integer (int64) | null

If the lab instance is saved, when the saved data will expire and be deleted (in Unix epoch time).

SaveExpiresTime
string | null

If the lab instance is saved, when the saved data will expire and be deleted (in Unix epoch time).

State
string

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
string

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
string | null

If the lab contains a virtual machine pool, the name of the pool member that was used.

LabHostId
integer (int32)

The ID of the lab host machine.

LabHostName
string

The name of the lab host machine.

DatacenterId
integer (int32)

The ID of the datacenter where the lab is located.

DatacenterName
string

The name of the datacenter where the lab is located.

DeliveryRegionId
integer (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.

DeliveryRegionName
string

The name of the delivery region where the lab is located.

PlatformId
integer (int32)

The platform the lab has hosted on. Possible values:
2 = Hyper-V
3 = ESX
20 = Docker
-1 = None

LastSaveTriggerType
string | null

If the lab is currently saved, what triggered the save operation. Possible values:
Unknown
By Student
By Administrator
Automatic
From API Consumer

TimeInSession
integer (int32)

The total number of seconds the user spent in the lab.

TotalRunTime
integer (int32)

The total number of seconds the lab was running, whether or not the student was present.

TimeRemaining
integer (int32)

The total number of seconds remaining before the lab expires.

InstructorName
string | null

The name of the instructor for the associated class.

StartupDuration
integer (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
Name
string

The name that the student gave to the snapshot.

Time
integer (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
Start
integer (int64)

When the session started (in Unix epoch time).

StartTime
string
End
integer | null

When the session ended (in Unix epoch time).

EndTime
string
Notes
Array of object

Array of notes applicable to the lab instance.

object
Time
integer
TimeValue
string
Title
string
Text
string
HasContent
boolean

Indicates whether the lab has content, or simply houses virtual machines.

Task
string | null

If the lab has content (HasContent=true), indicates the name of the task the student is working on.

Exercise
string | null

If the lab has content (HasContent=true), indicates the name of the exercise the student is working on.

NumTasks
integer (int32)

If the lab has content (HasContent=true), indicates the total number of tasks in the lab.

NumCompletedTasks
integer (int32)

If the lab has content (HasContent=true), indicates the number of tasks the student has completed.

TaskCompletePercent
integer (int32)

If the lab has content (HasContent=true), indicates the percentage of tasks that the student has completed.

MonitorUrl
string | null

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.

DetailsUrl
string

The URL at which the lab instance details can be reviewed (required authentication to view).

RemoteController
string

The name of the remote controller used by the user.

Tag
string | null

Lab instance tag data.

BrowserUserAgent
string | null

The browser user agent used by the user.

LastLatency
integer (int32) | null

The last known latency value as measured between the client and the lab's datacenter.

ExamPassed
boolean | null

Indicates whether the user passed the lab. Will only be set if the lab has activities which have been scored.

ExamScore
number (float) | null

Indicates the lab score. Will only be set if the lab has activities which have been scored.

ExamMaxPossibleScore
integer (int32) | null

Indicates the maximum possible score of the lab. Will only be set if the lab has activities which have been scored.

ExamPassingScore
integer (int32) | null

Indicates the minimum score required to pass the lab. Will only be set if the lab has activities which have been scored.

ExamScoredById
integer (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.

ExamScoredByName
string | 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.

ExamDetails
string | null

Legacy Field from previous scoring engine.

ExamScoredDate
integer (int64) | null

The date the lab was scored (in Unix epoch time).

ExamScoredTime
string | null

When the lab was scored (in Unix epoch time). Will only be set if the lab has activities which have been scored.

IsExam
boolean

Indicates whether the lab is scored.

IpAddress
string | null

The user's IP address. This is only included if the IP address was provided when the lab was launched.

Country
string | 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.

Region
string | 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.

City
string | 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.

Latitude
number (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.

Longitude
number (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
IpAddress
string

An IP address.

MacAddress
string

The MAC address of the NIC that the IP address was assigned to.

MachineInstanceName
string

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
PropertiesJson
string

Json serialized properties for the credentials, as defined in the cloud credential pool.

Expires
integer (int64)

When the credentials expire (in Unix epoch time).

DisplayName
string

Friendly credential name displayed in the lab user interface.

Message
string | null
CloudPortalCredentials
Array of object

An array of credentials assigned to the lab instance. This contains an array of CloudPortalCredential objects.

object
CloudPlatform
integer (int32)

The ID of the cloud platform to which the credentials belong.
10 = Azure
11 = AWS

PropertiesJson
string

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
Id
integer (int32)

ID of the virtual machine.

Name
string

Name of the virtual machine.

Username
string

Username used to accces the virtual machine.

Password
string

Password used to access the virtual machine.

CloudPlatformId
integer (int32) | null

The ID of the cloud platform. Possible values:
10 = Azure
11 = AWS

ClientUrl
string | 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
ActivityId
integer (int32)

ID of the Activity.

ActivityName
string

Name of the Activity.

Scored
boolean

Whether the activity is scored.

Score
number (float)

The Score received by the student.

Passed
boolean

Whether the student received a passing score on the activity.

ActivityType
integer (int32)

0 = Multiple choice, single answer
10 = Multiple choice, multiple answer
20 = Short answer, exact match
30 = Short answer, regex match
40 = Automated Activity

TextResult
string | null

The answer given by a student for Short Answer type questions.

UiResponse
string | 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
AnswerId
integer (int32)
AnswerText
string
Correct
boolean
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
DisplayScriptsAsTaskList
boolean

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
Correct
boolean
AnswerId
integer (int32)
Text
string
Chosen
boolean
ScriptTexts
Array of object

The Activity ID and Text displayed in the Task List if Task List is enabled on the activity.

object
ShowResultsInReports
boolean

Whether results of the script are shown on the lab instance.

Skills
Array of object

The list of skills assigned to the lab activity and their basic details.

object
Id
integer

The unique identifier of the skill.

ExternalId
string | null

The optional external unique idf

Name
string

The name of the skill.

FrameworkId
integer

The unique identifier of the framework for this skill.

FrameworkName
string

The name of the framework for this skill.

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
Id
integer (int32)

ID of the Activity Group.

Name
string

Name of the Activity Group.

ScoreValueTotal
number (float)

The maximum score for the Activity Group.

AggregateScore
number (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
ActivityId
integer (int32)

ID of the Activity.

ActivityName
string

Name of the Activity.

Scored
boolean

Whether the activity is scored.

Score
integer

The Score received by the student.

Passed
boolean

Whether the student received a passing score on the activity.

ActivityType
integer

0 = Multiple choice, single answer
10 = Multiple choice, multiple answer
20 = Short answer, exact match
30 = Short answer, regex match
40 = Automated Activity

TextResult
string

The answer given by a student for Short Answer type questions.

UiResponse
string

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
DisplayScriptsAsTaskList
boolean

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
ShowResultsInReports
boolean

Whether results of the script are shown on the lab instance.

Skills
Array of object

The list of skills assigned to the lab activity and their basic details.

object
Id
integer (int32)

The unique identifier of the skill.

ExternalId
string | null

The optional external unique identifier of the skill.

Name
string

The name of the skill.

FrameworkId
integer

The unique identifier of the framework for this skill.

FrameworkName
string

The name of the framework for this skill.

EstimatedReadySeconds
integer (int32) | null

An estimated number of seconds before the lab is ready.

InstructionsId
string | null

The ID of the Instructions used

Lang
string | 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

Skills
Array of object

The list of skills assigned to the lab profile and their basic details.

object
Id
integer

The unique identifier of the skill.

ExternalId
string | null

The optional external identifier of the skill.

Name
string

The name of the skill.

FrameworkId
integer

The unique identifier of the framework for this skill.

FrameworkName
string

The name of the framework for this skill.

Error
string | null

In the event of an error, this will contain a detailed error message.

Status
integer (int32)

Indicates the status of the API request.
0 = Error
1 = Success