Returns all lab series, lab profiles, and delivery regions available to your organization

Prev Next
Get
/catalog

The Catalog command will return all lab series, lab profiles, and delivery regions available to your organization. Lab profiles are generally grouped into series. Depending on your organization, you may have multiple physical delivery regions available to you.

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

This parameter can usually be ignored. When not included (or passed as any value except 1), labs that are not currently available for launch will not be included in catalog results. If you want to include all lab profiles, regardless of whether they are enabled or are developmentally complete, you can pass includeAll=1.

Example1
LabSeriesID
integer (int32)

By providing a LabSeriesID, the response will be filtered so that only lab profiles within the specified lab series will be returned.

Example123456
OrganizationID
integer (int32)

By providing an OrganizationID, the response will be filtered so that only lab profiles belonging to the specified organization will be returned. Typically omitted.

Example3
tag
array of string

By providing a Tag, the response will be filtered so that only lab profiles within the specified lab series defined with the identified tag will be returned. Multiple Tag parameters can be defined.

Example[ "mytag1", "mytag2" ]
LabSeriesCreatedAfter
integer (int64)

The date/time (in Unix epoch time) that the Lab Series was created after.

Example1598465099
LabSeriesCreatedBefore
integer (int64)

The date/time (in Unix epoch time) that the Lab Series was created before.

Example1598465099
LabSeriesModifiedAfter
integer (int64)

The date/time (in Unix epoch time) that the Lab Series was modified after.

Example1598465099
LabSeriesModifiedBefore
integer (int64)

The date/time (in Unix epoch time) that the Lab Series was modified before.

Example1598465099
LabProfileCreatedAfter
integer (int64)

The date/time (in Unix epoch time) that the Lab Profile was created after.

Example1598465099
LabProfileCreatedBefore
integer (int64)

The date/time (in Unix epoch time) that the Lab Profile was created before.

Example1598465099
LabProfileModifiedAfter
integer (int64)

The date/time (in Unix epoch time) that the Lab Profile was modified after.

Example1598465099
LabProfileModifiedBefore
integer (int64)

The date/time (in Unix epoch time) that the Lab Profile was modified before.

Example1598465099
Responses
200

OK Response

Example of successfully retrieving a catalog
{
  "LabSeries": [
    {
      "Id": 1,
      "Name": "Demo Series 1",
      "Description": "A demo lab series.",
      "NumTrainingDays": 5,
      "AllowAssignments": true,
      "AllowAssignmentsUntil": "/Date(1534438041470)/",
      "Created": 1689505754000,
      "LastModified": 1692886226000
    },
    {
      "Id": 2,
      "Name": "Demo Series 2",
      "Description": "Another demo lab series.",
      "NumTrainingDays": 5,
      "AllowAssignments": false,
      "AllowAssignmentsUntil": null,
      "Created": 1689505754000,
      "LastModified": 1692886226000
    }
  ],
  "LabProfiles": [
    {
      "Id": 1,
      "Name": "Demo Lab 1",
      "Number": " Module 1",
      "Description": "A demo lab.",
      "SeriesId": 1,
      "OrganizationId": 5,
      "Objective": "This is the HTML-formatted objective of the lab",
      "Scenario": " This is the HTML-formatted scenario of the lab",
      "DurationMinutes": 360,
      "ExpectedDurationMinutes": 360,
      "ResourceUnits": 11.25,
      "PlatformId": 2,
      "SharedClassEnvironmentRoleId": 0,
      "SharedClassEnvironmentLabProfileId": 5,
      "UsesRdp": false,
      "Ram": 8192,
      "Enabled": true,
      "ReasonDisabled": null,
      "HasIntegratedContent": true,
      "DevelopmentStatusId": 10,
      "RequiresBrowserPlugin": false,
      "RequiresNestedVirtualization": false,
      "NumPublicIpAddresses": 0,
      "IsExam": false,
      "PremiumPrice": 10,
      "BasicPrice": 8,
      "PricePerHour": 2.67,
      "ExpectedCloudCost": 0,
      "ParticipantLabPrice": 8,
      "ExamPages": null,
      "Tags": [
        "Tag1",
        "Tag2"
      ],
      "CloudPlatformId": null,
      "ContentVersion": 2,
      "Created": "/Date(1534438041470)/",
      "LastModified": "/Date(1623367490010)/",
      "SCORMLastDownloaded": 1723899599000,
      "InstructionSets": [
        {
          "UId": 2376859,
          "Id": "Base-02",
          "Language": "es",
          "Description": "Advanced Instructions - Spanish",
          "LabTitle": "laboratorio avanzado",
          "DurationMinutes": 60,
          "OrganizationId": 158
        },
        {
          "UId": 2376860,
          "Id": "Base-02",
          "Language": "de",
          "Description": "Advanced Instructions - German",
          "LabTitle": "Fortgeschrittenes Labor",
          "DurationMinutes": 60,
          "OrganizationId": 158
        }
      ]
    },
    {
      "Id": 2,
      "Name": "Demo Lab 2",
      "Number": " Module 2",
      "Description": "Another demo lab.",
      "SeriesId": 1,
      "OrganizationId": 7,
      "Objective": "This is the HTML-formatted objective of the lab",
      "Scenario": "This is the HTML-formatted scenario of the lab",
      "DurationMinutes": 360,
      "ExpectedDurationMinutes": 360,
      "ResourceUnits": 11.25,
      "PlatformId": 2,
      "SharedClassEnvironmentRoleId": 0,
      "SharedClassEnvironmentLabProfileId": 9,
      "UsesRdp": false,
      "Ram": 4096,
      "Enabled": true,
      "ReasonDisabled": null,
      "HasIntegratedContent": true,
      "DevelopmentStatusId": 10,
      "RequiresBrowserPlugin": false,
      "NumPublicIpAddresses": 0,
      "IsExam": false,
      "PremiumPrice": 4,
      "BasicPrice": 4,
      "PricePerHour": 1.33,
      "ExpectedCloudCost": 0,
      "ParticipantLabPrice": 8,
      "ExamPages": null,
      "Tags": [
        "Tag1",
        "Tag2"
      ],
      "CloudPlatformId": 10,
      "ContentVersion": 2,
      "Created": "/Date(1534438041470)/",
      "LastModified": "/Date(1623367490010)",
      "SCORMLastDownloaded": 1755781199000,
      "InstructionSets": [
        {
          "Id": "Base-01",
          "Language": "en",
          "Description": "Base Instructions",
          "LabTitle": "General Lab",
          "DurationMinutes": 60,
          "OrganizationId": 158
        },
        {
          "Id": "Base-01",
          "Language": "fr",
          "Description": "Base Instructions - French",
          "LabTitle": "Laboratoire général",
          "DurationMinutes": 60,
          "OrganizationId": 158
        }
      ]
    }
  ],
  "DeliveryRegions": [
    {
      "Id": 1,
      "Name": "North America",
      "Description": "North American datacenters."
    },
    {
      "Id": 2,
      "Name": "Australia",
      "Description": null
    }
  ],
  "Status": 1,
  "Error": null
}
Expand All
object
LabSeries
Array of object

Array of Lab Series.

Min items1
object
Id
integer

The unique identifier of the lab series.

Name
string

The name of the lab series.

Min length1
Description
string

A brief description of the lab series.

Min length1
NumTrainingDays
integer

The number of training days expected to complete the series.

AllowAssignments
boolean

Indicates that the Lab Series can be assigned.

AllowAssignmentsUntil
string | null

The date (in Unix epoch time) after which assignments are no longer valid. A null value indicates that assignments do not expire.

Created
integer (int64)

The date (in Unix epoch time) that the Lab Series was created.

LastModified
integer (int64) | null

The date (in Unix epoch time) that the Lab Series was modified.

Price
number (float)

The price of the Lab Series.

LabProfiles
Array of object

Array of Lab Profile.

Min items1
object
Id
integer

The unique identifier of the lab profile.

Name
string

The name of the lab profile.

Min length1
Number
string

The lab number (usually to identify a lab within a series, e.g. Module 1, Module 2, etc.).

Min length1
Description
string | null

A brief description of the lab profile.

Min length1
SeriesId
integer (int32)

The unique identifier of the series the lab profile belongs to.

OrganizationId
integer (int32) | null

The unique identifier of the Organization the lab profile belongs to.

Objective
string | null

Text describing the objective of the lab.

Min length1
Scenario
string | null

Text describing the scenario of the lab.

Min length1
DurationMinutes
integer (int32)

The maximum number of minutes a lab instance is allowed to run before it expires.

ExpectedDurationMinutes
integer (int32)

The expected number of minutes a user will take to complete the lab.

ResourceUnits
number Deprecated

This response property is obsolete, and will show the value of RAM/32.

PlatformId
integer

The virtualization platform the lab is run on.
1 = None
2 = Hyper-V
3 = ESX
10 = Azure
11 = AWS
20 = Docker

SharedClassEnvironmentRoleId
integer (int32) | null

Indicates the role the lab plays in a shared environment
0 = None. This lab has no shared environment involvement at all. Most labs work this way.)
10 = Shared Environment. This lab provides the shared infrastructure that participant labs will connect into. Typically launched and maintained by an administrator or instructor.
20 = Participant. This lab will connect into shared environments and act as a participant. Typically launched by students.

SharedClassEnvironmentLabProfileId
integer (int32) | null

The id of the lab profile that will be used in the shared class environment.

UsesRdp
boolean

Indicates whether this lab profile uses Remote Desktop Protocol (RDP) or not.

Ram
integer (int32)

The amount of RAM in MB used by the lab.

Enabled
boolean

Whether the lab is currently enabled for launch.

ReasonDisabled
string | null

The reason the lab is disabled. Only supplied when the lab is not enabled.

HasIntegratedContent
boolean

Indicates whether the lab has integrated digital lab (IDL) content.

DevelopmentStatusId
integer (int32)

Indicates the development status of the lab. In general, a lab not marked as Complete should not be launched (though it can be).
1 = In Development
5 = AwaitingVerification
7 = InVerification
8 = VerificationFailed
10 = Complete

RequiresBrowserPlugin
boolean

Indicates if this lab profile requires the use of a browser plugin.

RequiresNestedVirtualization
boolean

Indicates if this lab profile requires the use of nested virtualization.

NumPublicIpAddresses
integer (int32)

Indicates the number of public ip addresses used in this lab profile.

IsExam
boolean

Indicates whether the lab is scored.

PremiumPrice
number

The consumption cost of the lab when premium experience features are included.

BasicPrice
number

The consumption cost of the lab when only basic experience features are included.

PricePerHour
number (float)

The hourly consumption cost of the lab when only basic experience features are included.

ExpectedCloudCost
number (float) | null

The expected cloud cost of the lab.

ParticipantLabPrice
number (float) | null

The expected participant cost of the shared lab.

ExamPages
Array of string | null Deprecated

This response property is obsolete and is not Populated.

string
Tags
Array of string

A list of tags associated with the lab profile.

string
CloudPlatformId
integer | null

The cloud platform the lab is run on.
null = None
10 = Azure
11 = AWS

ContentVersion
integer (int32)

Indicates the content version (only applicable if HasIntegratedContent = true).

Created
string

The date when the lab profile was created (in Unix epoch time).

LastModified
string

The date when the lab profile was last modified (in Unix epoch time).

SCORMLastDownloaded
integer (int64)

The date when the SCORM package was last downloaded from the lab profile (in Unix epoch time).

InstructionSets
Array of object

Array of instruction sets for the lab profile.

object
UId
integer

The internal system id of the instruction set/language combination.

Id
string

The display id of the instruction set.

Language
string

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

Description
string

The description of the instruction set.

LabTitle
string

The title of the lab to be displayed in the lab instructions.

DurationMinutes
integer (int32)

The duration of the lab when using the specified instruction set.

OrganizationId
integer (int32)

The id of the organization to which the instruction set belongs.

Skills
Array of object

A list of the 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 unique identifier of the skill.

Name
string

The name of the skill.

FrameworkId
integer

The unique identifier of the framework of the skill.

FrameworkName
string

The name of the framework of the skill.

DeliveryRegions
Array of object

Array of DeliveryRegion.

Min items1
object
Id
integer (int32)

The unique identifier of the delivery region. 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.

Name
string

The name of the delivery region.

Min length1
Description
string | null

A brief description of the delivery region.

Min length1
Status
number

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

Error
string | null

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