> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fermion.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Get interactive lab details [single] 

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



## OpenAPI

````yaml https://backend.codedamn.com/webhook/fermion-backend-openapi.yaml post /public/get-lab-details
openapi: 3.0.0
info:
  version: 1.0.0
  title: Fermion Backend API
  description: Documentation for interacting with the Fermion API
  contact:
    name: Fermion Support
    email: support@codedamn.com
servers:
  - url: https://backend.codedamn.com/api
    description: Fermion primary backend server
security: []
externalDocs:
  description: Fermion Docs
  url: https://docs.fermion.app
paths:
  /public/get-lab-details:
    post:
      tags:
        - Lab
      summary: 'Get interactive lab details [single] '
      description: >-
        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.
      requestBody:
        description: API Request Body
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      data:
                        type: object
                        properties:
                          labId:
                            type: string
                            minLength: 1
                            description: ID of lab as specified in your fermion dashboard
                        required:
                          - labId
                    required:
                      - data
              required:
                - data
      responses:
        '200':
          description: API Response Body
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    output:
                      anyOf:
                        - type: object
                          properties:
                            status:
                              type: string
                              enum:
                                - ok
                            data:
                              type: object
                              properties:
                                labTitle:
                                  type: string
                                  description: Title of the lab
                                labDescriptionMarkdown:
                                  type: string
                                  description: Description of the lab in markdown format
                                defaultGitRepositoryUrl:
                                  anyOf:
                                    - type: string
                                      format: uri
                                    - nullable: true
                                    - nullable: true
                                  description: >-
                                    URL of the default Git repository to clone
                                    for this lab. Null if no repository is
                                    configured
                                defaultGitRepositoryBranchName:
                                  anyOf:
                                    - type: string
                                    - nullable: true
                                    - nullable: true
                                  description: >-
                                    Branch name to checkout from the default Git
                                    repository. Null if no specific branch is
                                    configured
                                evaluationScriptBashCommand:
                                  anyOf:
                                    - type: string
                                    - nullable: true
                                    - nullable: true
                                  description: >-
                                    Bash command to run for evaluating the lab
                                    submission (e.g., "npm test"). Null if no
                                    evaluation command is set
                                evaluationScriptTestFileContent:
                                  anyOf:
                                    - type: string
                                    - nullable: true
                                    - nullable: true
                                  description: >-
                                    Content of the test file used for
                                    evaluation. Null if no test file is
                                    configured
                                testCases:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      testCaseId:
                                        type: string
                                        minLength: 1
                                        description: Unique identifier for this test case
                                      type:
                                        type: string
                                        enum:
                                          - SelfEvaluative
                                          - SystemEvaluative
                                        description: >-
                                          Type of challenge (e.g., unit test,
                                          functional test)
                                      markdownLabel:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Display label for the test case in
                                          markdown format
                                      markdownHint:
                                        anyOf:
                                          - type: string
                                          - nullable: true
                                          - nullable: true
                                        description: >-
                                          Optional hint text for the test case in
                                          markdown format. Null if no hint is
                                          provided
                                    required:
                                      - testCaseId
                                      - type
                                      - markdownLabel
                                      - markdownHint
                                  description: >-
                                    Array of test cases/challenges that students
                                    need to complete in this lab
                              required:
                                - labTitle
                                - labDescriptionMarkdown
                                - defaultGitRepositoryUrl
                                - defaultGitRepositoryBranchName
                                - evaluationScriptBashCommand
                                - evaluationScriptTestFileContent
                                - testCases
                          required:
                            - status
                            - data
                        - type: object
                          properties:
                            status:
                              type: string
                              enum:
                                - error
                            errorMessage:
                              type: string
                          required:
                            - status
                            - errorMessage
                  required:
                    - output
      security:
        - FERMION-API-KEY: []
components:
  securitySchemes:
    FERMION-API-KEY:
      name: FERMION-API-KEY
      type: apiKey
      in: header

````