{
  "openapi": "3.0.1",
  "info": {
    "title": "EONXR API",
    "version": "1.0"
  },
  "paths": {
    "/AIReady/HasJobs": {
      "get": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/GetNextQueued": {
      "get": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "serverName",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/GetByJobID": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobRetrieveModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/JobRetrieveModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/JobRetrieveModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/UpdateJob": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobUpdateModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/JobUpdateModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/JobUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/GenerateLessonJsonReference": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonJsonUpdateModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonJsonUpdateModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LessonJsonUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/GenerateBasicTTS": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateTTSModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateTTSModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateTTSModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/GenerateImageAsset": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImageAssetModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ImageAssetModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ImageAssetModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/GenerateAIReport": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportGenerateModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportGenerateModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportGenerateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/CompleteJob": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobCompleteModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/JobCompleteModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/JobCompleteModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/UpdateAIConversation": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAIConversationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAIConversationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAIConversationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/AddActivity": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddActivity_AIReadyCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AddActivity_AIReadyCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AddActivity_AIReadyCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/UpdateLessonComposition": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonCompositionUpdateModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonCompositionUpdateModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LessonCompositionUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/AddJob": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReadyCreation"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReadyCreation"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AIReadyCreation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/AddJob_V2": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReadyCreation_V2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReadyCreation_V2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AIReadyCreation_V2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/AddRegenerateJob": {
      "post": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegenerateJobRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegenerateJobRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegenerateJobRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReady/HeadlessTrainAI": {
      "get": {
        "tags": [
          "AIReady"
        ],
        "parameters": [
          {
            "name": "procCount",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AIReport/Get": {
      "get": {
        "tags": [
          "AIReport"
        ],
        "parameters": [
          {
            "name": "lid",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Asset/GetInstitutionAssetCategories": {
      "get": {
        "tags": [
          "Asset"
        ],
        "summary": "GetInstitutionAssetCategories API for assetCatEnum: Null OR 1 = All | 2 = Has_Content | 3 = My_Asset",
        "parameters": [
          {
            "name": "institutionID",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "assetCatEnum",
            "in": "query",
            "description": "",
            "schema": {
              "$ref": "#/components/schemas/GetInstitutionAssetCategoriesEnum"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Asset/GetSketchfabCategories": {
      "get": {
        "tags": [
          "Asset"
        ],
        "summary": "Retrieves Sketchfab Categories",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Asset/GetSketchfabAssetAnnotations": {
      "post": {
        "tags": [
          "Asset"
        ],
        "summary": "Retrieves Sketchfab annotations for an asset, if available.\r\nJobStatus values: 0 = Queued, 1 = Processing, 2 = Job complete, no annotations, 3 = Job complete, has annotations, \r\n-1 = Error, asset may not be available anymore on Sketchfab, -10 = Asset is not a Sketchfab asset, -11 = Job not found",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAssetAnnotationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAssetAnnotationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAssetAnnotationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Asset/ProcessAssetCBR": {
      "post": {
        "tags": [
          "Asset"
        ],
        "summary": "Asynchronously processes the asset CBR request.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The asset CBR request containing the details needed for processing.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssetCBRRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AssetCBRRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AssetCBRRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AssetImport/GetAsset360UploadURL": {
      "post": {
        "tags": [
          "AssetImport"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mobile360UploadParam"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Mobile360UploadParam"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Mobile360UploadParam"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mobile360UploadURIs"
                }
              }
            }
          }
        }
      }
    },
    "/AssetImport/Get3DAssetUploadURL": {
      "post": {
        "tags": [
          "AssetImport"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mobile3DUploadParam"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Mobile3DUploadParam"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Mobile3DUploadParam"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AssetImport/AddImported3DAssetToConversionQueue": {
      "post": {
        "tags": [
          "AssetImport"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mobile3DUploadParam"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Mobile3DUploadParam"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Mobile3DUploadParam"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AssetImport/CreateNew3DAsset": {
      "post": {
        "tags": [
          "AssetImport"
        ],
        "summary": "Create new Asset For Raptor Import",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Import3DAssetSPModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Import3DAssetSPModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Import3DAssetSPModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/New3DAsset"
                }
              }
            }
          }
        }
      }
    },
    "/AssetImport/Register3DFileFromRaptor": {
      "post": {
        "tags": [
          "AssetImport"
        ],
        "summary": "To Add 3D File Data for Raptor Import",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContentFile3DSP"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContentFile3DSP"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContentFile3DSP"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/AssetImport/SaveAssetThumbnail": {
      "post": {
        "tags": [
          "AssetImport"
        ],
        "summary": "To Update Thumbnails for Assets",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThumbnailDataImport"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ThumbnailDataImport"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ThumbnailDataImport"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/Audit/AppLaunch": {
      "post": {
        "tags": [
          "Audit"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuditRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AuditRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AuditRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Audit/AddLessonModeAuditEvent": {
      "post": {
        "tags": [
          "Audit"
        ],
        "summary": "To track App Launching of MergeXR / Spatial Meeting\r\nLessonMode 1 : MergeXR\r\nLessonMode 2 : Spatial Meeting",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonAuditRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonAuditRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LessonAuditRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Audit/AddUserAppDetails": {
      "post": {
        "tags": [
          "Audit"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserAppAuditDetails"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UserAppAuditDetails"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UserAppAuditDetails"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Auth/Token": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Generate access token",
        "description": "Accepts grant_type: client_credentials, password, otp, refresh_token, assume_user and extended_otp",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TokenRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TokenRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "if credentials invalid"
          }
        }
      }
    },
    "/Auth/Internal_AssumeUser": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Generate access token by assuming a user",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssumeUserRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AssumeUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AssumeUserRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "if credentials invalid"
          }
        }
      }
    },
    "/Auth/Revoke": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Revoke refresh_token",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Auth/TokenInfo": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Retrieve claims from valid token",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TokenInfoRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TokenInfoRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TokenInfoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenInfoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/DigitalTwin/Register3DAsset": {
      "post": {
        "tags": [
          "DigitalTwin"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Register3DAssetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Register3DAssetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Register3DAssetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/DigitalTwin/CreateLesson": {
      "post": {
        "tags": [
          "DigitalTwin"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDTLessonRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDTLessonRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDTLessonRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/DistributedCache/RemoveCache": {
      "post": {
        "tags": [
          "DistributedCache"
        ],
        "parameters": [
          {
            "name": "cacheKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/External/GetAsset3D": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get a 3D asset.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/AdminMaintainContent:SELECT\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DExternalRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DExternalRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DExternalRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Asset"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetBingAPIKey": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get Bin API Key",
        "parameters": [
          {
            "name": "bingAPIKeyType",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/External/GetBlockadeLabsAPIKey": {
      "get": {
        "tags": [
          "External"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/External/GetUdioAPIKey": {
      "get": {
        "tags": [
          "External"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/External/GetElevenLabsAPIKey": {
      "get": {
        "tags": [
          "External"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/External/GetGeminiAPIKey": {
      "get": {
        "tags": [
          "External"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/External/GetConfig": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Retrieves the configuration value for a given key and institute.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request containing the key and institute ID.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetConfigRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetConfigRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetConfigResponse"
                }
              }
            }
          },
          "400": {
            "description": "If the key or institute ID is invalid."
          },
          "401": {
            "description": "If the user is unauthorized."
          }
        }
      }
    },
    "/External/GetDeeplinkLessonLaunchToken": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get launch token for lesson from deeplink site",
        "description": "<br>\r\n  <b>LaunchType</b>: 1 (play)</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonLaunchTokenRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonLaunchTokenRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonLaunchTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetLessonLaunchTokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetDemoLessonInfo": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get lesson info for demo institute.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AVRGetDemoLessonInfo\" service.</i>\r\n</br>\r\n<br>\r\n  <b>AVRDemoId</b>: 1 (MagicLeap), 2 (Oculus), 3 (XR Library)</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoLessonInfoRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoLessonInfoRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoLessonInfoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lesson"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetDemoLessonLaunchToken": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get launch token for lesson as demo",
        "description": "<br>\r\n  <b>LaunchType</b>: 1 (play)</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonLaunchTokenRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonLaunchTokenRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonLaunchTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetLessonLaunchTokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetDemoLibrary": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get library lessons for demo institute.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AVRGetDemoLibrary\" service.</i>\r\n</br>\r\n<br>\r\n  <b>AVRDemoId</b>: 1 (MagicLeap), 2 (Oculus), 3 (XR Library)</br>\r\n<br>\r\n  <b>CategoryId</b>: Category Id is optional</br>\r\n<br>\r\n  <b>LessonType</b>: 1 (3D), 4 (360), 5 (MVB)</br>\r\n<br>\r\n  <b>Offset</b>: Page number 0 to n</br>\r\n<br>\r\n  <b>Next</b>: Records per page</br>\r\n<br>\r\n  <b>SortBy</b>: VIEWASC, VIEWDESC, NAMEASC, NAMEDESC, DATEASC, DATEDESC</br>\r\n<br>\r\n  <b>SearchTerm</b>: searches through lessonId, name, tags and description/objective</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoLibraryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoLibraryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoLibraryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetLibraryResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetDemoLibraryCategories": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get library categories for demo institute.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AVRGetDemoLibraryCategories\" service.</i>\r\n</br>\r\n<br>\r\n  <b>AVRDemoId</b>: 1 (MagicLeap), 2 (Oculus), 3 (XR Library)</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoLibraryCategoriesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoLibraryCategoriesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoLibraryCategoriesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Category"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetLesson3DAssetCurrentVersion": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get the latest asset used for a lesson.",
        "description": "<br>\r\n  <i>Replaces \"/AVRCMSService/Common/AdminMaintainLessonAssetVersion:GETCURRENTVERSION\" service.</i>\r\n</br>\r\n<br>\r\n  <b>FileFormatId</b>: 12 (GLTF), 9 (EMP), 1 (EOP)</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLesson3DAssetCurrentVersionExternalRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLesson3DAssetCurrentVersionExternalRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLesson3DAssetCurrentVersionExternalRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LessonAssetVersionV1"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetLessonInfo": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get lesson info.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AVRGetLessonInfo\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonInfoRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonInfoRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonInfoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lesson"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetAsset3DFileName": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get lesson 3d asset file.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AVRGetAssetFilename\" service.</i>\r\n</br>\r\n<br>\r\n  <b>FileFormatId</b>: 12 (GLTF), 9 (EMP), 1 (EOP)</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DFileNameRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DFileNameRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DFileNameRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAsset3DFileNameResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetLessonLaunchToken": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get launch token for lesson",
        "description": "<br>\r\n  <b>LaunchType</b>: 1 (play), 3 (edit)</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonLaunchTokenRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonLaunchTokenRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonLaunchTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetLessonLaunchTokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetLessonOwn": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get own (logged in user) lesson info.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AVRGetLessonOwn\" service.</i>\r\n</br>\r\n<br>\r\n  <b>CategoryId</b>: 0 (All categories)</br>\r\n<br>\r\n  <b>Offset</b>: Page number 0 to n</br>\r\n<br>\r\n  <b>Next</b>: Records per page</br>\r\n<br>\r\n  <b>SortBy</b>: VIEWASC, VIEWDESC, NAMEASC, NAMEDESC, DATEASC, DATEDESC</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonOwnRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonOwnRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonOwnRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceLesson"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetLibrary": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get library lessons.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AVRGetLibrary\" service.</i>\r\n</br>\r\n<br>\r\n  <b>CategoryId</b>: Category Id optional</br>\r\n<br>\r\n  <b>LessonType</b>: 1 (3D), 4 (360), 5 (MVB)</br>\r\n<br>\r\n  <b>Offset</b>: Page number 0 to n</br>\r\n<br>\r\n  <b>Next</b>: Records per page</br>\r\n<br>\r\n  <b>SortBy</b>: VIEWASC, VIEWDESC, NAMEASC, NAMEDESC, DATEASC, DATEDESC</br>\r\n<br>\r\n  <b>SearchTerm</b>: searches through lessonId, name, tags and description/objective</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLibraryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLibraryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLibraryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetLibraryResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetLibraryCategories": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get library categories.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AVRGetLibraryCategories\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLibraryCategoriesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLibraryCategoriesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLibraryCategoriesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Category"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetUserInfo": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get user info.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AUTHGetUserInfo\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUserInfoResponseV0"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetUserInstituteList": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get user's institute list.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AUTHGetUserInstitute\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserInstitution"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/GetUserCVCInstituteList": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get user's institute list.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AUTHGetUserInstitute\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserInstitution"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/UpdateUserCurrentInstitute": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Update user's current institute.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AUTHSetUserCurentInstitute\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserCurrentInstituteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserCurrentInstituteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserCurrentInstituteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/External/DuplicateLesson": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Duplicates lessons by copying files between folders in an institution, 10 copies per execution. Deletes the duplicates from the source folder.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/External/AUTHDuplicateLesson\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/External/GetOpenAIAssistantID": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get OpenAI AssistantID",
        "description": "<br>\r\n  <b>assistantCode</b>: aiportal</br>",
        "parameters": [
          {
            "name": "assistantCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/External/GetUserPermissions": {
      "post": {
        "tags": [
          "External"
        ],
        "summary": "Get valid permissions for a user within an institution",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserPermissionsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserPermissionsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserPermissionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of permissions assigned to the user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUserPermissionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "If UserId or InstitutionId is invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Illuminate/GetCloudAnchorJWT": {
      "get": {
        "tags": [
          "Illuminate"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/UpdateAssetAlignFromLesson": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonAssetAlignModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonAssetAlignModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LessonAssetAlignModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/LogLessonCreationTime": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "For Logging Lesson Creation/Edit Time\r\nDateCreated time not used, UserID will be taken from token",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LogLessCreateTime"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LogLessCreateTime"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LogLessCreateTime"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetAssets": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Get Assets for MetaverseBuilder\r\nAssetType: 1 - All Public Assets, 2 - All My Assets.\r\n\r\nPageNumber always start from 1.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAssets"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAssets"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetAssets"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/IsCPLEnabled": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Check if Institution Has CPL Category Enabled",
        "parameters": [
          {
            "name": "institutionID",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/CanCategoryBeMapped": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CategoryString"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CategoryString"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CategoryString"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/CanCPLCategoryBeMapped": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Check if CPL Category cam be mapped",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CPLCategoryStrings"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CPLCategoryStrings"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CPLCategoryStrings"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetInstitutionLessonCategories": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Get Categories for Institution's Lessons",
        "parameters": [
          {
            "name": "institutionID",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetInstitutionCPLLessonCategories": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Get CPL Categories for Institution's Lessons",
        "parameters": [
          {
            "name": "institutionID",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/SetLessonCategory": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonCPLCategory"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonCPLCategory"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LessonCPLCategory"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetUserPublishRight": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Get user ownership and rights (publish, marketplace).",
        "parameters": [
          {
            "name": "institutionID",
            "in": "query",
            "description": "The id of the institute",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lessonID",
            "in": "query",
            "description": "The id of the lesson",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "{  \"canPublish\": true, \"canSell\": true, }"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Lesson/CreateNewLesson": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Create New Lesson API for LessonTypes: 1=3D | 2=360 | 5=MultiAssetLesson",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewLesson"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewLesson"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewLesson"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/UpdateLessonNameAndCategory": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditLesson"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EditLesson"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditLesson"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/UpdateLessonTags": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Update Tags for Lesson. Full list of Tags required to be passed to update",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLessonTags"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLessonTags"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLessonTags"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "True - Success | False - Fail"
          },
          "400": {
            "description": "Error"
          }
        }
      }
    },
    "/Lesson/SetDefaultMVBLessonThumbnail": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "To Set Default Thumbnails for MVB Lesson",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MVBLessonDefaultThumbnailSetModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MVBLessonDefaultThumbnailSetModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MVBLessonDefaultThumbnailSetModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/SaveLessonThumbnail": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "To Update Thumbnails for Lesson",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonThumbnailDataImport"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonThumbnailDataImport"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LessonThumbnailDataImport"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/Lesson/SavePlaneAssetImageTemp": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaneAssetImageDataImport"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaneAssetImageDataImport"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaneAssetImageDataImport"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/SaveAnchorImage": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Upload AnchorImage with support for primary and multiple secondary anchors. \r\nUse this method to replace primary anchor. To remove a secondary anchor, call \r\nDeleteAnchorImage API and then call SaveAnchorImage API to upload the updated anchor. \r\nNote that the AnchorId must be unique for new anchor images.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnchorImageDataImport"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AnchorImageDataImport"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AnchorImageDataImport"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/DeleteAnchorImage": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "To Update Anchor Image for Lesson",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnchorImageDataImport"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AnchorImageDataImport"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AnchorImageDataImport"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/ManageLessonAssets": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "For Updating Assets for MultiAsset Lessons\r\nActionType: 0 - Remove, 1 - Add",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManageLessonAsset"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ManageLessonAsset"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ManageLessonAsset"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/BrowseSketchfab3DAssets": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Returns list of available Sketchfab assets, returns \"TokenExpired\" if sketchfab token has expired",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAjaxBrowseModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAjaxBrowseModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAjaxBrowseModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetSketchfabAssetDownloadURLAndAssetID": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Returns selected Sketchfab asset's GLTF model download URL as well as EON Asset ID\r\nIf Sketchfab asset has not been curated yet, this method would return the direct download url from Sketchfab and 0 as Asset ID",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAjaxDownloadSketchfabModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAjaxDownloadSketchfabModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAjaxDownloadSketchfabModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetMVB3DAssetDownloadURL": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAjaxDownloadMVBAssetModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAjaxDownloadMVBAssetModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabAjaxDownloadMVBAssetModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetPlaneAssetDownloadURLAndAssetID": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePrimitivePlaneAssetModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePrimitivePlaneAssetModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePrimitivePlaneAssetModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetAvatarURL": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "avatarID",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAvatarURLResponse"
                }
              }
            }
          }
        }
      }
    },
    "/Lesson/GetUserAvatarAssistant": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Get User's Current Avatar Assistant File and ThumbnailPath URL",
        "parameters": [
          {
            "name": "userID",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Lesson/UpdateProperties": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "For Updating Lesson Properties: Currently only HasCloudAnchor: True/False and GPSCoordinates. Not updated if value is set as Null",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetAIConversation": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Get AI Conversation JsonFile",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAIConversationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAIConversationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetAIConversationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAIConversationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/Lesson/UpdateAIConversation": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Create/update AI Conversation",
        "description": "<br>\r\n  <b>JSONFile sample</b>\r\n</br>\r\n<br>[{\\\"id\\\":1,\\\"question\\\":\\\"What is quantum computing?\\\",\\\"answer\\\":\\\"Quantum computing is a type of computing that uses quantum-mechanical phenomena, such as superposition and entanglement, to perform operations on data. In classical computing, data is represented by bits, which can have a value of either 0 or 1. In quantum computing, data is represented by quantum bits, or qubits, which can exist in multiple states simultaneously.\\\"},{\\\"id\\\":2,\\\"question\\\":\\\"What are qubits?\\\",\\\"answer\\\":\\\"Qubits (short for quantum bits) are the basic units of quantum information. They can exist in multiple states simultaneously, unlike classical bits which can only exist in two states (0 or 1).\\\"},{\\\"id\\\":3,\\\"question\\\":\\\"What are the advantages of quantum computing?\\\",\\\"answer\\\":\\\"Quantum computing has the potential to solve certain problems much faster than classical computing. It can also be used for tasks such as cryptography, simulation, optimization and machine learning that are currently infeasible on classical computers.\\\"}] </br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAIConversationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAIConversationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAIConversationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/UpdateKnowledgePortal": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Create/update Knowledge Portal",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateKnowledgePortalRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateKnowledgePortalRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateKnowledgePortalRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GenerateAIReport": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportGenerationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportGenerationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportGenerationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetAIPromptTopicTree": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "languageCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetSoftskillsCategories": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Send Categories used by Softskills",
        "parameters": [
          {
            "name": "languageCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetCourseTree": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Used by Course Navigator in MVB\r\n13/12/2023",
        "parameters": [
          {
            "name": "languageCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetSoftskillsAvatars": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Send Avatars used by Softskills",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetSoftskillsPrompts": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Softskills prompts",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetAIPromptGeneratedResponse": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIPromptGeneratedRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AIPromptGeneratedRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AIPromptGeneratedRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/RefreshAIPromptTree": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshAIPromptTreeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshAIPromptTreeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshAIPromptTreeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/SetLessonOptionsOnExit": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetLessonOptionsModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetLessonOptionsModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetLessonOptionsModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/SetLessonCategoryViaAIPromptTopic": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetLessonCategoryViaAIPromptTopicRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetLessonCategoryViaAIPromptTopicRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetLessonCategoryViaAIPromptTopicRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetLessonCategories": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/RegenerateLessonAIReport": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Regenerates the AI Report for the specified lessonID.\r\nSectionsToRegenerate: List of sectionIDs, you can specify individual sections to be regenerated, or leave as null/blank to regenerate all sections\r\nSectionIDs: 0 = All, 1 = Essay, 2 = Resources (deprecated), 3 = Lesson Plan, 4 = Syllabus, 5 = Learning Objectives, 6 = Quizzes",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportRegenerationRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportRegenerationRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportRegenerationRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/RequeueLessonAIReport": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportRequeueRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportRequeueRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AIReportRequeueRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/CreateMarkupToolItem": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Add User's MarkUp Tool Items. UserId based on token claim",
        "description": "UserId wil be retrieved via token claims",
        "parameters": [
          {
            "name": "itemConfigId",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetMarkupToolItemsByUserID": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Get User's MarkUp Tool Items",
        "description": "UserId is optional. UserId wil be retrieved via token claims if null",
        "parameters": [
          {
            "name": "userId",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/DeleteMarkupToolItem": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Delete User's MarkUp Tool Items based on ItemconfigId and user token claim",
        "description": "UserId wil be retrieved from token claims",
        "parameters": [
          {
            "name": "itemConfigId",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/DeleteMarkupToolItemById": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "summary": "Delete User's Markup Tool items based on id",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/CreateMarkup": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Create Markup",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkupBase"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkupBase"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MarkupBase"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetMarkupByID": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GetMarkupsByLessonID": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "lessonId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/UpdateMarkup": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkupEdit"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkupEdit"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MarkupEdit"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/DeleteMarkup": {
      "get": {
        "tags": [
          "Lesson"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/UpdateGeneratedEnvironment": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "For Updating Lesson IndoorGeneratedEnvironment and OutdoorGeneratedEnvironment will be saved as Null if set to Null\r\n<param name=\"updateGenEnv\"></param><returns></returns>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGeneratedEnvironment"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGeneratedEnvironment"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGeneratedEnvironment"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/GenerateExpressLesson": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Generates an express lesson based on the provided description and skill type.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The model containing the lesson details.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExpressLessonRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExpressLessonRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExpressLessonRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Lesson/CheckJob": {
      "post": {
        "tags": [
          "Lesson"
        ],
        "summary": "Checks the job status for a given user, institution, and lesson.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The model containing user ID, institution ID, and lesson ID.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckJobModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckJobModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CheckJobModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/LessonActivity/Get": {
      "post": {
        "tags": [
          "LessonActivity"
        ],
        "summary": "Get a lesson's activities",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "if param invalid"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonActivity/Add": {
      "post": {
        "tags": [
          "LessonActivity"
        ],
        "summary": "Add activity to a lesson",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AddRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AddRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddResponse"
                }
              }
            }
          },
          "400": {
            "description": "if param invalid"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonActivity/BulkAdd": {
      "post": {
        "tags": [
          "LessonActivity"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkAddRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkAddRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BulkAddRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddResponse"
                }
              }
            }
          }
        }
      }
    },
    "/LessonActivity/UpdateOrder": {
      "post": {
        "tags": [
          "LessonActivity"
        ],
        "summary": "Update order index of activity and automatically reorder existing activities",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrderRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrderRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "activity orderIndex updated"
          },
          "400": {
            "description": "if param invalid"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonActivity/UpdateMaxScore": {
      "post": {
        "tags": [
          "LessonActivity"
        ],
        "summary": "Update max score of activity",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMaxScoreRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMaxScoreRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMaxScoreRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "activity maxScore updated"
          },
          "400": {
            "description": "if param invalid"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonActivity/Delete": {
      "post": {
        "tags": [
          "LessonActivity"
        ],
        "summary": "Delete activity and automatically reorder existing activities",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "activity deleted"
          },
          "400": {
            "description": "if param invalid"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonActivity/BulkDelete": {
      "post": {
        "tags": [
          "LessonActivity"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDeleteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDeleteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDeleteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/LessonActivity/Sync": {
      "post": {
        "tags": [
          "LessonActivity"
        ],
        "summary": "Delete activities that are not included in param and undelete activities that are included in params",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SyncRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SyncRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SyncRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/LessonFiles/UploadLessonFiles": {
      "post": {
        "tags": [
          "LessonFiles"
        ],
        "summary": "",
        "description": "Audio_Upload = 1,\r\nAudio_TextToSpeech = 2,\r\nAudio_Recording = 3,\r\nPDF = 4,\r\nImage = 5,\r\nAudio_SpeechToText = 6,\r\nVideo = 7,\r\nVideoStreaming = 8,\r\nVideoPreview = 9,\r\nOthers = 101",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadParam"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadParam"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UploadParam"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/LessonFiles/DownloadLessonFiles": {
      "post": {
        "tags": [
          "LessonFiles"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DownloadParam"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DownloadParam"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DownloadParam"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/LessonFiles/GetTrainingDocumentFileID": {
      "post": {
        "tags": [
          "LessonFiles"
        ],
        "description": "Attempts to get the OpenAIFileID and the EonFileID of the training document associated with the provided lessonID. \r\nTimeoutInSec is optional, if file is being uploaded into OpenAI cache, request will wait until either file has finished uploading or until timeout is reached.\r\nDefault timeout is 20 secs",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrainingDocumentFileIDRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TrainingDocumentFileIDRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TrainingDocumentFileIDRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/LessonReport/StartSession": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Start a new session (new attempt)",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "if param invalid"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/ContinueSession": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Continue from last session (current attempt) and if cannot, start a new one (new attempt)",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContinueSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContinueSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContinueSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContinueSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "if param invalid"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/StopSession": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Stop but not complete an active session (pause attempt)",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StopSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StopSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StopSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "session stopped"
          },
          "400": {
            "description": "if no session is active unless sessionId provided"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/CompleteSession": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Complete an active session (end attempt)",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "session completed"
          },
          "400": {
            "description": "if no session is active unless sessionId provided"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/GetUserSessionReport": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Report of all active and completed sessions for current user",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserSessionReportRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserSessionReportRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserSessionReportRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetUserSessionReportResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "if param invalid"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/StartActivity": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Start an activity durring an active session",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartActivityRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartActivityRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartActivityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Returned data will be in JSON format. <br /> \r\n            errorCode=4001, message=\"activity does not exist\", <br /> \r\n            errorCode=4002, message=\"no active session\", <br /> \r\n            errorCode=4003, message=\"activity not started\","
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/ContinueActivity": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Continue from last activity",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContinueActivityRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContinueActivityRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContinueActivityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContinueActivityResponse"
                }
              }
            }
          },
          "400": {
            "description": "if no activity or session is active"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/StopActivity": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Stop but not complete an active activity",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StopActivityRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StopActivityRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StopActivityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "activity stopped"
          },
          "400": {
            "description": "if no activity is active unless recordId provided"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/CompleteActivity": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Complete an active activity",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteActivityRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteActivityRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteActivityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "activity completed"
          },
          "400": {
            "description": "if no activity is active unless recordId provided"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/GetUserActivityReport": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Report of all active and completed activities for current user",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserActivityReportRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserActivityReportRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserActivityReportRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetUserActivityReportResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "if param invalid"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/GetUserActivityReportByAttempt": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Report of all active and completed activities for current user by attempt number",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserActivityReportByAttemptRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserActivityReportByAttemptRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserActivityReportByAttemptRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetUserActivityReportByAttemptResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "if param invalid"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/Complete3DAssessmentActivity": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "Complete a 3D Assessment activity",
        "description": "<br>\r\n  <b>JsonData</b>: In Base64 string; {\"radar_yourTime\":\"21\",\"radar_completion\":\"10\",\"radar_unnecessarySteps\":\"10\",\"radar_missedSteps\":\"20\",\"radar_incorrectSteps\":\"40\",\"Completion\":\"33\",\"incorrectSteps\":\"66\",\"finalScore\":\"66\"} </br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Complete3DAssessmentActivityRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Complete3DAssessmentActivityRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Complete3DAssessmentActivityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "activity completed"
          },
          "400": {
            "description": "if no activity is active unless recordId provided"
          },
          "401": {
            "description": "if unauthorized"
          }
        }
      }
    },
    "/LessonReport/SaveUserRolePlayResults": {
      "post": {
        "tags": [
          "LessonReport"
        ],
        "summary": "",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonRolePlayReportDetail"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonRolePlayReportDetail"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LessonRolePlayReportDetail"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "true (saved) | false (falied to save)"
          },
          "204": {
            "description": "Invalid Lesson Id"
          },
          "400": {
            "description": "User RolePlay report already exists"
          }
        }
      }
    },
    "/LicenseNotification/SendInstituteExpiryAlert": {
      "post": {
        "tags": [
          "LicenseNotification"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Meeting/CreateMeeting": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Create a new meeting",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMeetingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMeetingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMeetingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateMeetingResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/UpdateMeeting": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Update an existing meeting",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMeetingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMeetingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMeetingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateMeetingResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/DeleteMeeting": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Delete an existing meeting",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteMeetingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteMeetingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteMeetingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/GetMeetingByMeetingId": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Get an existing meeting by meeting id",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMeetingByMeetingIdRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMeetingByMeetingIdRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetMeetingByMeetingIdRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMeetingByMeetingIdResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/GetMeetingByRoomCode": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Get an existing meeting by room code",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMeetingByRoomCodeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMeetingByRoomCodeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetMeetingByRoomCodeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMeetingByRoomCodeResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/GetMeetings": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Get meeting for an institute",
        "description": "<br>\r\n  <b>isPublic</b>: true | false | null (public and not public) </br>\r\n<br>\r\n  <b>isStarted</b>: true | false | null (started and closed) </br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMeetingsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMeetingsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetMeetingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetMeetingsResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/GetUserMeetings": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Get user's own meetings or meetings with assigned permission",
        "description": "<br>\r\n  <b>isPublic</b>: true | false | null (public and not public) </br>\r\n<br>\r\n  <b>isStarted</b>: true | false | null (started and closed) </br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserMeetingsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserMeetingsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetUserMeetingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetUserMeetingsResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/StartMeeting": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Start a meeting",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartMeetingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartMeetingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartMeetingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartMeetingResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/CloseMeeting": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Close a meeting",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloseMeetingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CloseMeetingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CloseMeetingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CloseMeetingResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/AddPermission": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Add user or group permission.",
        "description": "<br>\r\n  <b>userType</b>: User = 1 | Group = 2 </br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddPermissionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AddPermissionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AddPermissionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddPermissionResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/DeletePermission": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Delete an existing meeting",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeletePermissionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeletePermissionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeletePermissionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/GetPermissionByPermissionId": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Get an existing permission by permission id",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPermissionByPermissionIdRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPermissionByPermissionIdRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetPermissionByPermissionIdRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPermissionByPermissionIdResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/GetPermissionsByMeetingId": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Get permission by meeting id",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPermissionsByMeetingIdRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPermissionsByMeetingIdRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetPermissionsByMeetingIdRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetPermissionsByMeetingIdResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/CheckPermission": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Check if user has permission to a meeting",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckPermissionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckPermissionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CheckPermissionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/SearchUser": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Search by user's name, user's email, or group name to assign permission",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchUserRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SearchUserRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SearchUserResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/JoinMeeting": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Join a user to a meeting",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JoinMeetingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/JoinMeetingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/JoinMeetingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/LeaveMeeting": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Make a user leave a meeting",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeaveMeetingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LeaveMeetingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LeaveMeetingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Meeting/GetRegionCodes": {
      "post": {
        "tags": [
          "Meeting"
        ],
        "summary": "Get meeting regional codes",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/PackageExternal/PackageReportSetScore": {
      "post": {
        "tags": [
          "PackageExternal"
        ],
        "summary": "Package set score API",
        "description": "Replaces \"AVRCMSService/Common/AdminMaintainVTReport:SETSCORE\" service.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetReportScoreRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetReportScoreRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetReportScoreRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Set Score",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetReportScoreResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid or empty"
          }
        }
      }
    },
    "/PackageExternal/PackageRights": {
      "post": {
        "tags": [
          "PackageExternal"
        ],
        "summary": "Package rights API",
        "description": "Validate if the user has package(aka Virtual Trainer) license, Package Role permissions and assigned view permission to view the package.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RightsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RightsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RightsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "If user is Successfully validated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RightsResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid or empty"
          }
        }
      }
    },
    "/Playlist/RefreshThumbnailOfPlaylistsLinkedToLessonId": {
      "post": {
        "tags": [
          "Playlist"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaylistRefreshThumbnailRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaylistRefreshThumbnailRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaylistRefreshThumbnailRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Playlist/GetLessonIDs": {
      "get": {
        "tags": [
          "Playlist"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/PushNotification/Get": {
      "post": {
        "tags": [
          "PushNotification"
        ],
        "summary": "Get user's notification list for an institute.",
        "description": "Replaces \"AVRCMSService/Notification/NTFGetUserNotificationByInstitute\" service.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetNotificationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetNotificationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetNotificationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetNotificationResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/PushNotification/GetInstituteUnreadCount": {
      "post": {
        "tags": [
          "PushNotification"
        ],
        "summary": "Get institute unread notification count for a user.",
        "description": "Replaces \"AVRCMSService/Notification/NTFGetUserNotificationUnreadCountForAllInstitute\" service.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetInstituteUnreadCountResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/PushNotification/UpdateReadStatus": {
      "post": {
        "tags": [
          "PushNotification"
        ],
        "summary": "Updates a user's notification read status.",
        "description": "Replaces \"AVRCMSService/Notification/NTFSetNotificationReadStatus\" service.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateReadStatusRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateReadStatusRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateReadStatusRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/PushNotification/UpdateUserDeviceInfo": {
      "post": {
        "tags": [
          "PushNotification"
        ],
        "summary": "Updates a user's device information.",
        "description": "Replaces \"AVRCMSService/Notification/NTFSetUserDevice\" service.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDeviceInfoRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDeviceInfoRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDeviceInfoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/SketchfabAdhoc/UpdateUserSketchfabToken": {
      "post": {
        "tags": [
          "SketchfabAdhoc"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabTokenRequestClass"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabTokenRequestClass"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabTokenRequestClass"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/SketchfabAdhoc/ExternalLoginSketchfab": {
      "post": {
        "tags": [
          "SketchfabAdhoc"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabExternalLogin"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabExternalLogin"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SketchfabExternalLogin"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/SketchfabAdhoc/ExternalLoginRequest": {
      "post": {
        "tags": [
          "SketchfabAdhoc"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/SketchfabAdhoc/RenewPublicSketchfabToken": {
      "post": {
        "tags": [
          "SketchfabAdhoc"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/SketchfabAdhoc/RenewPublicSketchfabToken_Auto": {
      "get": {
        "tags": [
          "SketchfabAdhoc"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/SketchfabAdhoc/CheckUserSketchfabTokenValid": {
      "post": {
        "tags": [
          "SketchfabAdhoc"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/SketchfabAdhoc/LogoutSketchfab": {
      "post": {
        "tags": [
          "SketchfabAdhoc"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/StripeWebhook": {
      "post": {
        "tags": [
          "StripeWebhook"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Template/ConvertTextToSpeech": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Converts text to speech",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/AdminConvertTextToSpeech\" service.</i>\r\n</br>\r\n<br>\r\n  <b>VoiceId</b>: https://docs.aws.amazon.com/polly/latest/dg/API_Voice.html </br>\r\n<br>Added Support for 'SSML', set isSSML to true and ensure that in 'Text', its wrapped with 'speech' tag for it to work.</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConvertTextToSpeechRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConvertTextToSpeechRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConvertTextToSpeechRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConvertTextToSpeechResponse"
                }
              }
            }
          }
        }
      }
    },
    "/Template/ConvertTextToSpeechStream": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Converts text to speech, returns a stream. \r\nAudioFormat -> 0 = \"audio/mp3\" (default), 1 = \"audio/mpeg\"",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/AdminConvertTextToSpeech\" service.</i>\r\n</br>\r\n<br>\r\n  <b>VoiceId</b>: https://docs.aws.amazon.com/polly/latest/dg/API_Voice.html </br>\r\n<br>Added Support for 'SSML', set isSSML to true and ensure that in 'Text', its wrapped with 'speech' tag for it to work.</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConvertTextToSpeechRequest2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConvertTextToSpeechRequest2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConvertTextToSpeechRequest2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Template/ConvertTextToSpeechMark": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Converts text to speechmark",
        "description": "<br>\r\n  <b>VoiceId</b>: https://docs.aws.amazon.com/polly/latest/dg/API_Voice.html </br>\r\n<br>Input SpeechMark types as comma separated values; eg: \"word,viseme,sentence\" </br>\r\n<br>\r\n  <b>SpeechMark types</b>: https://docs.aws.amazon.com/polly/latest/dg/using-speechmarks1.html </br>\r\n<br>\r\n  <b>For Azure voices, only 'word' and 'viseme' speechmark types are applicable</b>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConvertTextToSpeechMarkRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConvertTextToSpeechMarkRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConvertTextToSpeechMarkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Template/DeleteLesson": {
      "post": {
        "tags": [
          "Template"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteLessonRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteLessonRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteLessonRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Template/EndMultiUserSession": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Ends multi user session.",
        "description": "<br>\r\n  <i>Replaces \"MobileService/MultiUserService.svc/FinishMultiUserSession\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MultiUserSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MultiUserSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MultiUserSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetAppKeyValuePair": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get key pair values for a user.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Mobile/GetAppKeyValuePair\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAppKeyValuePairRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAppKeyValuePairRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetAppKeyValuePairRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetAppKeyValuePairResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetAsset3D": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get a 3D asset.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/AdminMaintainContent:SELECT\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Asset"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetAsset3DModelLanguage": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get 3D Asset model language.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/AdminModelLanguagesJSON:SELECT\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DModelLanguageRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DModelLanguageRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DModelLanguageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Asset3DModelLanguage"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetDemoAsset3D": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get a 3D asset as demo.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/AdminMaintainContent:SELECT\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetAsset3DRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Asset"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetDemoAsset3DModelLanguage": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get 3D Asset model language as demo.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/AdminModelLanguagesJSON:SELECT\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoAsset3DModelLanguageRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoAsset3DModelLanguageRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetDemoAsset3DModelLanguageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Asset3DModelLanguage"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetDemoLesson3DAssetCurrentVersion": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get the latest asset used for a lesson as demo.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/AdminMaintainLessonAssetVersion:GETCURRENTVERSION\" service.</i>\r\n</br>\r\n<br>\r\n  <b>FileFormatId</b>: 12 (GLTF), 9 (EMP), 1 (EOP)</br>\r\n<br>\r\n  <b>PlatformID</b>: For backward compability, do not use this. Use FileFormatId.</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLesson3DAssetCurrentVersionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLesson3DAssetCurrentVersionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLesson3DAssetCurrentVersionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LessonAssetVersionV1"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetDemoLessonFileSignedUrl": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Returns signed url to lesson resources as demo",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonFileSignedUrlRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonFileSignedUrlRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonFileSignedUrlRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetLessonFileSignedUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetLaunchToken": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get launch token.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/AdminTokenJSON:SELECT\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLaunchTokenRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLaunchTokenRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLaunchTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenJSONData"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetLesson": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get a lesson.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/AdminMaintainLesson:SELECTANYLESSON\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LessonUnityEditorModel"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetLesson3DAssetCurrentVersion": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get the latest asset used for a lesson.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/AdminMaintainLessonAssetVersion:GETCURRENTVERSION\" service.</i>\r\n</br>\r\n<br>\r\n  <b>FileFormatId</b>: 12 (GLTF), 9 (EMP), 1 (EOP)</br>\r\n<br>\r\n  <b>PlatformID</b>: For backward compability, do not use this. Use FileFormatId.</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLesson3DAssetCurrentVersionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLesson3DAssetCurrentVersionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLesson3DAssetCurrentVersionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LessonAssetVersionV1"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetLessonFileSignedUrl": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Returns signed url to lesson resources",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonFileSignedUrlRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonFileSignedUrlRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetLessonFileSignedUrlRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetLessonFileSignedUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetLessonJsonUploadURL": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Generates presigned upload url for new lesson json file info.",
        "description": "<br>\r\n  <i>Alternative to directly uploading base64 string, better if lesson.json data is big</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson3DRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson3DRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson3DRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetMultiUserSessionLesson": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get lesson info specifically for multi user session.",
        "description": "<br>\r\n  <i>Replaces \"MobileService/TrackingService.svc/GetLessonInformation\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMultiUserSessionLessonRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMultiUserSessionLessonRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetMultiUserSessionLessonRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LessonMultiUserSession"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetTextToSpeechVoiceList": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get text-to-speech voice (accent) list",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common/GetPollyVoiceList\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoiceAccent"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetSpeechToTextLanguageList": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get speech-to-text LanguageCode list",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SpeechToText"
                  }
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetUserInfo": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Get user info.",
        "description": "<br>\r\n  <i>Replaces \"MobileService/ClientService.svc/GetUserProfile\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUserInfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetUserAvatar": {
      "get": {
        "tags": [
          "Template"
        ],
        "summary": "Get User's Current Avatar File URL",
        "parameters": [
          {
            "name": "userID",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/GetUserAvatarAssistant": {
      "get": {
        "tags": [
          "Template"
        ],
        "summary": "Get User's Current Avatar Assistant File and ThumbnailPath URL",
        "parameters": [
          {
            "name": "userID",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/IsUserARPreferenceMarkerless": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Returns user's AR Preference for markerless setting. Default is true.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSettingsResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/Log": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Logs issues and events",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LogRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LogRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LogRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/StartMultiUserSession": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Starts multi user session.",
        "description": "<br>\r\n  <i>Replaces \"MobileService/MultiUserService.svc/StartMultiUserSession\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MultiUserSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MultiUserSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MultiUserSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/UpdateAppKeyValuePair": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Updates key value for a user.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Mobile/SetAppKeyValuePair\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAppKeyValuePairRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAppKeyValuePairRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAppKeyValuePairRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/UpdateLesson3D": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Updates lesson information, and uploads json file.",
        "description": "<br>\r\n  <i>Replaces \"MobileService/MobileService.svc/UploadFile\", and \"MobileService/TeacherService.svc/AddNewLesson\" services.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson3DRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson3DRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson3DRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/UpdateLesson3DComposition": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Updates lesson composition.",
        "description": "<br>\r\n  <i>Replaces \"AVRCMSService/Common2/AdminMaintainLessonComposition\" service.</i>\r\n</br>",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson3DCompositionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson3DCompositionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLesson3DCompositionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/UploadLesson3DAudioFile": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Uploads lesson 3D audio file to cloud.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadLesson3DAudioFileRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadLesson3DAudioFileRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UploadLesson3DAudioFileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadLesson3DAudioFileResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/Template/UploadLesson3DRecordingFile": {
      "post": {
        "tags": [
          "Template"
        ],
        "summary": "Uploads lesson 3D recording file to cloud.",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadLesson3DRecordingFileRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadLesson3DRecordingFileRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UploadLesson3DRecordingFileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadLesson3DRecordingFileResponse"
                }
              }
            }
          },
          "400": {
            "description": "If param invalid"
          },
          "401": {
            "description": "If unauthorized"
          }
        }
      }
    },
    "/TrainAI/ADHOC_GetAllDatasetsByInstitutionID": {
      "post": {
        "tags": [
          "TrainAI"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDatasetsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDatasetsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetDatasetsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/TrainAI/ADHOC_TestQueryDataset": {
      "post": {
        "tags": [
          "TrainAI"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TestQueryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TestQueryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TestQueryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/TrainAI/ADHOC_CreateDataset": {
      "post": {
        "tags": [
          "TrainAI"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDatasetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDatasetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDatasetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/TrainAI/ADHOC_UpdateDatasetSettings": {
      "post": {
        "tags": [
          "TrainAI"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SettingsJSONUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SettingsJSONUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SettingsJSONUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/TrainAI/ADHOC_DeleteDataset": {
      "post": {
        "tags": [
          "TrainAI"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteDatasetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteDatasetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteDatasetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/TrainAI/GetAvailableDatasets": {
      "get": {
        "tags": [
          "TrainAI"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/TrainAI/QueryDataset": {
      "post": {
        "tags": [
          "TrainAI"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QueryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/TrainAI/QueryTrainingData": {
      "post": {
        "tags": [
          "TrainAI"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryTrainingDataRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryTrainingDataRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QueryTrainingDataRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/TrainAI/AssignDatasetToLesson": {
      "post": {
        "tags": [
          "TrainAI"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDatasetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDatasetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDatasetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/UserAnalytics/UploadAttemptData": {
      "post": {
        "tags": [
          "UserAnalytics"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadAttemptModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadAttemptModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UploadAttemptModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/UserAnalytics/RetrieveData": {
      "post": {
        "tags": [
          "UserAnalytics"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveDataModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveDataModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveDataModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/UserAnalytics/RetrieveData_TEST": {
      "post": {
        "tags": [
          "UserAnalytics"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveDataModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveDataModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveDataModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/VirtualCampus/GetInstitutionConfigs": {
      "get": {
        "tags": [
          "VirtualCampus"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/VirtualCampus/GetPrograms": {
      "get": {
        "tags": [
          "VirtualCampus"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/VirtualCampus/GetProgramDetails": {
      "post": {
        "tags": [
          "VirtualCampus"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/VirtualCampus/GetCourseDetails": {
      "post": {
        "tags": [
          "VirtualCampus"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/VirtualCampus/GetFileDownloadURL": {
      "post": {
        "tags": [
          "VirtualCampus"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/VirtualCampus/CreateProgram": {
      "post": {
        "tags": [
          "VirtualCampus"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_CreateProgramModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_CreateProgramModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VC_CreateProgramModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/VirtualCampus/CreateCourses": {
      "post": {
        "tags": [
          "VirtualCampus"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_CreateCoursesModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_CreateCoursesModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VC_CreateCoursesModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/VirtualCampus/UpdateCourseFile": {
      "post": {
        "tags": [
          "VirtualCampus"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCourseFileModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCourseFileModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCourseFileModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/VirtualCampus/DeleteProgram": {
      "post": {
        "tags": [
          "VirtualCampus"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VC_RequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/VirtualCampus/DA_CreateCourses": {
      "post": {
        "tags": [
          "VirtualCampus"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DA_VC_CreateCoursesModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DA_VC_CreateCoursesModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DA_VC_CreateCoursesModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/VirtualCampus/DA_CreateLessons": {
      "post": {
        "tags": [
          "VirtualCampus"
        ],
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DA_VC_CreateLessonsModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DA_VC_CreateLessonsModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DA_VC_CreateLessonsModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/Workspace/GetMyLessons": {
      "post": {
        "tags": [
          "Workspace"
        ],
        "summary": "Get My Workspace Lessons",
        "description": "i. Lesson type:\r\n- Is3D: true | false\r\n- Is360: true | false\r\n- IsMVB: true | false\r\n\r\nii. \"pubType\":\r\n- 1 - All (Default)\r\n- 2 - Published (In Library)\r\n- 3 - Unpublished (Not In Library)\r\n- 4 - InMarketplace (Specifically Lessons on Sale in Marketplace)\r\n\r\niii. \"viewType\":\r\n- 2 - My Lessons (Default)\r\n- 3 - My Assigned Lessons\r\n            \r\niv. \"sortby\":\r\n- 'DATEDESC' (Default)\r\n- 'DATEASC\"'\r\n- 'NAMEASC'\r\n- 'NAMEDESC'\r\n- 'IDASC'\r\n- 'IDDESC'",
        "parameters": [
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonWSParams"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LessonWSParams"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LessonWSParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/YouTube/GetVideo": {
      "get": {
        "tags": [
          "YouTube"
        ],
        "summary": "Retrieve stream url from watch url",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Version",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoResponse"
                }
              }
            }
          },
          "400": {
            "description": "if yturl video service failed"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AIPromptGeneratedRequest": {
        "type": "object",
        "properties": {
          "topicID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AIReadyCreation": {
        "type": "object",
        "properties": {
          "catalogName": {
            "type": "string",
            "nullable": true
          },
          "lessonName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "isAIReadyComplete": {
            "type": "boolean"
          },
          "useImageAssetOnly": {
            "type": "boolean"
          },
          "isSoftSkills": {
            "type": "boolean"
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          },
          "isDetailedMode": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "AIReadyCreation_V2": {
        "type": "object",
        "properties": {
          "playlistName": {
            "type": "string",
            "nullable": true
          },
          "levelName": {
            "type": "string",
            "nullable": true
          },
          "parentCategoryName": {
            "type": "string",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "nullable": true
          },
          "lessonName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "isAIReadyComplete": {
            "type": "boolean"
          },
          "isSoftSkills": {
            "type": "boolean"
          },
          "skip3DModel": {
            "type": "boolean"
          },
          "isDetailedMode": {
            "type": "boolean"
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "remarks": {
            "type": "string",
            "nullable": true
          },
          "createMultiple": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "AIReportGenerateModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "keywords": {
            "type": "string",
            "nullable": true
          },
          "actJson": {
            "type": "string",
            "nullable": true
          },
          "convJson": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AIReportGenerationRequest": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "keywords": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AIReportRegenerationRequestModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "sectionsToRegenerate": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AIReportRequeueRequestModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "APIWorkspaceViewType": {
        "enum": [
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "ActionType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "AddActivity_AIReadyCreate": {
        "type": "object",
        "properties": {
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "activityTypeID": {
            "type": "integer",
            "format": "int32"
          },
          "orderID": {
            "type": "integer",
            "format": "int32"
          },
          "maxScore": {
            "type": "integer",
            "format": "int32"
          },
          "lessonActivityID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AddPermissionRequest": {
        "required": [
          "instituteId",
          "meetingId",
          "userIdOrGroupId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          },
          "userIdOrGroupId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "User or group identifier",
            "format": "int32",
            "example": 1
          },
          "userType": {
            "type": "integer",
            "description": "User or group type",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "AddPermissionResponse": {
        "type": "object",
        "properties": {
          "permissionId": {
            "type": "integer",
            "format": "int32"
          },
          "meetingId": {
            "type": "integer",
            "format": "int32"
          },
          "userIdOrGroupId": {
            "type": "integer",
            "format": "int32"
          },
          "userType": {
            "type": "integer",
            "format": "int32"
          },
          "userTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AddRequest": {
        "required": [
          "activityTypeId",
          "lessonId",
          "orderIndex"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32",
            "example": 13018
          },
          "activityTypeId": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "activity type represented by identifier",
            "format": "int32",
            "example": 5
          },
          "orderIndex": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "order number of activity within the lesson",
            "format": "int32",
            "example": 1
          },
          "maxScore": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "max score value of activity: default 0",
            "format": "int32",
            "nullable": true,
            "example": 5
          },
          "lessonActivityId": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Non-unique lesson specific activity identifier",
            "format": "int32",
            "nullable": true,
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "AddResponse": {
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "description": "activity identifier",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AdhocParamModel": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Adhoc_LessonJsonUpdateRequest": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "base64JSON": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AnchorImageDataImport": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lessonID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "b64String": {
            "type": "string",
            "nullable": true
          },
          "anchorID": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "isPrimaryAnchor": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Asset": {
        "type": "object",
        "properties": {
          "contentID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assetType": {
            "type": "integer",
            "format": "int32"
          },
          "image360Url": {
            "type": "string",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean"
          },
          "isPrimary": {
            "type": "boolean"
          },
          "instituteID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "contentRefInstituteId": {
            "type": "integer",
            "format": "int32"
          },
          "userID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isCGTAsset": {
            "type": "boolean",
            "nullable": true
          },
          "isPurchasedAsset": {
            "type": "boolean",
            "nullable": true
          },
          "eon360ContentID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "auditID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "auditUser": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "image360Thumbnail": {
            "type": "string",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "dateModified": {
            "type": "string",
            "format": "date-time"
          },
          "auditDate": {
            "type": "string",
            "format": "date-time"
          },
          "copyrightInfo": {
            "type": "string",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "nullable": true
          },
          "categories": {
            "type": "string",
            "nullable": true
          },
          "tags": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "fileSize": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "licenseID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "licenseName": {
            "type": "string",
            "nullable": true
          },
          "owner": {
            "type": "string",
            "nullable": true
          },
          "ownerPhotoURL": {
            "type": "string",
            "nullable": true
          },
          "keywords": {
            "type": "string",
            "nullable": true
          },
          "isAnimated": {
            "type": "boolean",
            "nullable": true
          },
          "isMultiMesh": {
            "type": "boolean",
            "nullable": true
          },
          "isReadOnly": {
            "type": "boolean",
            "nullable": true
          },
          "deleted": {
            "type": "boolean",
            "nullable": true
          },
          "thumbNails": {
            "type": "string",
            "nullable": true
          },
          "contentFiles": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "fullName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "isMultiAnimation": {
            "type": "boolean",
            "nullable": true
          },
          "isConverting": {
            "type": "boolean",
            "nullable": true
          },
          "isDoubleSided": {
            "type": "boolean",
            "nullable": true
          },
          "isOneToOneScale": {
            "type": "boolean",
            "nullable": true
          },
          "isShadowDisabled": {
            "type": "boolean",
            "nullable": true
          },
          "isImageAsset": {
            "type": "boolean"
          },
          "isAnnotationCurated": {
            "type": "boolean",
            "nullable": true
          },
          "assetOptimizationStatus": {
            "maximum": 3,
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "primitives": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "images": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "largestTextureSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "texturesTotalSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "meshes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "faces": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "timeZoneOffset": {
            "type": "integer",
            "format": "int32"
          },
          "authorCredit": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Asset3DModelLanguage": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "nullable": true
          },
          "contentID": {
            "type": "string",
            "nullable": true
          },
          "institutionID": {
            "type": "string",
            "nullable": true
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          },
          "jsonFile": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AssetCBRRequest": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "description": "Gets or sets the ID of the institution associated with the asset CBR request.",
            "format": "int32"
          },
          "assetID": {
            "type": "integer",
            "description": "Gets or sets the ID of the asset to be processed.",
            "format": "int32"
          },
          "userID": {
            "type": "integer",
            "description": "Gets or sets the ID of the user making the asset CBR request.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a request for processing an asset CBR."
      },
      "AssetType": {
        "enum": [
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "AssignDatasetRequest": {
        "type": "object",
        "properties": {
          "datasetID": {
            "type": "integer",
            "format": "int32"
          },
          "lessonID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AssumeUserRequest": {
        "type": "object",
        "properties": {
          "user_Id": {
            "type": "string",
            "nullable": true
          },
          "target_User_Id": {
            "type": "string",
            "nullable": true
          },
          "target_Institute_Id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuditRequest": {
        "required": [
          "instituteId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "Avatar3D": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "instituteID": {
            "type": "integer",
            "format": "int32"
          },
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "avatarPath": {
            "type": "string",
            "nullable": true
          },
          "thumbnailPath": {
            "type": "string",
            "nullable": true
          },
          "ownerUserGUID": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateModified": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "isDeleted": {
            "type": "boolean"
          },
          "isCurrent": {
            "type": "boolean"
          },
          "isPreset": {
            "type": "boolean"
          },
          "genderID": {
            "maximum": 2,
            "minimum": 1,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "voiceId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "voiceName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BaseAsset": {
        "type": "object",
        "properties": {
          "contentID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BulkAddRequest": {
        "type": "object",
        "properties": {
          "lessonId": {
            "type": "integer",
            "format": "int32"
          },
          "activities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BulkAddRequest_Activities"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BulkAddRequest_Activities": {
        "type": "object",
        "properties": {
          "lessonActivityTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "maxScore": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "BulkDeleteRequest": {
        "type": "object",
        "properties": {
          "activityIds": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CPLCategoryStrings": {
        "type": "object",
        "properties": {
          "institutionId": {
            "type": "integer",
            "format": "int32"
          },
          "level": {
            "type": "string",
            "nullable": true
          },
          "parent": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CacheRequestModel": {
        "type": "object",
        "properties": {
          "instituteID": {
            "type": "integer",
            "format": "int32"
          },
          "cacheType": {
            "type": "integer",
            "format": "int32"
          },
          "targetID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Category": {
        "type": "object",
        "properties": {
          "categoryID": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "iconId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CategoryString": {
        "type": "object",
        "properties": {
          "institutionId": {
            "type": "integer",
            "format": "int32"
          },
          "category": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CheckJobModel": {
        "type": "object",
        "properties": {
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "lessonID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CheckPermissionRequest": {
        "required": [
          "meetingId",
          "userId"
        ],
        "type": "object",
        "properties": {
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          },
          "userId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "User identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "CloseMeetingRequest": {
        "required": [
          "instituteId",
          "meetingId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "CloseMeetingResponse": {
        "type": "object",
        "properties": {
          "meetingId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean"
          },
          "isStarted": {
            "type": "boolean"
          },
          "roomCode": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Complete3DAssessmentActivityRequest": {
        "required": [
          "durationSeconds",
          "jsonData",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier required if no recordId provided",
            "format": "int32",
            "example": 13018
          },
          "givenScore": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "max score value of activity: default 0",
            "format": "int32",
            "nullable": true,
            "example": 0
          },
          "durationSeconds": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "The assessment duration in seconds (time taken)",
            "format": "int32",
            "example": 10
          },
          "jsonData": {
            "type": "string",
            "description": "Json data in base64 string\r\n<br>Format: {\"radar_yourTime\":\"21\",\"radar_completion\":\"10\",\"radar_unnecessarySteps\":\"10\",\"radar_missedSteps\":\"20\",\"radar_incorrectSteps\":\"40\",\"Completion\":\"33\",\"incorrectSteps\":\"66\",\"finalScore\":\"66\"}</br>"
          }
        },
        "additionalProperties": false
      },
      "CompleteActivityRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier required if no recordId provided",
            "format": "int32",
            "example": 13018
          },
          "givenScore": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "max score value of activity: default 0",
            "format": "int32",
            "nullable": true,
            "example": 0
          }
        },
        "additionalProperties": false
      },
      "CompleteSessionRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "Content3DConversionErrorLogSP": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "contentID": {
            "type": "integer",
            "format": "int32"
          },
          "parameters": {
            "type": "string",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "process": {
            "type": "string",
            "nullable": true
          },
          "fullJSON": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Content3DConversionQueueDataV2SP": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "contentID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateModified": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "sapvegJobID": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sapConversionProgress": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "primaryFile": {
            "type": "string",
            "nullable": true
          },
          "conversionStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "conversionLastUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "conversionEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "conversionDuration": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isDismissed": {
            "type": "boolean",
            "nullable": true
          },
          "orientationFix": {
            "type": "string",
            "nullable": true
          },
          "s3EMZPath": {
            "type": "string",
            "nullable": true
          },
          "process": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContentAssign": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "ContentFile3DSP": {
        "type": "object",
        "properties": {
          "process": {
            "type": "string",
            "nullable": true
          },
          "fileID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fileFormatID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "contentID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fileSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "auditID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "auditDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "auditUser": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "timeZone": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContinueActivityRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier required if no sessionId provided",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "ContinueActivityResponse": {
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "description": "last activityId from last record",
            "format": "int32",
            "nullable": true,
            "example": 23490
          },
          "givenScore": {
            "type": "integer",
            "description": "last activity givenScore from last record",
            "format": "int32",
            "nullable": true
          },
          "isComplete": {
            "type": "boolean",
            "description": "last activity completion status from last record",
            "nullable": true
          },
          "startTime": {
            "type": "string",
            "description": "last activity start time from last record",
            "format": "date-time",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "description": "last activity end time from last record",
            "format": "date-time",
            "nullable": true
          },
          "lessonActivityId": {
            "type": "integer",
            "description": "Non-unique lesson specific activity identifier",
            "format": "int32",
            "nullable": true,
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "ContinueSessionRequest": {
        "required": [
          "institutionId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32",
            "example": 13018
          },
          "institutionId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "institution identifier",
            "format": "int32",
            "example": 1
          },
          "param": {
            "type": "string",
            "description": "optional: custom param to associate with this session",
            "nullable": true,
            "example": "ClassName"
          },
          "value": {
            "type": "string",
            "description": "optional: value to associate with param",
            "nullable": true,
            "example": "Introduction to Anatomy"
          }
        },
        "additionalProperties": false
      },
      "ContinueSessionResponse": {
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "description": "last activityId from last record",
            "format": "int32",
            "nullable": true,
            "example": 23490
          },
          "givenScore": {
            "type": "integer",
            "description": "last activity givenScore from last record",
            "format": "int32",
            "nullable": true
          },
          "isComplete": {
            "type": "boolean",
            "description": "last activity completion status from last record",
            "nullable": true
          },
          "startTime": {
            "type": "string",
            "description": "last activity start time from last record",
            "format": "date-time",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "description": "last activity end time from last record",
            "format": "date-time",
            "nullable": true
          },
          "lessonActivityId": {
            "type": "integer",
            "description": "Non-unique lesson specific activity identifier",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "attempt": {
            "type": "integer",
            "description": "Last attempt number",
            "format": "int32",
            "nullable": true,
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "Conversion3DQueueSPModel": {
        "type": "object",
        "properties": {
          "process": {
            "type": "string",
            "nullable": true
          },
          "userID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "auditID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assetID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assetName": {
            "type": "string",
            "nullable": true
          },
          "authorCredit": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "primaryFile": {
            "type": "string",
            "nullable": true
          },
          "fileSize": {
            "type": "integer",
            "format": "int64"
          },
          "conversionType": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "sapConversionProgress": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConvertTextToSpeechMarkRequest": {
        "required": [
          "instituteId",
          "lessonId",
          "speechText",
          "voiceId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 10001
          },
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "voiceId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Voice (accent) identifier",
            "format": "int32",
            "example": 11
          },
          "speechText": {
            "type": "string",
            "description": "Text to be converted to audio",
            "example": "Hello. Do you speak a foreign language? One language is never enough."
          },
          "isSSML": {
            "type": "boolean",
            "description": "Use Speech Synthesis Markup Language (SSML) (note Text passed must include SSML syntax for it to work)",
            "example": false
          },
          "speechMarkTypes": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConvertTextToSpeechRequest": {
        "required": [
          "instituteId",
          "lessonId",
          "speechText",
          "voiceId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 10001
          },
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "voiceId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Voice (accent) identifier",
            "format": "int32",
            "example": 11
          },
          "speechText": {
            "type": "string",
            "description": "Text to be converted to audio",
            "example": "Hello. Do you speak a foreign language? One language is never enough."
          },
          "isSSML": {
            "type": "boolean",
            "description": "Use Speech Synthesis Markup Language (SSML) (note Text passed must include SSML syntax for it to work)",
            "example": false
          }
        },
        "additionalProperties": false
      },
      "ConvertTextToSpeechRequest2": {
        "required": [
          "instituteId",
          "lessonId",
          "speechText",
          "voiceId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 10001
          },
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "voiceId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Voice (accent) identifier",
            "format": "int32",
            "example": 11
          },
          "speechText": {
            "type": "string",
            "description": "Text to be converted to audio",
            "example": "Hello. Do you speak a foreign language? One language is never enough."
          },
          "isSSML": {
            "type": "boolean",
            "description": "Use Speech Synthesis Markup Language (SSML) (note Text passed must include SSML syntax for it to work)",
            "example": false
          },
          "audioFormat": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ConvertTextToSpeechResponse": {
        "type": "object",
        "properties": {
          "fileUrl": {
            "type": "string",
            "description": "File url to the converted and uploaded audio (signed)",
            "nullable": true
          },
          "objKey": {
            "type": "string",
            "description": "Object key of the saved TTS file, to be saved in lesson.json",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateDTLessonRequest": {
        "type": "object",
        "properties": {
          "base64Json": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateDatasetRequest": {
        "type": "object",
        "properties": {
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "datasetName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateMeetingRequest": {
        "required": [
          "instituteId",
          "isPublic",
          "isStarted",
          "name"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "Meeting name",
            "example": "My Meeting"
          },
          "regionCode": {
            "type": "string",
            "description": "Regional code",
            "nullable": true,
            "example": "eu"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Is meeting publicly available?",
            "example": true
          },
          "isStarted": {
            "type": "boolean",
            "description": "Is meeting started?",
            "example": false
          }
        },
        "additionalProperties": false
      },
      "CreateMeetingResponse": {
        "type": "object",
        "properties": {
          "meetingId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean"
          },
          "isStarted": {
            "type": "boolean"
          },
          "roomCode": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreatePrimitivePlaneAssetModel": {
        "type": "object",
        "properties": {
          "imageURL": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Criteria": {
        "type": "object",
        "properties": {
          "criterion": {
            "type": "string",
            "nullable": true
          },
          "score": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DA_VC_CreateCoursesModel": {
        "type": "object",
        "properties": {
          "programName": {
            "type": "string",
            "nullable": true
          },
          "programFile": {
            "type": "string",
            "nullable": true
          },
          "learningOutcomes": {
            "type": "string",
            "nullable": true
          },
          "courseList": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "fileList": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DA_VC_CreateLessonsModel": {
        "type": "object",
        "properties": {
          "programID": {
            "type": "integer",
            "format": "int32"
          },
          "lessonList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DA_VC_CreateLessons_ListModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DA_VC_CreateLessons_ListModel": {
        "type": "object",
        "properties": {
          "courseID": {
            "type": "integer",
            "format": "int32"
          },
          "lessonTitle": {
            "type": "string",
            "nullable": true
          },
          "lessonDescription": {
            "type": "string",
            "nullable": true
          },
          "fileID": {
            "type": "integer",
            "format": "int32"
          },
          "skillType": {
            "type": "integer",
            "format": "int32"
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeleteDatasetRequest": {
        "type": "object",
        "properties": {
          "datasetID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "DeleteLessonRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "DeleteMeetingRequest": {
        "required": [
          "meetingId"
        ],
        "type": "object",
        "properties": {
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "DeletePermissionRequest": {
        "required": [
          "meetingId",
          "permissionId"
        ],
        "type": "object",
        "properties": {
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          },
          "permissionId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Permission identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "DeleteRequest": {
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "description": "lesson activity identifier required if no LessonActivityId provided",
            "format": "int32",
            "nullable": true,
            "example": 23490
          },
          "lessonId": {
            "type": "integer",
            "description": "lesson identifier required if no ActivityId provided",
            "format": "int32",
            "nullable": true,
            "example": 13018
          },
          "lessonActivityId": {
            "type": "integer",
            "description": "Non-unique lesson specific activity identifier required if no ActivityId provided",
            "format": "int32",
            "nullable": true,
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "DownloadParam": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "filePaths": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EditLesson": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "categoryID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "instituteID": {
            "type": "integer",
            "format": "int32"
          },
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "mvbWizardType": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ExpressLessonRequest": {
        "type": "object",
        "properties": {
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "skillType": {
            "type": "integer",
            "format": "int32"
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          },
          "isDetailedMode": {
            "type": "boolean"
          },
          "appType": {
            "type": "integer",
            "format": "int32"
          },
          "brainyAvatarName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GLBCompressionType": {
        "enum": [
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "GLTFConversionQueueSP": {
        "type": "object",
        "properties": {
          "process": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "contentID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "fileFormatID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "eonToolVersion": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "fileSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GenerateTTSModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "speech": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAIConversationRequest": {
        "required": [
          "instituteId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 10001
          },
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "GetAIConversationResponse": {
        "type": "object",
        "properties": {
          "jsonFile": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAppKeyValuePairRequest": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Key identifier, comma separated. Maximum 50 keys.",
            "nullable": true,
            "example": ""
          }
        },
        "additionalProperties": false
      },
      "GetAppKeyValuePairResponse": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "dateModified": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GetAsset3DExternalRequest": {
        "required": [
          "assetId"
        ],
        "type": "object",
        "properties": {
          "assetId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Asset 3D identifier",
            "format": "int32",
            "example": 9423
          }
        },
        "additionalProperties": false
      },
      "GetAsset3DFileNameRequest": {
        "required": [
          "fileFormatId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "fileFormatId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "File format type identifier",
            "format": "int32",
            "example": 12
          },
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "GetAsset3DFileNameResponse": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "description": "File name of the converted and uploaded audio",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAsset3DModelLanguageRequest": {
        "required": [
          "assetId",
          "instituteId",
          "languageCode"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "assetId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Asset 3D identifier",
            "format": "int32",
            "example": 9423
          },
          "languageCode": {
            "type": "string",
            "description": "Language code",
            "example": "en-US"
          }
        },
        "additionalProperties": false
      },
      "GetAsset3DRequest": {
        "required": [
          "assetId"
        ],
        "type": "object",
        "properties": {
          "assetId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Asset 3D identifier",
            "format": "int32",
            "example": 9423
          }
        },
        "additionalProperties": false
      },
      "GetAssets": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageRows": {
            "type": "integer",
            "format": "int32"
          },
          "searchTerm": {
            "type": "string",
            "nullable": true
          },
          "assetType": {
            "$ref": "#/components/schemas/AssetType"
          },
          "categoryId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetAvatarURLResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetConfigRequest": {
        "required": [
          "instituteId",
          "key"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "key": {
            "type": "string",
            "description": "Key identifier",
            "example": "some_key"
          }
        },
        "additionalProperties": false
      },
      "GetConfigResponse": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "description": "File name of the converted and uploaded audio",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetDatasetsRequest": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetDemoAsset3DModelLanguageRequest": {
        "required": [
          "assetId"
        ],
        "type": "object",
        "properties": {
          "assetId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Asset 3D identifier",
            "format": "int32",
            "example": 9423
          }
        },
        "additionalProperties": false
      },
      "GetDemoLessonInfoRequest": {
        "required": [
          "avrDemoId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "avrDemoId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Demo device identifier.",
            "format": "int32",
            "example": 3
          },
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "GetDemoLibraryCategoriesRequest": {
        "required": [
          "avrDemoId"
        ],
        "type": "object",
        "properties": {
          "avrDemoId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Demo device identifier.",
            "format": "int32",
            "example": 3
          }
        },
        "additionalProperties": false
      },
      "GetDemoLibraryRequest": {
        "required": [
          "avrDemoId",
          "next",
          "offset"
        ],
        "type": "object",
        "properties": {
          "avrDemoId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Demo device identifier.",
            "format": "int32",
            "example": 3
          },
          "categoryId": {
            "type": "integer",
            "description": "Category identifier",
            "format": "int32",
            "nullable": true,
            "example": 10
          },
          "lessonType": {
            "type": "integer",
            "description": "Lesson type identifier.",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "offset": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Page number identifier.",
            "format": "int32",
            "example": 0
          },
          "next": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Records per page identifier.",
            "format": "int32",
            "example": 10
          },
          "sortBy": {
            "type": "string",
            "description": "Sorting identifier.",
            "nullable": true,
            "example": "VIEWDESC"
          },
          "searchTerm": {
            "maxLength": 4000,
            "type": "string",
            "description": "Search term",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetInstituteUnreadCountResponse": {
        "type": "object",
        "properties": {
          "instituteId": {
            "type": "integer",
            "format": "int32"
          },
          "unreadCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetInstitutionAssetCategoriesEnum": {
        "enum": [
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "GetLaunchTokenRequest": {
        "required": [
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Launch token",
            "example": "ea74fef8756d40679b289ee5cbf9bce8"
          }
        },
        "additionalProperties": false
      },
      "GetLesson3DAssetCurrentVersionExternalRequest": {
        "required": [
          "fileFormatId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 23052
          },
          "fileFormatId": {
            "maximum": 12,
            "minimum": 1,
            "type": "integer",
            "description": "File format identifier",
            "format": "int32",
            "example": 12
          },
          "gLBCompressionType": {
            "$ref": "#/components/schemas/GLBCompressionType"
          }
        },
        "additionalProperties": false
      },
      "GetLesson3DAssetCurrentVersionRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 23052
          },
          "fileFormatId": {
            "type": "integer",
            "description": "File format identifier",
            "format": "int32",
            "example": 1
          },
          "platformID": {
            "type": "integer",
            "description": "DO not use this, use ONLY FileFormatId\r\nThis is added for beta app that is release for public user testing, and the BETA app is still refering to platformID. This is added to backward support.",
            "format": "int32"
          },
          "gLBCompressionType": {
            "$ref": "#/components/schemas/GLBCompressionType"
          }
        },
        "additionalProperties": false
      },
      "GetLessonFileSignedUrlRequest": {
        "required": [
          "fileUrlUnsigned",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 10001
          },
          "fileUrlUnsigned": {
            "type": "string",
            "description": "File url to the lesson resources",
            "example": "Institution/1/Lessons/10001/Audio/tts_20210301094822001.mp3"
          }
        },
        "additionalProperties": false
      },
      "GetLessonFileSignedUrlResponse": {
        "type": "object",
        "properties": {
          "fileUrl": {
            "type": "string",
            "description": "File url to the lesson resources (signed)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetLessonInfoRequest": {
        "required": [
          "instituteId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "GetLessonLaunchTokenRequest": {
        "required": [
          "instituteId",
          "launchType",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 23052
          },
          "launchType": {
            "$ref": "#/components/schemas/LaunchType"
          }
        },
        "additionalProperties": false
      },
      "GetLessonLaunchTokenResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Lesson launch token",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetLessonOwnRequest": {
        "required": [
          "instituteId",
          "is360",
          "is3D",
          "next",
          "offset"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "is3D": {
            "type": "boolean",
            "description": "Is 3D lesson identifier",
            "example": true
          },
          "is360": {
            "type": "boolean",
            "description": "Is 360 lesson identifier",
            "example": true
          },
          "categoryId": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Category identifier",
            "format": "int32",
            "example": 0
          },
          "sortBy": {
            "type": "string",
            "description": "Category identifier",
            "nullable": true,
            "example": "NAMEASC"
          },
          "offset": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Page number identifier.",
            "format": "int32",
            "example": 0
          },
          "next": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Records per page identifier.",
            "format": "int32",
            "example": 10
          }
        },
        "additionalProperties": false
      },
      "GetLessonRequest": {
        "required": [
          "instituteId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 13018
          },
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "GetLibraryCategoriesRequest": {
        "required": [
          "instituteId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "GetLibraryRequest": {
        "required": [
          "instituteId",
          "next",
          "offset"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "categoryId": {
            "type": "integer",
            "description": "Category identifier",
            "format": "int32",
            "nullable": true,
            "example": 10
          },
          "lessonType": {
            "type": "integer",
            "description": "Lesson type identifier.",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "offset": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Page number identifier.",
            "format": "int32",
            "example": 0
          },
          "next": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Records per page identifier.",
            "format": "int32",
            "example": 10
          },
          "sortBy": {
            "type": "string",
            "description": "Sorting identifier.",
            "nullable": true,
            "example": "VIEWDESC"
          },
          "searchTerm": {
            "maxLength": 4000,
            "type": "string",
            "description": "Search term",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetLibraryResponse": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "integer",
            "format": "int32"
          },
          "categoryName": {
            "type": "string",
            "nullable": true
          },
          "lessonList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LibraryExternal"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetMeetingByMeetingIdRequest": {
        "required": [
          "meetingId"
        ],
        "type": "object",
        "properties": {
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "GetMeetingByMeetingIdResponse": {
        "type": "object",
        "properties": {
          "meetingId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean"
          },
          "isStarted": {
            "type": "boolean"
          },
          "roomCode": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetMeetingByRoomCodeRequest": {
        "required": [
          "roomCode"
        ],
        "type": "object",
        "properties": {
          "roomCode": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "RoomCode identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "GetMeetingByRoomCodeResponse": {
        "type": "object",
        "properties": {
          "meetingId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean"
          },
          "isStarted": {
            "type": "boolean"
          },
          "roomCode": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetMeetingsRequest": {
        "required": [
          "instituteId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "isPublic": {
            "type": "boolean",
            "description": "Is meeting publicly available?",
            "nullable": true,
            "example": null
          },
          "isStarted": {
            "type": "boolean",
            "description": "Is meeting started?",
            "nullable": true,
            "example": null
          }
        },
        "additionalProperties": false
      },
      "GetMeetingsResponse": {
        "type": "object",
        "properties": {
          "meetingId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean"
          },
          "isStarted": {
            "type": "boolean"
          },
          "roomCode": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetMultiUserSessionLessonRequest": {
        "required": [
          "instituteId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "GetNotificationRequest": {
        "required": [
          "instituteId",
          "pageNumber",
          "rowsOfPage"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "pageNumber": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Page number identifier",
            "format": "int32",
            "example": 1
          },
          "rowsOfPage": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Rows (items) per page to show",
            "format": "int32",
            "example": 10
          },
          "isDeleted": {
            "type": "integer",
            "description": "Status of notification to list",
            "format": "int32",
            "example": 0
          }
        },
        "additionalProperties": false
      },
      "GetNotificationResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "parameter": {
            "type": "string",
            "nullable": true
          },
          "thumbnail": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "isRead": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "unreadCount": {
            "type": "integer",
            "description": "Total unread messages",
            "format": "int32"
          },
          "totalCount": {
            "type": "integer",
            "description": "Total messages (read and unread combined)",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetPermissionByPermissionIdRequest": {
        "required": [
          "permissionId"
        ],
        "type": "object",
        "properties": {
          "permissionId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Permission identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "GetPermissionByPermissionIdResponse": {
        "type": "object",
        "properties": {
          "permissionId": {
            "type": "integer",
            "format": "int32"
          },
          "meetingId": {
            "type": "integer",
            "format": "int32"
          },
          "userIdOrGroupId": {
            "type": "integer",
            "format": "int32"
          },
          "userType": {
            "type": "integer",
            "format": "int32"
          },
          "userTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetPermissionsByMeetingIdRequest": {
        "required": [
          "meetingId"
        ],
        "type": "object",
        "properties": {
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "GetPermissionsByMeetingIdResponse": {
        "type": "object",
        "properties": {
          "permissionId": {
            "type": "integer",
            "format": "int32"
          },
          "meetingId": {
            "type": "integer",
            "format": "int32"
          },
          "userIdOrGroupId": {
            "type": "integer",
            "format": "int32"
          },
          "userType": {
            "type": "integer",
            "format": "int32"
          },
          "userTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "GetResponse": {
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "description": "activity identifier",
            "format": "int32"
          },
          "activityTypeId": {
            "type": "integer",
            "description": "activityType identifier",
            "format": "int32"
          },
          "orderIndex": {
            "type": "integer",
            "description": "order number of activity within the lesson",
            "format": "int32"
          },
          "maxScore": {
            "type": "integer",
            "description": "max score of activity",
            "format": "int32"
          },
          "dateCreated": {
            "type": "string",
            "description": "date created",
            "format": "date-time"
          },
          "dateModified": {
            "type": "string",
            "description": "date modified",
            "format": "date-time",
            "nullable": true
          },
          "modifiedBy": {
            "type": "integer",
            "description": "modified by userId",
            "format": "int32"
          },
          "lessonActivityId": {
            "type": "integer",
            "description": "Non-unique lesson specific activity identifier",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetUserActivityReportByAttemptRequest": {
        "required": [
          "attempt",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32",
            "example": 13018
          },
          "attempt": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "attempt identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "GetUserActivityReportByAttemptResponse": {
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "description": "activity identifier",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "description": "user identifier",
            "format": "int32"
          },
          "sessionId": {
            "type": "integer",
            "description": "session identifier",
            "format": "int32"
          },
          "activityName": {
            "type": "string",
            "description": "name given to activity",
            "nullable": true
          },
          "userName": {
            "type": "string",
            "description": "name of user completing the activity",
            "nullable": true
          },
          "givenScore": {
            "type": "integer",
            "description": "given score of activity attempt",
            "format": "int32",
            "nullable": true
          },
          "maxScore": {
            "type": "integer",
            "description": "maximum score user can be given",
            "format": "int32"
          },
          "totalMinutes": {
            "type": "number",
            "description": "total time spent completing activity",
            "format": "double"
          },
          "isComplete": {
            "type": "boolean",
            "description": "false indicates activity is paused, true indicates activity has ended"
          },
          "attempt": {
            "type": "integer",
            "description": "nth time user has attempted lesson",
            "format": "int32"
          },
          "startTime": {
            "type": "string",
            "description": "time activity first started",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "time activity was marked complete and ended",
            "format": "date-time",
            "nullable": true
          },
          "lessonActivityId": {
            "type": "integer",
            "description": "Non-unique lesson specific activity identifier",
            "format": "int32",
            "nullable": true,
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "GetUserActivityReportRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "GetUserActivityReportResponse": {
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "description": "activity identifier",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "description": "user identifier",
            "format": "int32"
          },
          "sessionId": {
            "type": "integer",
            "description": "session identifier",
            "format": "int32"
          },
          "activityName": {
            "type": "string",
            "description": "name given to activity",
            "nullable": true
          },
          "userName": {
            "type": "string",
            "description": "name of user completing the activity",
            "nullable": true
          },
          "givenScore": {
            "type": "integer",
            "description": "given score of activity attempt",
            "format": "int32",
            "nullable": true
          },
          "maxScore": {
            "type": "integer",
            "description": "maximum score user can be given",
            "format": "int32"
          },
          "totalMinutes": {
            "type": "number",
            "description": "total time spent completing activity",
            "format": "double"
          },
          "isComplete": {
            "type": "boolean",
            "description": "false indicates activity is paused, true indicates activity has ended"
          },
          "attempt": {
            "type": "integer",
            "description": "nth time user has attempted lesson",
            "format": "int32"
          },
          "startTime": {
            "type": "string",
            "description": "time activity first started",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "time activity was marked complete and ended",
            "format": "date-time",
            "nullable": true
          },
          "lessonActivityId": {
            "type": "integer",
            "description": "Non-unique lesson specific activity identifier",
            "format": "int32",
            "nullable": true,
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "GetUserInfoResponse": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "userGuid": {
            "type": "string",
            "nullable": true
          },
          "photoUrl": {
            "type": "string",
            "nullable": true
          },
          "loginEmail": {
            "type": "string",
            "nullable": true
          },
          "instituteId": {
            "type": "integer",
            "format": "int32"
          },
          "instituteName": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "avatarDetails": {
            "$ref": "#/components/schemas/Avatar3D"
          }
        },
        "additionalProperties": false
      },
      "GetUserInfoResponseV0": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "loginName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "userGuid": {
            "type": "string",
            "nullable": true
          },
          "photoUrl": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          },
          "loginEmail": {
            "type": "string",
            "nullable": true
          },
          "defaultInstituteId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetUserMeetingsRequest": {
        "required": [
          "instituteId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "isPublic": {
            "type": "boolean",
            "description": "Is meeting publicly available?",
            "nullable": true,
            "example": null
          },
          "isStarted": {
            "type": "boolean",
            "description": "Is meeting started?",
            "nullable": true,
            "example": null
          }
        },
        "additionalProperties": false
      },
      "GetUserMeetingsResponse": {
        "type": "object",
        "properties": {
          "meetingId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean"
          },
          "isStarted": {
            "type": "boolean"
          },
          "roomCode": {
            "type": "integer",
            "format": "int32"
          },
          "isOwner": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GetUserPermissionsRequest": {
        "required": [
          "institutionId",
          "userId"
        ],
        "type": "object",
        "properties": {
          "userId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "User identifier",
            "format": "int32",
            "example": 123
          },
          "institutionId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institution identifier",
            "format": "int32",
            "example": 456
          }
        },
        "additionalProperties": false
      },
      "GetUserPermissionsResponse": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "institutionId": {
            "type": "integer",
            "format": "int32"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserPermission"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetUserSessionReportRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "GetUserSessionReportResponse": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "integer",
            "description": "user identifier",
            "format": "int32"
          },
          "lessonId": {
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32"
          },
          "institutionId": {
            "type": "integer",
            "description": "institution identifier",
            "format": "int32"
          },
          "attempt": {
            "type": "integer",
            "description": "nth time user has attempted lesson",
            "format": "int32"
          },
          "isComplete": {
            "type": "boolean",
            "description": "false indicates session is stopped or active, true indicates session is complete"
          },
          "totalMinutes": {
            "type": "number",
            "description": "total time of active session",
            "format": "double"
          },
          "startTime": {
            "type": "string",
            "description": "time session first started",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "time session was marked complete",
            "format": "date-time",
            "nullable": true
          },
          "params": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LessonSessionParam"
            },
            "description": "custom params and values assosiated with session",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ImageAssetModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "imageURL": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Import3DAssetSPModel": {
        "type": "object",
        "properties": {
          "process": {
            "type": "string",
            "nullable": true
          },
          "userID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "auditID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assetID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assetName": {
            "type": "string",
            "nullable": true
          },
          "authorCredit": {
            "type": "string",
            "nullable": true
          },
          "categoryID": {
            "type": "integer",
            "format": "int32"
          },
          "defaultCategoryID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "InstituteAsset": {
        "type": "object",
        "properties": {
          "assetID": {
            "type": "integer",
            "format": "int32"
          },
          "instituteID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "JobCompleteModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "JobRetrieveModel": {
        "type": "object",
        "properties": {
          "jobID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "JobUpdateModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "remarks": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "JoinMeetingRequest": {
        "required": [
          "instituteId",
          "meetingId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "LaunchType": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ],
        "type": "integer",
        "format": "int32"
      },
      "LeaveMeetingRequest": {
        "required": [
          "instituteId",
          "meetingId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "Lesson": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "lessonType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isDeleted": {
            "type": "boolean",
            "nullable": true
          },
          "isPublicSharing": {
            "type": "boolean",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean",
            "nullable": true
          },
          "userID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "viewCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "videoPreviewURL": {
            "type": "string",
            "nullable": true
          },
          "fileSize": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "lessonObjective": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "contentID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "hasRecording": {
            "type": "boolean"
          },
          "infoLink": {
            "type": "string",
            "nullable": true
          },
          "publicSharingOption": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "thumbnails": {
            "type": "string",
            "nullable": true
          },
          "categories": {
            "type": "string",
            "nullable": true
          },
          "contentFiles": {
            "type": "string",
            "nullable": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "seqNo": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "rotationLock": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "vrOrbit": {
            "type": "boolean",
            "nullable": true
          },
          "isEnvironment": {
            "type": "boolean"
          },
          "vtLiteEnv": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "keyValuePairs": {
            "type": "string",
            "nullable": true
          },
          "gradeID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "keywords": {
            "type": "string",
            "nullable": true
          },
          "estimatedTime": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "auditID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "grade": {
            "type": "string",
            "nullable": true
          },
          "contentRefInstituteId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "licenseID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "licenseName": {
            "type": "string",
            "nullable": true
          },
          "authorName": {
            "type": "string",
            "nullable": true
          },
          "authorEmail": {
            "type": "string",
            "nullable": true
          },
          "authorGuid": {
            "type": "string",
            "nullable": true
          },
          "auditDate": {
            "type": "string",
            "format": "date-time"
          },
          "assetID": {
            "type": "integer",
            "format": "int32"
          },
          "assetName": {
            "type": "string",
            "nullable": true
          },
          "assetOwner": {
            "type": "string",
            "nullable": true
          },
          "assetAuthorCredit": {
            "type": "string",
            "nullable": true
          },
          "assetAuditDate": {
            "type": "string",
            "format": "date-time"
          },
          "assetIsDeleted": {
            "type": "boolean"
          },
          "assetIsAnimated": {
            "type": "boolean"
          },
          "assetIsDoubleSided": {
            "type": "boolean"
          },
          "assetIsMultiAnimation": {
            "type": "boolean"
          },
          "assetIsMultiMesh": {
            "type": "boolean"
          },
          "assetIsEnvironment": {
            "type": "boolean"
          },
          "assetIsOneToOneScale": {
            "type": "boolean"
          },
          "assetIsShadowDisabled": {
            "type": "boolean",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "markAsFound": {
            "type": "boolean",
            "nullable": true
          },
          "isBaseSupportedVersion": {
            "type": "boolean",
            "nullable": true
          },
          "playlistLessonImages": {
            "$ref": "#/components/schemas/PlaylistLessonImages"
          },
          "jsonURL": {
            "type": "string",
            "nullable": true
          },
          "hasCloudAnchor": {
            "type": "boolean",
            "nullable": true
          },
          "gpsCoordinates": {
            "type": "string",
            "nullable": true
          },
          "anchorImages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LessonAnchorImage"
            },
            "nullable": true
          },
          "assignmentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isAILight": {
            "type": "integer",
            "format": "int32"
          },
          "indoorGeneratedEnvironment": {
            "type": "string",
            "nullable": true
          },
          "outdoorGeneratedEnvironment": {
            "type": "string",
            "nullable": true
          },
          "mvbWizardType": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "LessonAnchorImage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "anchorId": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "lessonId": {
            "type": "integer",
            "format": "int32"
          },
          "imageURL": {
            "type": "string",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "isPrimaryAnchor": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "LessonAssetAlignModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "assetID": {
            "type": "integer",
            "format": "int32"
          },
          "instituteID": {
            "type": "integer",
            "format": "int32"
          },
          "assetHeight": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "LessonAssetVersionV1": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lessonId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "contentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "versionId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "isSelected": {
            "type": "boolean",
            "nullable": true
          },
          "instituteId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "orientationFix": {
            "type": "string",
            "nullable": true
          },
          "lastModifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LessonAuditRequest": {
        "required": [
          "instituteId",
          "lessonID",
          "lessonMode"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "lessonMode": {
            "$ref": "#/components/schemas/LessonMode"
          },
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "additionalInfo": {
            "maxLength": 4000,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LessonCPLCategory": {
        "type": "object",
        "properties": {
          "institutionId": {
            "type": "integer",
            "format": "int32"
          },
          "levelId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "parentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "categoryId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lessonId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "LessonCompositionUpdateModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "introAudio": {
            "type": "integer",
            "format": "int32"
          },
          "introVideo": {
            "type": "integer",
            "format": "int32"
          },
          "lessonElements": {
            "type": "integer",
            "format": "int32"
          },
          "audioNarrations": {
            "type": "integer",
            "format": "int32"
          },
          "embeddedVideos": {
            "type": "integer",
            "format": "int32"
          },
          "build": {
            "type": "integer",
            "format": "int32"
          },
          "locate": {
            "type": "integer",
            "format": "int32"
          },
          "identify": {
            "type": "integer",
            "format": "int32"
          },
          "quiz": {
            "type": "integer",
            "format": "int32"
          },
          "_3DInteractions": {
            "type": "integer",
            "format": "int32"
          },
          "_3DAssessments": {
            "type": "integer",
            "format": "int32"
          },
          "pdf": {
            "type": "integer",
            "format": "int32"
          },
          "image": {
            "type": "integer",
            "format": "int32"
          },
          "url": {
            "type": "integer",
            "format": "int32"
          },
          "jeopardy": {
            "type": "integer",
            "format": "int32"
          },
          "rolePlay": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "LessonCreateType": {
        "enum": [
          1,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "LessonJsonAnchorImageId": {
        "type": "object",
        "properties": {
          "id": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LessonJsonUpdateModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "base64JSON": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LessonMode": {
        "enum": [
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "LessonMultiUserSession": {
        "type": "object",
        "properties": {
          "lessonId": {
            "type": "integer",
            "format": "int32"
          },
          "lessonName": {
            "type": "string",
            "nullable": true
          },
          "thumbnailURL": {
            "type": "string",
            "nullable": true
          },
          "lessonURL": {
            "type": "string",
            "nullable": true
          },
          "lessonObjective": {
            "type": "string",
            "nullable": true
          },
          "activityCount": {
            "type": "integer",
            "format": "int32"
          },
          "assetIsDoubleSided": {
            "type": "boolean"
          },
          "assetIsOneToOneScale": {
            "type": "boolean"
          },
          "contentRefInstituteId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "LessonRolePlayReportDetail": {
        "type": "object",
        "properties": {
          "conversation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Message"
            },
            "nullable": true
          },
          "results": {
            "$ref": "#/components/schemas/Results"
          },
          "lessonId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LessonSessionParam": {
        "type": "object",
        "properties": {
          "paramId": {
            "type": "integer",
            "format": "int32"
          },
          "sessionId": {
            "type": "integer",
            "format": "int32"
          },
          "param": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LessonThumbnailDataImport": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lessonID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "b64String": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LessonUnityEditorModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "lessonType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isDeleted": {
            "type": "boolean",
            "nullable": true
          },
          "isPublicSharing": {
            "type": "boolean",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean",
            "nullable": true
          },
          "userID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "viewCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "videoPreviewURL": {
            "type": "string",
            "nullable": true
          },
          "fileSize": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "lessonObjective": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "contentID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "hasRecording": {
            "type": "boolean"
          },
          "infoLink": {
            "type": "string",
            "nullable": true
          },
          "publicSharingOption": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "thumbnails": {
            "type": "string",
            "nullable": true
          },
          "categories": {
            "type": "string",
            "nullable": true
          },
          "contentFiles": {
            "type": "string",
            "nullable": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "seqNo": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "rotationLock": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "vrOrbit": {
            "type": "boolean",
            "nullable": true
          },
          "isEnvironment": {
            "type": "boolean"
          },
          "vtLiteEnv": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "keyValuePairs": {
            "type": "string",
            "nullable": true
          },
          "gradeID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "keywords": {
            "type": "string",
            "nullable": true
          },
          "estimatedTime": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "auditID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "grade": {
            "type": "string",
            "nullable": true
          },
          "contentRefInstituteId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "licenseID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "licenseName": {
            "type": "string",
            "nullable": true
          },
          "authorName": {
            "type": "string",
            "nullable": true
          },
          "authorEmail": {
            "type": "string",
            "nullable": true
          },
          "authorGuid": {
            "type": "string",
            "nullable": true
          },
          "auditDate": {
            "type": "string",
            "format": "date-time"
          },
          "assetID": {
            "type": "integer",
            "format": "int32"
          },
          "assetName": {
            "type": "string",
            "nullable": true
          },
          "assetOwner": {
            "type": "string",
            "nullable": true
          },
          "assetAuthorCredit": {
            "type": "string",
            "nullable": true
          },
          "assetAuditDate": {
            "type": "string",
            "format": "date-time"
          },
          "assetIsDeleted": {
            "type": "boolean"
          },
          "assetIsAnimated": {
            "type": "boolean"
          },
          "assetIsDoubleSided": {
            "type": "boolean"
          },
          "assetIsMultiAnimation": {
            "type": "boolean"
          },
          "assetIsMultiMesh": {
            "type": "boolean"
          },
          "assetIsEnvironment": {
            "type": "boolean"
          },
          "assetIsOneToOneScale": {
            "type": "boolean"
          },
          "assetIsShadowDisabled": {
            "type": "boolean",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "markAsFound": {
            "type": "boolean",
            "nullable": true
          },
          "isBaseSupportedVersion": {
            "type": "boolean",
            "nullable": true
          },
          "playlistLessonImages": {
            "$ref": "#/components/schemas/PlaylistLessonImages"
          },
          "jsonURL": {
            "type": "string",
            "nullable": true
          },
          "hasCloudAnchor": {
            "type": "boolean",
            "nullable": true
          },
          "gpsCoordinates": {
            "type": "string",
            "nullable": true
          },
          "anchorImages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LessonAnchorImage"
            },
            "nullable": true
          },
          "assignmentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isAILight": {
            "type": "integer",
            "format": "int32"
          },
          "indoorGeneratedEnvironment": {
            "type": "string",
            "nullable": true
          },
          "outdoorGeneratedEnvironment": {
            "type": "string",
            "nullable": true
          },
          "mvbWizardType": {
            "type": "integer",
            "format": "int32"
          },
          "asset_Height": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "asset_YOffset": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "start_X": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "start_Y": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "start_Z": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "orientationFix": {
            "type": "string",
            "nullable": true
          },
          "mergedXRLicense": {
            "type": "boolean"
          },
          "spatialMeetingLicense": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "LessonWSParams": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32",
            "default": 1
          },
          "pageRows": {
            "type": "integer",
            "format": "int32",
            "default": 12
          },
          "is3D": {
            "type": "boolean"
          },
          "is360": {
            "type": "boolean"
          },
          "isMVB": {
            "type": "boolean"
          },
          "pubType": {
            "$ref": "#/components/schemas/PublishViewType"
          },
          "viewType": {
            "$ref": "#/components/schemas/APIWorkspaceViewType"
          },
          "sortBy": {
            "type": "string",
            "nullable": true
          },
          "categoryId": {
            "type": "integer",
            "format": "int32"
          },
          "searchTerm": {
            "type": "string",
            "nullable": true
          },
          "institutionId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "LibraryExternal": {
        "type": "object",
        "properties": {
          "lessonId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "gradeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "contentType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lessonType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lessonName": {
            "type": "string",
            "nullable": true
          },
          "grade": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "hasRecording": {
            "type": "boolean"
          },
          "lessonObjective": {
            "type": "string",
            "nullable": true
          },
          "tag": {
            "type": "string",
            "nullable": true
          },
          "contentRefInstituteId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "viewCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isGLTFAvailable": {
            "type": "boolean",
            "nullable": true
          },
          "lessonCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "editorsChoiceSortValue": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "isEditorsChoice": {
            "type": "boolean"
          },
          "isCopyRef": {
            "type": "boolean",
            "nullable": true
          },
          "isAsset3DOneToOneScale": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "LicenseSeminar": {
        "type": "object",
        "properties": {
          "seminarId": {
            "type": "integer",
            "format": "int32"
          },
          "productId": {
            "$ref": "#/components/schemas/ProductId"
          },
          "productIds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductId"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LogLessCreateTime": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "instituteID": {
            "type": "integer",
            "format": "int32"
          },
          "startTime": {
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "LogRequest": {
        "required": [
          "contentId",
          "instituteId",
          "message"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "contentId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Content (Lesson Id, Asset Id etc.) identifier",
            "format": "int32",
            "example": 1
          },
          "message": {
            "type": "string",
            "description": "Main message (human readable)",
            "example": "Error loading asset"
          },
          "info": {
            "type": "string",
            "description": "Additional information e.g. exceptions, elaborate issue",
            "nullable": true,
            "example": "Parameter cannot be null"
          }
        },
        "additionalProperties": false
      },
      "MVBLessonDefaultThumbnailSetModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "assetID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ManageGLTFConversionkeyValueData": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "key": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "value": {
            "maxLength": 4000,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "process": {
            "type": "string",
            "nullable": true
          },
          "contentID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ManageLessonAsset": {
        "required": [
          "institutionID"
        ],
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32",
            "default": 0
          },
          "assetID": {
            "type": "integer",
            "format": "int32"
          },
          "actionType": {
            "$ref": "#/components/schemas/ActionType"
          },
          "lnAssetId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "MarkupBase": {
        "required": [
          "itemConfigId",
          "lessonID",
          "userID"
        ],
        "type": "object",
        "properties": {
          "userID": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "itemConfigId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "lessonID": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "colorIndex": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "rx": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "ry": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "rz": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "scale": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "target": {
            "type": "string",
            "nullable": true
          },
          "targetType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "x": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "y": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "z": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MarkupEdit": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "userID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "itemConfigId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "colorIndex": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "rx": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "ry": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "rz": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "scale": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "target": {
            "type": "string",
            "nullable": true
          },
          "targetType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "x": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "y": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "z": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MemberSeminar": {
        "type": "object",
        "properties": {
          "seminarId": {
            "type": "integer",
            "format": "int32"
          },
          "instituteId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "userAssign": {
            "$ref": "#/components/schemas/ContentAssign"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserContentAssign"
            },
            "nullable": true
          },
          "userIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Message": {
        "type": "object",
        "properties": {
          "user": {
            "type": "string",
            "nullable": true
          },
          "opponent": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Mobile360UploadParam": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "assetName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Mobile360UploadURIs": {
        "type": "object",
        "properties": {
          "assetID": {
            "type": "integer",
            "format": "int32"
          },
          "assetUploadURL": {
            "type": "string",
            "nullable": true
          },
          "thumbnailUploadURL": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Mobile3DUploadParam": {
        "type": "object",
        "properties": {
          "assetName": {
            "type": "string",
            "nullable": true
          },
          "assetID": {
            "type": "integer",
            "format": "int32"
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "primaryFileName": {
            "type": "string",
            "nullable": true
          },
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ModelPartsJSON": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "nullable": true
          },
          "contentID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          },
          "jsonFile": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ModelPartsQueueJob": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assetID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "instituteID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assetVersion": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "dateModified": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modelParts_id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MultiUserSessionRequest": {
        "required": [
          "roomCode"
        ],
        "type": "object",
        "properties": {
          "roomCode": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Room code identifier",
            "format": "int32",
            "example": 123456789
          }
        },
        "additionalProperties": false
      },
      "New3DAsset": {
        "type": "object",
        "properties": {
          "assetID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "assetName": {
            "type": "string",
            "nullable": true
          },
          "maxurl": {
            "type": "string",
            "nullable": true
          },
          "glburl": {
            "type": "string",
            "nullable": true
          },
          "eopurl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NewLesson": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "categoryID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "instituteID": {
            "type": "integer",
            "format": "int32"
          },
          "lessonType": {
            "$ref": "#/components/schemas/LessonCreateType"
          },
          "assetIDs": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "mvbWizardType": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PlaneAssetImageDataImport": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lessonID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "b64String": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PlaneGenerationJobCompleteModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "fileSize": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PlaneGenerationJobErrorModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PlaylistLessonImages": {
        "type": "object",
        "properties": {
          "thumbnail": {
            "type": "string",
            "nullable": true
          },
          "preview": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PlaylistRefreshThumbnailRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "ProductId": {
        "enum": [
          12,
          13
        ],
        "type": "integer",
        "format": "int32"
      },
      "PublishViewType": {
        "enum": [
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "QueryRequest": {
        "type": "object",
        "properties": {
          "datasetID": {
            "type": "integer",
            "format": "int32"
          },
          "query": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QueryTrainingDataRequest": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "query": {
            "type": "string",
            "nullable": true
          },
          "threadID": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RefreshAIPromptTreeRequest": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "RegenerateJobRequest": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Register3DAssetRequest": {
        "type": "object",
        "properties": {
          "assetName": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "fileTotalBytes": {
            "type": "integer",
            "format": "int64"
          },
          "imageFileName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ResetTrialLicenseModel": {
        "type": "object",
        "properties": {
          "userIDs": {
            "type": "string",
            "nullable": true
          },
          "resetNotificationOnly": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ResolveLegacyAnchorImageData": {
        "type": "object",
        "properties": {
          "lessonId": {
            "type": "integer",
            "format": "int32"
          },
          "institutionId": {
            "type": "integer",
            "format": "int32"
          },
          "lessonJsonAnchorImageIds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LessonJsonAnchorImageId"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Results": {
        "type": "object",
        "properties": {
          "detailed": {
            "type": "string",
            "nullable": true
          },
          "summary": {
            "type": "string",
            "nullable": true
          },
          "criteria": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Criteria"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RetrieveDataModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "attempts": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "RevokeRequest": {
        "required": [
          "refresh_Token"
        ],
        "type": "object",
        "properties": {
          "refresh_Token": {
            "type": "string",
            "description": "refresh token used with access token to generate new access token"
          }
        },
        "additionalProperties": false
      },
      "RightsRequest": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Required: Token\r\nType: GUID",
            "nullable": true,
            "example": "a570a9e74bbc43c3b180e63b0afb704c"
          }
        },
        "additionalProperties": false
      },
      "RightsResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Returns the status for the request.\r\n\"1\" - Score is set successfully\r\n\"0\" - Failure to set score, see Message property for more information",
            "nullable": true
          },
          "message": {
            "type": "string",
            "description": "Returns the corresponding Description for each of the request status.\r\n\r\nPossible messages:\r\n\"Success\" - Describe record is successfully inserted into database and the corresponding status is \"1\".\r\n\"Failed to Create record\" - Describe unsuccessful insert record into database and the corresponding status is \"0\".\r\n\"Invalid parameters\" - Describe Request parameters are invalid or missing parameters. The corresponding status is \"0\". Check Request parameters and token parameters. \r\n\"Exception error\" - Describe an unhandled exception has occurred and the corresponding status is \"0\".",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleSeminar": {
        "type": "object",
        "properties": {
          "seminarId": {
            "type": "integer",
            "format": "int32"
          },
          "roleId": {
            "type": "integer",
            "format": "int32"
          },
          "roleIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SearchUserRequest": {
        "required": [
          "instituteId",
          "meetingId",
          "searchKey"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          },
          "searchKey": {
            "type": "string",
            "description": "Search by user (name or email) or group name to assign permission",
            "example": "Some name"
          }
        },
        "additionalProperties": false
      },
      "SearchUserResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "userIdOrGroupId": {
            "type": "integer",
            "format": "int32"
          },
          "userType": {
            "type": "integer",
            "format": "int32"
          },
          "userTypeName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Seminar": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "guid": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "instituteId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/SeminarStatus"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateModified": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateStart": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateEnd": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "onboardMode": {
            "$ref": "#/components/schemas/SeminarOnboardMode"
          },
          "contentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "maxMembers": {
            "type": "integer",
            "format": "int32"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SeminarDeleteStatus": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "isDeleted": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SeminarDetailedQuery": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "instituteId": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pageRows": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "validityType": {
            "$ref": "#/components/schemas/ValidityViewType"
          },
          "viewType": {
            "$ref": "#/components/schemas/WorkspaceViewType"
          },
          "sortBy": {
            "$ref": "#/components/schemas/SortViewType"
          }
        },
        "additionalProperties": false
      },
      "SeminarOnboardMode": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "SeminarStatus": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "SetLessonCategoryViaAIPromptTopicRequest": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "topicID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SetLessonOptionsModel": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "toPublish": {
            "type": "boolean"
          },
          "toSell": {
            "type": "boolean"
          },
          "price": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "SetReportScoreRequest": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Required: Token\r\nType: GUID",
            "nullable": true,
            "example": "a570a9e74bbc43c3b180e63b0afb704c"
          },
          "duration": {
            "type": "integer",
            "description": "Required: This is the time the Trainee was in the session.         \r\n\r\nThe duration value in seconds.",
            "format": "int32",
            "example": 1200
          },
          "score": {
            "type": "number",
            "description": "Required: This is the Score awarded to the Trainee.\r\n\r\nThe Score value and decimals is supported.",
            "format": "double",
            "example": 122.28
          },
          "failedLessonSteps": {
            "type": "string",
            "description": "Optional: The details explaination on the Trainee failed lesson step.",
            "nullable": true,
            "example": "Drain the Radioactive Water Separator - Ensure a suitable NUclear PPE is available."
          },
          "criticalErrors": {
            "type": "string",
            "description": "Optional: The details explaination on the Trainee Critical Errors.",
            "nullable": true,
            "example": "The user misfuelled the spacecraft with Cooking Oil."
          },
          "lessonDeviations": {
            "type": "string",
            "description": "Optional: The details explaination on the Lesson Deviations if any.",
            "nullable": true,
            "example": "The spacecraft is not in vetical state."
          }
        },
        "additionalProperties": false
      },
      "SetReportScoreResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Returns the status for the request.\r\n\"1\" - Score is set successfully\r\n\"0\" - Failure to set score, see Message property for more information",
            "nullable": true
          },
          "message": {
            "type": "string",
            "description": "Returns the corresponding Description for each of the request status.\r\n\r\nPossible messages:\r\n\"Success\" - Describe record is successfully inserted into database and the corresponding status is \"1\".\r\n\"Failed to Create record\" - Describe unsuccessful insert record into database and the corresponding status is \"0\".\r\n\"Invalid parameters\" - Describe Request parameters are invalid or missing parameters. The corresponding status is \"0\". Check Request parameters and token parameters. \r\n\"Exception error\" - Describe an unhandled exception has occurred and the corresponding status is \"0\".",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SettingsJSONUpdateRequest": {
        "type": "object",
        "properties": {
          "datasetID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "settingsJSON": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SketchfabAjaxBrowseModel": {
        "type": "object",
        "properties": {
          "searchTerm": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SketchfabAjaxDownloadMVBAssetModel": {
        "type": "object",
        "properties": {
          "glbCompressionType": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "assetID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SketchfabAjaxDownloadSketchfabModel": {
        "type": "object",
        "properties": {
          "glbCompressionType": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "sketchfab_UID": {
            "type": "string",
            "nullable": true
          },
          "format": {
            "type": "integer",
            "description": "so 0 = gltf, 1= glb, default is gltf",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SketchfabAssetAnnotationRequest": {
        "type": "object",
        "properties": {
          "assetID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SketchfabCleanupRequest": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "token": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SketchfabConversionModel": {
        "type": "object",
        "properties": {
          "sketchfab_UID": {
            "type": "string",
            "nullable": true
          },
          "contentID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "creatorCredit": {
            "type": "string",
            "nullable": true
          },
          "tags": {
            "type": "string",
            "nullable": true
          },
          "isCuratorInstitution": {
            "type": "boolean"
          },
          "sfThumbnail": {
            "type": "string",
            "nullable": true
          },
          "isMVBImport": {
            "type": "boolean"
          },
          "process": {
            "type": "string",
            "nullable": true
          },
          "user24HoursDownloadLimit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isSFDownloadAttempted": {
            "type": "boolean",
            "nullable": true
          },
          "filename": {
            "type": "string",
            "nullable": true
          },
          "glbFilename": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SketchfabExternalLogin": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SketchfabJobSPModel": {
        "type": "object",
        "properties": {
          "sketchfab_UID": {
            "type": "string",
            "nullable": true
          },
          "contentID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "creatorCredit": {
            "type": "string",
            "nullable": true
          },
          "tags": {
            "type": "string",
            "nullable": true
          },
          "isCuratorInstitution": {
            "type": "boolean"
          },
          "sfThumbnail": {
            "type": "string",
            "nullable": true
          },
          "isMVBImport": {
            "type": "boolean"
          },
          "process": {
            "type": "string",
            "nullable": true
          },
          "user24HoursDownloadLimit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isSFDownloadAttempted": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SketchfabTokenRequestClass": {
        "type": "object",
        "properties": {
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "authToken": {
            "type": "string",
            "nullable": true
          },
          "refreshToken": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SortViewType": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ],
        "type": "integer",
        "format": "int32"
      },
      "SpeechToText": {
        "type": "object",
        "properties": {
          "languageCode": {
            "type": "string",
            "nullable": true
          },
          "languageName": {
            "type": "string",
            "nullable": true
          },
          "cloudService": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "StartActivityRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "description": "lesson activity identifier required if no LessonActivityId provided",
            "format": "int32",
            "nullable": true,
            "example": 23490
          },
          "lessonActivityId": {
            "type": "integer",
            "description": "Non-unique lesson specific activity identifier required if no ActivityId provided",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "StartMeetingRequest": {
        "required": [
          "instituteId",
          "meetingId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "StartMeetingResponse": {
        "type": "object",
        "properties": {
          "meetingId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean"
          },
          "isStarted": {
            "type": "boolean"
          },
          "roomCode": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "StartSessionRequest": {
        "required": [
          "institutionId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32",
            "example": 13018
          },
          "institutionId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "institution identifier",
            "format": "int32",
            "example": 1
          },
          "param": {
            "type": "string",
            "description": "optional: custom param to associate with this session",
            "nullable": true,
            "example": "ClassName"
          },
          "value": {
            "type": "string",
            "description": "optional: value to associate with param",
            "nullable": true,
            "example": "Introduction to Anatomy"
          }
        },
        "additionalProperties": false
      },
      "StopActivityRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier required if no recordId provided",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "StopSessionRequest": {
        "required": [
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "lesson identifier",
            "format": "int32",
            "example": 13018
          }
        },
        "additionalProperties": false
      },
      "SyncRequest": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "activityIDs": {
            "type": "string",
            "nullable": true
          },
          "instituteID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TestQueryRequest": {
        "type": "object",
        "properties": {
          "datasetID": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "query": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TestRequestModel": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TestSearch360RequestModel": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "searchTerm": {
            "type": "string",
            "nullable": true
          },
          "categoryID": {
            "type": "integer",
            "format": "int32"
          },
          "pageNo": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "selectedIDs": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TestSearchRequestModel": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "userID": {
            "type": "integer",
            "format": "int32"
          },
          "searchTerm": {
            "type": "string",
            "nullable": true
          },
          "categoryID": {
            "type": "integer",
            "format": "int32"
          },
          "pageNo": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ThumbnailDataImport": {
        "type": "object",
        "properties": {
          "process": {
            "type": "string",
            "nullable": true
          },
          "userID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "institutionID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assetID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assetName": {
            "type": "string",
            "nullable": true
          },
          "categoryID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assetURL": {
            "type": "string",
            "nullable": true
          },
          "assetThumbnailURL": {
            "type": "string",
            "nullable": true
          },
          "copyrightInfo": {
            "maxLength": 512,
            "type": "string",
            "nullable": true
          },
          "b64String": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TokenInfoRequest": {
        "required": [
          "access_Token"
        ],
        "type": "object",
        "properties": {
          "access_Token": {
            "type": "string",
            "description": "bearer token to validate claims"
          }
        },
        "additionalProperties": false
      },
      "TokenInfoResponse": {
        "type": "object",
        "properties": {
          "userName": {
            "type": "string",
            "description": "validated username (email)",
            "nullable": true
          },
          "userGuid": {
            "type": "string",
            "description": "validated user guid",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "description": "validated user identification",
            "format": "int32"
          },
          "institutionId": {
            "type": "integer",
            "description": "optional: validated institution identification",
            "format": "int32",
            "nullable": true
          },
          "lessonId": {
            "type": "integer",
            "description": "optional: validated lesson identification",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TokenJSONData": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string",
            "nullable": true
          },
          "loginEmail": {
            "type": "string",
            "nullable": true
          },
          "userGUID": {
            "type": "string",
            "nullable": true
          },
          "jsonVal": {
            "type": "string",
            "nullable": true
          },
          "sessionToken": {
            "type": "string",
            "nullable": true
          },
          "sessionCode": {
            "type": "string",
            "nullable": true
          },
          "baseURL": {
            "type": "string",
            "nullable": true
          },
          "accountURL": {
            "type": "string",
            "nullable": true
          },
          "cloudFrontURL": {
            "type": "string",
            "nullable": true
          },
          "accessToken": {
            "type": "string",
            "nullable": true
          },
          "refreshToken": {
            "type": "string",
            "nullable": true
          },
          "launchType": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TokenRequest": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "description": "required for grant_type client_credentials and password",
            "nullable": true,
            "example": "user@email.com"
          },
          "client_Id": {
            "type": "string",
            "description": "required for grant_type client_credentials and password",
            "nullable": true,
            "example": ""
          },
          "grant_Type": {
            "type": "string",
            "description": "accepted values: password, client_credentials, refresh_token",
            "nullable": true,
            "example": "password"
          },
          "password": {
            "type": "string",
            "description": "required for grant_type password",
            "nullable": true,
            "example": "yourPassword"
          },
          "client_Secret": {
            "type": "string",
            "description": "required for grant_type client_credentials",
            "nullable": true,
            "example": ""
          },
          "otp": {
            "type": "string",
            "description": "required for grant_type otp",
            "nullable": true,
            "example": ""
          },
          "refresh_Token": {
            "type": "string",
            "description": "required for grant_type refresh_token",
            "nullable": true,
            "example": ""
          }
        },
        "additionalProperties": false
      },
      "TokenResponse": {
        "type": "object",
        "properties": {
          "access_Token": {
            "type": "string",
            "description": "bearer token required for authorized endpoints",
            "nullable": true
          },
          "refresh_Token": {
            "type": "string",
            "description": "refresh token used with access token to generate new access token",
            "nullable": true
          },
          "expires_In": {
            "type": "number",
            "description": "lifetime in seconds",
            "format": "double"
          },
          "token_Type": {
            "type": "string",
            "description": "always bearer",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TrainingDocumentFileIDRequest": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "timeoutInSecs": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UpdateAIConversationRequest": {
        "required": [
          "instituteId",
          "jsonFile",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 10001
          },
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "jsonFile": {
            "type": "string",
            "description": "The json file text that contains the question and answer conversation",
            "example": "[{\"id\":1,\"question\":\"What is quantum computing?\",\"answer\":\"Quantum computing is a type of computing that uses quantum-mechanical phenomena, such as superposition and entanglement, to perform operations on data. In classical computing, data is represented by bits, which can have a value of either 0 or 1. In quantum computing, data is represented by quantum bits, or qubits, which can exist in multiple states simultaneously.\"},{\"id\":2,\"question\":\"What are qubits?\",\"answer\":\"Qubits (short for quantum bits) are the basic units of quantum information. They can exist in multiple states simultaneously, unlike classical bits which can only exist in two states (0 or 1).\"},{\"id\":3,\"question\":\"What are the advantages of quantum computing?\",\"answer\":\"Quantum computing has the potential to solve certain problems much faster than classical computing. It can also be used for tasks such as cryptography, simulation, optimization and machine learning that are currently infeasible on classical computers.\"}]"
          }
        },
        "additionalProperties": false
      },
      "UpdateAppKeyValuePairRequest": {
        "required": [
          "key",
          "value"
        ],
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Key identifier",
            "example": ""
          },
          "value": {
            "type": "string",
            "description": "Value identifier",
            "example": ""
          }
        },
        "additionalProperties": false
      },
      "UpdateCourseFileModel": {
        "type": "object",
        "properties": {
          "programID": {
            "type": "integer",
            "format": "int32"
          },
          "courseID": {
            "type": "integer",
            "format": "int32"
          },
          "fileName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateGeneratedEnvironment": {
        "required": [
          "instituteID",
          "lessonID"
        ],
        "type": "object",
        "properties": {
          "lessonID": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "instituteID": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "indoorGeneratedEnvironment": {
            "maxLength": 1024,
            "type": "string",
            "nullable": true
          },
          "outdoorGeneratedEnvironment": {
            "maxLength": 1024,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateKnowledgePortalRequest": {
        "required": [
          "instituteId",
          "jsonFile",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 10001
          },
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "jsonFile": {
            "type": "string",
            "description": "The json file text that contains the knowledge portal data",
            "example": "TBC"
          }
        },
        "additionalProperties": false
      },
      "UpdateLesson": {
        "type": "object",
        "properties": {
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "instituteID": {
            "type": "integer",
            "format": "int32"
          },
          "hasCloudAnchor": {
            "type": "boolean",
            "nullable": true
          },
          "gpsCoordinates": {
            "type": "string",
            "nullable": true
          },
          "anchorImage": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateLesson3DCompositionRequest": {
        "required": [
          "_3DAssessments",
          "_3DInteractions",
          "audioNarrations",
          "build",
          "embeddedVideos",
          "identify",
          "image",
          "introAudio",
          "introVideo",
          "jeopardy",
          "lessonElements",
          "lessonId",
          "locate",
          "pdf",
          "procedure",
          "quiz",
          "rolePlay",
          "url"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 13018
          },
          "introAudio": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Introduction Audio",
            "format": "int32",
            "example": 1
          },
          "introVideo": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Introduction Video",
            "format": "int32",
            "example": 1
          },
          "lessonElements": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Lesson Elements",
            "format": "int32",
            "example": 1
          },
          "audioNarrations": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Audio Narrations",
            "format": "int32",
            "example": 1
          },
          "embeddedVideos": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Embedded Videos",
            "format": "int32",
            "example": 1
          },
          "build": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Build",
            "format": "int32",
            "example": 1
          },
          "locate": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Locate",
            "format": "int32",
            "example": 1
          },
          "identify": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Identify",
            "format": "int32",
            "example": 1
          },
          "quiz": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Quiz",
            "format": "int32",
            "example": 1
          },
          "_3DInteractions": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "3D Interactions",
            "format": "int32",
            "example": 1
          },
          "_3DAssessments": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "3D Assessments",
            "format": "int32",
            "example": 1
          },
          "pdf": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "PDF",
            "format": "int32",
            "example": 1
          },
          "image": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Image",
            "format": "int32",
            "example": 1
          },
          "url": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "URL",
            "format": "int32",
            "example": 1
          },
          "jeopardy": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Jeopardy",
            "format": "int32",
            "example": 1
          },
          "rolePlay": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Roleplay",
            "format": "int32",
            "example": 1
          },
          "procedure": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Procedure",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "UpdateLesson3DRequest": {
        "required": [
          "instituteId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 13018
          },
          "file": {
            "type": "string",
            "description": "Lesson json file, in base64 string",
            "nullable": true
          },
          "lessonAppVersion": {
            "type": "string",
            "description": "Lesson app version identifier. \r\n<br>Format: major.minor[.build[.revision]]</br><br>Optional components are shown in square brackets</br>",
            "nullable": true,
            "example": "9.0.0"
          }
        },
        "additionalProperties": false
      },
      "UpdateLessonTags": {
        "type": "object",
        "properties": {
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateMaxScoreRequest": {
        "required": [
          "maxScore"
        ],
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "description": "lesson activity identifier required if no LessonActivityId provided",
            "format": "int32",
            "nullable": true,
            "example": 23490
          },
          "lessonId": {
            "type": "integer",
            "description": "lesson identifier required if no ActivityId provided",
            "format": "int32",
            "nullable": true,
            "example": 13018
          },
          "lessonActivityId": {
            "type": "integer",
            "description": "Non-unique lesson specific activity identifier required if no ActivityId provided",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "maxScore": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "new max score value of activity",
            "format": "int32",
            "example": 3
          }
        },
        "additionalProperties": false
      },
      "UpdateMeetingRequest": {
        "required": [
          "isPublic",
          "meetingId",
          "name"
        ],
        "type": "object",
        "properties": {
          "meetingId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Meeting identifier",
            "format": "int32",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "Meeting name",
            "example": "My Meeting"
          },
          "regionCode": {
            "type": "string",
            "description": "Regional code",
            "nullable": true,
            "example": "eu"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Is meeting publicly available",
            "example": true
          }
        },
        "additionalProperties": false
      },
      "UpdateMeetingResponse": {
        "type": "object",
        "properties": {
          "meetingId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean"
          },
          "isStarted": {
            "type": "boolean"
          },
          "roomCode": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UpdateOrderRequest": {
        "required": [
          "orderIndex"
        ],
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "description": "lesson activity identifier required if no LessonActivityId provided",
            "format": "int32",
            "nullable": true,
            "example": 23490
          },
          "lessonId": {
            "type": "integer",
            "description": "lesson identifier required if no ActivityId provided",
            "format": "int32",
            "nullable": true,
            "example": 13018
          },
          "lessonActivityId": {
            "type": "integer",
            "description": "Non-unique lesson specific activity identifier required if no ActivityId provided",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "orderIndex": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "new order number of activity within the lesson",
            "format": "int32",
            "example": 3
          }
        },
        "additionalProperties": false
      },
      "UpdateReadStatusRequest": {
        "required": [
          "id",
          "isRead"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Notification identifier",
            "format": "int32",
            "example": 1
          },
          "isRead": {
            "maximum": 1,
            "minimum": 0,
            "type": "integer",
            "description": "Read status of notification message",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "UpdateUserCurrentInstituteRequest": {
        "required": [
          "instituteId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "UpdateUserDeviceInfoRequest": {
        "required": [
          "appType",
          "deviceId",
          "deviceType",
          "fcmToken"
        ],
        "type": "object",
        "properties": {
          "fcmToken": {
            "type": "string",
            "description": "FCM (Firebase Cloud Messaging) Token",
            "example": ""
          },
          "deviceId": {
            "type": "string",
            "description": "User device identifier",
            "example": ""
          },
          "deviceType": {
            "maximum": 2,
            "minimum": 1,
            "type": "integer",
            "description": "Device type identifier\r\n<pare>iOS = 1, Android = 2</pare>",
            "format": "int32"
          },
          "appType": {
            "maximum": 2,
            "minimum": 1,
            "type": "integer",
            "description": "Application type identifier\r\n<br>eoncore = 1, unity = 2",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UploadAttemptModel": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UploadLesson3DAudioFileRequest": {
        "required": [
          "instituteId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 13018
          },
          "file": {
            "type": "string",
            "description": "Lesson 3D audio file, in base64 string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UploadLesson3DAudioFileResponse": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "description": "File name of the uploaded audio",
            "nullable": true
          },
          "fileUrl": {
            "type": "string",
            "description": "File url to the uploaded audio (signed)",
            "nullable": true
          },
          "fileUrlUnsigned": {
            "type": "string",
            "description": "File url to the uploaded audio (unsigned, insecure)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UploadLesson3DRecordingFileRequest": {
        "required": [
          "instituteId",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "instituteId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Institute identifier",
            "format": "int32",
            "example": 1
          },
          "lessonId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Lesson identifier",
            "format": "int32",
            "example": 13018
          },
          "file": {
            "type": "string",
            "description": "Lesson 3D recording file, in base64 string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UploadLesson3DRecordingFileResponse": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "description": "File name of the uploaded recording file",
            "nullable": true
          },
          "fileUrl": {
            "type": "string",
            "description": "File url to the uploaded audio (signed)",
            "nullable": true
          },
          "fileUrlUnsigned": {
            "type": "string",
            "description": "File url to the uploaded audio (unsigned, insecure)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UploadParam": {
        "type": "object",
        "properties": {
          "uploadType": {
            "type": "integer",
            "format": "int32"
          },
          "institutionID": {
            "type": "integer",
            "format": "int32"
          },
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "extension": {
            "type": "string",
            "nullable": true
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserAppAuditDetails": {
        "required": [
          "appEnvironment",
          "appVersion",
          "lessonID",
          "platform",
          "platformVersion"
        ],
        "type": "object",
        "properties": {
          "appVersion": {
            "type": "string"
          },
          "appEnvironment": {
            "type": "string"
          },
          "platform": {
            "type": "string"
          },
          "platformVersion": {
            "type": "string"
          },
          "lessonID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UserContentAssign": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "userGrpId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "permissionId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "permissionType": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "contentAssign": {
            "$ref": "#/components/schemas/ContentAssign"
          }
        },
        "additionalProperties": false
      },
      "UserInstitution": {
        "type": "object",
        "properties": {
          "institutionId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserPermission": {
        "type": "object",
        "properties": {
          "permissionId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserSettingsResponse": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "description": "User setting value",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VC_CreateCoursesModel": {
        "type": "object",
        "properties": {
          "programID": {
            "type": "integer",
            "format": "int32"
          },
          "courseFileIDs": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VC_CreateProgramModel": {
        "type": "object",
        "properties": {
          "programName": {
            "type": "string",
            "nullable": true
          },
          "programFile": {
            "type": "string",
            "nullable": true
          },
          "learningOutcomes": {
            "type": "string",
            "nullable": true
          },
          "courseFiles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VC_RequestModel": {
        "type": "object",
        "properties": {
          "programID": {
            "type": "integer",
            "format": "int32"
          },
          "courseID": {
            "type": "integer",
            "format": "int32"
          },
          "lessonID": {
            "type": "integer",
            "format": "int32"
          },
          "fileID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ValidityViewType": {
        "enum": [
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "VideoResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VoiceAccent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "person": {
            "type": "string",
            "nullable": true
          },
          "accent": {
            "type": "string",
            "nullable": true
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          },
          "voiceName": {
            "type": "string",
            "nullable": true
          },
          "cloudService": {
            "type": "integer",
            "format": "int32"
          },
          "gender": {
            "type": "string",
            "nullable": true
          },
          "isNeural": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "WorkspaceLesson": {
        "type": "object",
        "properties": {
          "lessonId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lessonType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lessonName": {
            "type": "string",
            "nullable": true
          },
          "thumbnailUrl": {
            "type": "string",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "isPublic": {
            "type": "boolean"
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "contentRefInstituteId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isPublicSharing": {
            "type": "boolean",
            "nullable": true
          },
          "publicSharingOption": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isCopyRef": {
            "type": "boolean",
            "nullable": true
          },
          "hasRecording": {
            "type": "boolean"
          },
          "isAsset3DOneToOneScale": {
            "type": "boolean"
          },
          "isAssignedTo": {
            "type": "boolean",
            "nullable": true
          },
          "href": {
            "type": "string",
            "nullable": true
          },
          "anchorName": {
            "type": "string",
            "nullable": true
          },
          "hasCloudAnchor": {
            "type": "boolean"
          },
          "isOnSale": {
            "type": "boolean"
          },
          "authorName": {
            "type": "string",
            "nullable": true
          },
          "isMarketplaceLesson": {
            "type": "boolean"
          },
          "modifiedDateMomentAgo": {
            "type": "string",
            "nullable": true
          },
          "mvbWizardType": {
            "type": "integer",
            "format": "int32"
          },
          "isAILight": {
            "maximum": 4,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "WorkspaceViewType": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Please insert JWT token into field",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}