---
title: "Get interactive lab details [single]"
method: POST
path: "/public/get-lab-details"
tags: ["Lab"]
---

# Get interactive lab details [single]

`POST /public/get-lab-details`

Get details of a single interactive lab from its ID

Authentication with the "FERMION-API-KEY" header is required to use this endpoint.

Rate limit: Maximum 60 requests in a window of 1m.

## Request body

- object
  - `data` object[], required
    - `data` object, required
      - `labId` string, required — ID of lab as specified in your fermion dashboard

## Response `200`

API Response Body

- object[]
  - `output` union, required
    - object
      - `status` 'ok', required
      - `data` object, required
        - `labTitle` string, required — Title of the lab
        - `labDescriptionMarkdown` string, required — Description of the lab in markdown format
        - `defaultGitRepositoryUrl` union, required — URL of the default Git repository to clone for this lab. Null if no repository is configured
          - string, uri
          - unknown
          - unknown
        - `defaultGitRepositoryBranchName` union, required — Branch name to checkout from the default Git repository. Null if no specific branch is configured
          - string
          - unknown
          - unknown
        - `evaluationScriptBashCommand` union, required — Bash command to run for evaluating the lab submission (e.g., "npm test"). Null if no evaluation command is set
          - string
          - unknown
          - unknown
        - `evaluationScriptTestFileContent` union, required — Content of the test file used for evaluation. Null if no test file is configured
          - string
          - unknown
          - unknown
        - `testCases` object[], required — Array of test cases/challenges that students need to complete in this lab
          - `testCaseId` string, required — Unique identifier for this test case
          - `type` 'SelfEvaluative' | 'SystemEvaluative', required — Type of challenge (e.g., unit test, functional test)
          - `markdownLabel` string, required — Display label for the test case in markdown format
          - `markdownHint` union, required — Optional hint text for the test case in markdown format. Null if no hint is provided
            - string
            - unknown
            - unknown
    - object
      - `status` 'error', required
      - `errorMessage` string, required

---

[API](https://skmtc.net/fermion/apis/fermion-backend-api.md) · [All operations](https://skmtc.net/fermion/apis/fermion-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fermion/fermion-backend-api/revisions/7ce364c8820b/schema)
