Returns all lab series, lab profiles, and delivery regions available to your organization
    • 15 Aug 2024
    • 8 Minutes to read

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


    Article summary

    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.

    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.

    LabProfiles
    Array of object

    Array of Lab Profile.

    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

    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.

    DeliveryRegions
    Array of object

    Array of DeliveryRegion.

    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.


    Was this article helpful?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.