{
  "openapi": "3.0.1",
  "info": {
    "title": "QuizMachine Quiz API",
    "description": "The public quiz-creation, question-editing, and Topics API (schema version 3).",
    "version": "v1"
  },
  "paths": {
    "/api/v1/media": {
      "post": {
        "tags": [
          "MediaApi"
        ],
        "operationId": "MediaApi_Upload",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "File": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "File": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "media:write"
        ]
      },
      "get": {
        "tags": [
          "MediaApi"
        ],
        "operationId": "MediaApi_List",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetListApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetListApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetListApiResponse"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:read"
        ]
      }
    },
    "/api/v1/media/{id}": {
      "delete": {
        "tags": [
          "MediaApi"
        ],
        "operationId": "MediaApi_Delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "media:write"
        ]
      },
      "get": {
        "tags": [
          "MediaApi"
        ],
        "operationId": "MediaApi_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaAssetApiDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:read"
        ]
      }
    },
    "/api/v1/quizzes": {
      "post": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_Create",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuizExportPackage"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizWriteApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizWriteApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizWriteApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      },
      "get": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_List",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "modified-desc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizApiListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizApiListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizApiListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:read"
        ]
      }
    },
    "/api/v1/quizzes/{id}": {
      "get": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "media",
            "in": "query",
            "schema": {
              "enum": [
                "embedded",
                "references"
              ],
              "type": "string",
              "default": "embedded"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizExportPackage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizExportPackage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizExportPackage"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:read"
        ]
      },
      "put": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_Replace",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuizExportPackage"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizWriteApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizWriteApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizWriteApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      },
      "patch": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_PatchQuiz",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/QuizMergePatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizPatchApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizPatchApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizPatchApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/quizzes/{id}/status": {
      "put": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_SetStatus",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateQuizStatusRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizStatusApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizStatusApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizStatusApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/quizzes/{id}/slug": {
      "put": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_SetSlug",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateQuizSlugRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizSlugApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizSlugApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizSlugApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      },
      "delete": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_ClearSlug",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizSlugApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizSlugApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizSlugApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions": {
      "post": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_CreateQuestion",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuizExportQuestionDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/pages": {
      "post": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_CreatePage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateQuizPageRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizPageApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizPageApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizPageApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/pages/{pageNumber}": {
      "delete": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_DeletePage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "deleteContents",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizPageApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizPageApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizPageApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions/{questionId}": {
      "patch": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_PatchQuestion",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionMergePatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions/{questionId}/options/{optionId}": {
      "patch": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_PatchOption",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "optionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OptionMergePatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions/{questionId}/topics": {
      "put": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_ReplaceQuestionTopics",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceQuestionTopicsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionTopicsApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionTopicsApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionTopicsApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "topic:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions/{questionId}/images": {
      "post": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_AttachQuestionImage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachQuestionImageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions/{questionId}/images/{imageId}": {
      "patch": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_UpdateQuestionImage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "imageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateQuestionImageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      },
      "delete": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_DetachQuestionImage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "imageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions/{questionId}/images/order": {
      "put": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_ReorderQuestionImages",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderQuestionImagesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionImagesApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions/{questionId}/feedback-images": {
      "post": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_AttachFeedbackImage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachFeedbackImageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions/{questionId}/feedback-images/{imageId}": {
      "patch": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_UpdateFeedbackImage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "imageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFeedbackImageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      },
      "delete": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_DetachFeedbackImage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "imageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions/{questionId}/feedback-images/order": {
      "put": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_ReorderFeedbackImages",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderFeedbackImagesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionFeedbackImagesApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions/{questionId}/options/{optionId}/image": {
      "put": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_SetOptionImage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "optionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetOptionImageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      },
      "delete": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_DetachOptionImage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "optionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "side",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/questions/{questionId}/diagram-reference-image": {
      "put": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_SetDiagramReferenceImage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetDiagramReferenceImageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      },
      "delete": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_DetachDiagramReferenceImage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "questionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionPatchApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/text-media-blocks/{blockId}/image": {
      "put": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_SetBlockImage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "blockId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetBlockImageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TextMediaBlockImageApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TextMediaBlockImageApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TextMediaBlockImageApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write",
          "media:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/operations": {
      "post": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_ExecuteOperations",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Caller-generated key required for a mutating batch (dryRun=false, the default); validation-only dry runs do not consume it.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuizBatchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted revision represented by this batch response. An idempotent replay can return a historical revision; fetch the quiz before a subsequent write.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ],
        "x-operation-scopes": {
          "replaceTopics": [
            "topic:write"
          ],
          "createQuestion": [
            "topic:write"
          ],
          "attachImage": [
            "media:write"
          ],
          "updateImage": [
            "media:write"
          ],
          "reorderImages": [
            "media:write"
          ],
          "detachImage": [
            "media:write"
          ],
          "attachFeedbackImage": [
            "media:write"
          ],
          "updateFeedbackImage": [
            "media:write"
          ],
          "reorderFeedbackImages": [
            "media:write"
          ],
          "detachFeedbackImage": [
            "media:write"
          ],
          "setOptionImage": [
            "media:write"
          ],
          "setDiagramReferenceImage": [
            "media:write"
          ],
          "createBlock": [
            "media:write"
          ],
          "patchBlock": [
            "media:write"
          ]
        }
      }
    },
    "/api/v1/quizzes/{quizId}/validate": {
      "post": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_ValidateOperations",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuizBatchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizValidationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizValidationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizValidationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuizBatchResponse"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ],
        "x-operation-scopes": {
          "replaceTopics": [
            "topic:write"
          ],
          "createQuestion": [
            "topic:write"
          ],
          "attachImage": [
            "media:write"
          ],
          "updateImage": [
            "media:write"
          ],
          "reorderImages": [
            "media:write"
          ],
          "detachImage": [
            "media:write"
          ],
          "attachFeedbackImage": [
            "media:write"
          ],
          "updateFeedbackImage": [
            "media:write"
          ],
          "reorderFeedbackImages": [
            "media:write"
          ],
          "detachFeedbackImage": [
            "media:write"
          ],
          "setOptionImage": [
            "media:write"
          ],
          "setDiagramReferenceImage": [
            "media:write"
          ],
          "createBlock": [
            "media:write"
          ],
          "patchBlock": [
            "media:write"
          ]
        }
      }
    },
    "/api/v1/quizzes/{quizId}/pages/{pageNumber}/order": {
      "get": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_GetPageOrder",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PageItemOrderResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageItemOrderResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageItemOrderResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:read"
        ]
      },
      "put": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_ReorderPage",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PageItemOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PageItemOrderResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageItemOrderResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageItemOrderResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/text-media-blocks": {
      "post": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_CreateTextMediaBlock",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTextMediaBlockRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TextMediaBlockApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TextMediaBlockApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TextMediaBlockApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/text-media-blocks/{blockId}": {
      "patch": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_PatchTextMediaBlock",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "blockId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TextMediaBlockMergePatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TextMediaBlockApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TextMediaBlockApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TextMediaBlockApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      },
      "delete": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_DeleteTextMediaBlock",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "blockId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "Quoted quiz revision from the latest ETag response, for example \"3\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "ETag": {
                "description": "Quoted current quiz revision for a subsequent If-Match header.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteTextMediaBlockApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteTextMediaBlockApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteTextMediaBlockApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/quizzes/{quizId}/text-media-blocks/latex-preview": {
      "post": {
        "tags": [
          "QuizCreation"
        ],
        "operationId": "Quiz_PreviewLatexArticle",
        "parameters": [
          {
            "name": "quizId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "images"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LatexArticlePreviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "quiz:write"
        ]
      }
    },
    "/api/v1/topics": {
      "get": {
        "tags": [
          "TopicsApi"
        ],
        "operationId": "TopicsApi_List",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TopicApiListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopicApiListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopicApiListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "topic:read"
        ]
      },
      "post": {
        "tags": [
          "TopicsApi"
        ],
        "operationId": "TopicsApi_Create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTopicApiRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TopicApiDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopicApiDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopicApiDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-required-scopes": [
          "topic:write"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AttachFeedbackImageRequest": {
        "type": "object",
        "properties": {
          "mediaAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "alignment": {
            "type": "string",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AttachQuestionImageRequest": {
        "type": "object",
        "properties": {
          "mediaAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "alignment": {
            "enum": [
              "Left",
              "Center",
              "Right"
            ],
            "type": "string",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateImageBlockRequest": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "newPage": {
            "type": "boolean"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "blockType": {
            "type": "string",
            "nullable": true
          },
          "textContent": {
            "type": "string",
            "nullable": true
          },
          "textAllowMarkdown": {
            "type": "boolean"
          },
          "isHeader": {
            "type": "boolean"
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          },
          "youTubeVideoId": {
            "type": "string",
            "nullable": true
          },
          "alignment": {
            "type": "string",
            "nullable": true
          },
          "presentation": {
            "type": "string",
            "nullable": true
          },
          "tone": {
            "type": "string",
            "nullable": true
          },
          "joinWithPrevious": {
            "type": "boolean"
          },
          "isIntroImage": {
            "type": "boolean"
          },
          "layoutColumns": {
            "maximum": 3,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreateLatexArticleBlockRequest": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "newPage": {
            "type": "boolean"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "blockType": {
            "type": "string",
            "nullable": true
          },
          "textContent": {
            "maxLength": 4000,
            "type": "string",
            "nullable": true
          },
          "textAllowMarkdown": {
            "type": "boolean"
          },
          "isHeader": {
            "type": "boolean"
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          },
          "youTubeVideoId": {
            "type": "string",
            "nullable": true
          },
          "alignment": {
            "type": "string",
            "nullable": true
          },
          "presentation": {
            "type": "string",
            "nullable": true
          },
          "tone": {
            "type": "string",
            "nullable": true
          },
          "joinWithPrevious": {
            "type": "boolean"
          },
          "isIntroImage": {
            "type": "boolean"
          },
          "layoutColumns": {
            "maximum": 3,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreateMermaidBlockRequest": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "newPage": {
            "type": "boolean"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "blockType": {
            "type": "string",
            "nullable": true
          },
          "textContent": {
            "type": "string",
            "nullable": true
          },
          "textAllowMarkdown": {
            "type": "boolean"
          },
          "isHeader": {
            "type": "boolean"
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          },
          "youTubeVideoId": {
            "type": "string",
            "nullable": true
          },
          "alignment": {
            "type": "string",
            "nullable": true
          },
          "presentation": {
            "type": "string",
            "nullable": true
          },
          "tone": {
            "type": "string",
            "nullable": true
          },
          "joinWithPrevious": {
            "type": "boolean"
          },
          "isIntroImage": {
            "type": "boolean"
          },
          "layoutColumns": {
            "maximum": 3,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreateQuizPageRequest": {
        "type": "object",
        "properties": {
          "position": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "timeLimitSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateTextBlockRequest": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "newPage": {
            "type": "boolean"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "blockType": {
            "type": "string",
            "nullable": true
          },
          "textContent": {
            "type": "string",
            "nullable": true
          },
          "textAllowMarkdown": {
            "type": "boolean"
          },
          "isHeader": {
            "type": "boolean"
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          },
          "youTubeVideoId": {
            "type": "string",
            "nullable": true
          },
          "alignment": {
            "type": "string",
            "nullable": true
          },
          "presentation": {
            "type": "string",
            "nullable": true
          },
          "tone": {
            "type": "string",
            "nullable": true
          },
          "joinWithPrevious": {
            "type": "boolean"
          },
          "isIntroImage": {
            "type": "boolean"
          },
          "layoutColumns": {
            "maximum": 3,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreateTextMediaBlockRequest": {
        "type": "object",
        "oneOf": [
          {
            "$ref": "#/components/schemas/CreateTextBlockRequest"
          },
          {
            "$ref": "#/components/schemas/CreateImageBlockRequest"
          },
          {
            "$ref": "#/components/schemas/CreateYouTubeBlockRequest"
          },
          {
            "$ref": "#/components/schemas/CreateMermaidBlockRequest"
          },
          {
            "$ref": "#/components/schemas/CreateLatexArticleBlockRequest"
          }
        ],
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "newPage": {
            "type": "boolean"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "blockType": {
            "enum": [
              "Text",
              "Image",
              "YouTube",
              "Mermaid",
              "LatexArticle"
            ],
            "type": "string",
            "nullable": true
          },
          "textContent": {
            "type": "string",
            "nullable": true
          },
          "textAllowMarkdown": {
            "type": "boolean"
          },
          "isHeader": {
            "type": "boolean"
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          },
          "youTubeVideoId": {
            "type": "string",
            "nullable": true
          },
          "alignment": {
            "enum": [
              "Left",
              "Center",
              "Right"
            ],
            "type": "string",
            "nullable": true
          },
          "presentation": {
            "type": "string",
            "nullable": true
          },
          "tone": {
            "type": "string",
            "nullable": true
          },
          "joinWithPrevious": {
            "type": "boolean"
          },
          "isIntroImage": {
            "type": "boolean"
          },
          "layoutColumns": {
            "maximum": 3,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "discriminator": {
          "propertyName": "blockType",
          "mapping": {
            "Text": "#/components/schemas/CreateTextBlockRequest",
            "Image": "#/components/schemas/CreateImageBlockRequest",
            "YouTube": "#/components/schemas/CreateYouTubeBlockRequest",
            "Mermaid": "#/components/schemas/CreateMermaidBlockRequest",
            "LatexArticle": "#/components/schemas/CreateLatexArticleBlockRequest"
          }
        }
      },
      "CreateTopicApiRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateYouTubeBlockRequest": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "newPage": {
            "type": "boolean"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "blockType": {
            "type": "string",
            "nullable": true
          },
          "textContent": {
            "type": "string",
            "nullable": true
          },
          "textAllowMarkdown": {
            "type": "boolean"
          },
          "isHeader": {
            "type": "boolean"
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          },
          "youTubeVideoId": {
            "type": "string",
            "nullable": true
          },
          "alignment": {
            "type": "string",
            "nullable": true
          },
          "presentation": {
            "type": "string",
            "nullable": true
          },
          "tone": {
            "type": "string",
            "nullable": true
          },
          "joinWithPrevious": {
            "type": "boolean"
          },
          "isIntroImage": {
            "type": "boolean"
          },
          "layoutColumns": {
            "maximum": 3,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "DeleteTextMediaBlockApiResponse": {
        "type": "object",
        "properties": {
          "blockId": {
            "type": "string",
            "format": "uuid"
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "JsonNode": {
        "type": "object",
        "properties": {
          "options": {
            "$ref": "#/components/schemas/JsonNodeOptions"
          },
          "parent": {
            "$ref": "#/components/schemas/JsonNode"
          },
          "root": {
            "$ref": "#/components/schemas/JsonNode"
          }
        },
        "additionalProperties": false
      },
      "JsonNodeOptions": {
        "type": "object",
        "properties": {
          "propertyNameCaseInsensitive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "LatexArticlePreviewRequest": {
        "type": "object",
        "properties": {
          "textContent": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MediaAssetApiDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "mimeType": {
            "type": "string",
            "nullable": true
          },
          "sizeBytes": {
            "type": "integer",
            "format": "int64"
          },
          "sha256": {
            "type": "string",
            "nullable": true
          },
          "originalFileName": {
            "type": "string",
            "nullable": true
          },
          "createdAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MediaAssetListApiResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MediaAssetApiDto"
            },
            "nullable": true
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "OptionMergePatchRequest": {
        "type": "object",
        "properties": {
          "text": {
            "maxLength": 1000,
            "type": "string",
            "example": "[\"Norway\",\"Oslo\"]"
          },
          "hint": {
            "maxLength": 150,
            "type": "string",
            "nullable": true,
            "example": "Capital city"
          },
          "isCorrect": {
            "type": "boolean"
          },
          "overridePoints": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PageItemOrderEntry": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "PageItemOrderRequest": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PageItemOrderEntry"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PageItemOrderResponse": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PageItemOrderEntry"
            },
            "nullable": true
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "QuestionFeedbackImagesApiResponse": {
        "type": "object",
        "properties": {
          "questionId": {
            "type": "string",
            "format": "uuid"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizExportQuestionImageDto"
            },
            "nullable": true
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "QuestionImagesApiResponse": {
        "type": "object",
        "properties": {
          "questionId": {
            "type": "string",
            "format": "uuid"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizExportQuestionImageDto"
            },
            "nullable": true
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "QuestionMergePatchRequest": {
        "type": "object",
        "properties": {
          "body": {
            "maxLength": 65536,
            "type": "string"
          },
          "bodyAllowMarkdown": {
            "type": "boolean"
          },
          "points": {
            "type": "number",
            "format": "double"
          },
          "isRequired": {
            "type": "boolean"
          },
          "isDisabled": {
            "type": "boolean"
          },
          "randomizeOptions": {
            "type": "boolean"
          },
          "allowNegativeScore": {
            "type": "boolean"
          },
          "difficulty": {
            "type": "integer",
            "format": "int32"
          },
          "caseSensitiveMatch": {
            "type": "boolean"
          },
          "matchingImmediateFeedback": {
            "type": "boolean",
            "example": true
          },
          "immediateFeedback": {
            "type": "boolean"
          },
          "immediateFeedbackMaxAttempts": {
            "type": "integer",
            "format": "int32"
          },
          "showFeedback": {
            "type": "boolean"
          },
          "feedbackText": {
            "maxLength": 65536,
            "type": "string",
            "example": "The best move maximizes the minimum score.\n\n```mermaid\nflowchart TD\n    A[Your move] --> B[Opponent response]\n```"
          },
          "feedbackAllowMarkdown": {
            "type": "boolean",
            "example": true
          },
          "aiEvaluationEnabled": {
            "type": "boolean",
            "example": true
          },
          "modelAnswer": {
            "type": "string",
            "example": "Expected answer"
          },
          "rubric": {
            "type": "string",
            "example": "Key concepts and reasoning"
          },
          "aiOnlyCodeEvaluation": {
            "type": "boolean"
          },
          "codeStarterCode": {
            "maxLength": 16000,
            "type": "string"
          },
          "codeReferenceSolution": {
            "maxLength": 16000,
            "type": "string",
            "example": "return result;"
          },
          "codeTestCasesJson": {
            "maxLength": 16000,
            "type": "string"
          },
          "mathWorkingAiFeedbackEnabled": {
            "type": "boolean"
          },
          "mathExpectedWorking": {
            "maxLength": 12000,
            "type": "string",
            "example": "1 + 1 = 2"
          },
          "mathWorkingRubric": {
            "maxLength": 6000,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "QuestionPatchApiResponse": {
        "type": "object",
        "properties": {
          "question": {
            "$ref": "#/components/schemas/QuizExportQuestionDto"
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "QuestionTopicsApiResponse": {
        "type": "object",
        "properties": {
          "questionId": {
            "type": "string",
            "format": "uuid"
          },
          "topicIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "QuizApiListResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizApiSummaryDto"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "QuizApiSummaryDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "ownerId": {
            "type": "string",
            "format": "uuid"
          },
          "pageCount": {
            "type": "integer",
            "format": "int32"
          },
          "responseCount": {
            "type": "integer",
            "format": "int32"
          },
          "requiresLogin": {
            "type": "boolean"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "createdAtUtc": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "QuizBatchOperationRequest": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "patchQuestion",
              "replaceTopics",
              "attachImage",
              "updateImage",
              "reorderImages",
              "detachImage",
              "attachFeedbackImage",
              "updateFeedbackImage",
              "reorderFeedbackImages",
              "detachFeedbackImage",
              "setOptionImage",
              "setDiagramReferenceImage",
              "addPage",
              "createQuestion",
              "createBlock",
              "patchBlock",
              "deleteBlock",
              "reorderPage",
              "patchQuiz"
            ],
            "type": "string",
            "nullable": true
          },
          "questionId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "blockId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "patch": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonNode"
            },
            "nullable": true
          },
          "topicIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "imageIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "alignment": {
            "type": "string",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PageItemOrderEntry"
            },
            "nullable": true
          },
          "pageType": {
            "type": "string",
            "nullable": true
          },
          "timeLimitSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "question": {
            "$ref": "#/components/schemas/QuizExportQuestionDto"
          },
          "block": {
            "$ref": "#/components/schemas/CreateTextMediaBlockRequest"
          },
          "optionId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "side": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizBatchOperationResult": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "questionId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "blockId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizBatchRequest": {
        "type": "object",
        "properties": {
          "operations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizBatchOperationRequest"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizBatchResponse": {
        "type": "object",
        "properties": {
          "revision": {
            "type": "integer",
            "format": "int64"
          },
          "dryRun": {
            "type": "boolean"
          },
          "replayed": {
            "type": "boolean"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizBatchOperationResult"
            },
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizBatchValidationError"
            },
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizBatchValidationWarning"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizBatchValidationError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "path": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizBatchValidationWarning": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "path": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizExportAiProviderProfileDto": {
        "type": "object",
        "properties": {
          "providerType": {
            "type": "string",
            "nullable": true
          },
          "modelId": {
            "type": "string",
            "nullable": true
          },
          "endpointUrl": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "configurationVersion": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "QuizExportDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "welcomeMessage": {
            "type": "string",
            "nullable": true
          },
          "passingScorePercent": {
            "type": "integer",
            "format": "int32"
          },
          "showFeedbackToTakers": {
            "type": "boolean"
          },
          "randomizeQuestionOrder": {
            "type": "boolean"
          },
          "allowMultipleAttempts": {
            "type": "boolean"
          },
          "retakeOnlyIfFailed": {
            "type": "boolean"
          },
          "allowDetailedTrainingRetakes": {
            "type": "boolean"
          },
          "allowSaveQuestionsForLater": {
            "type": "boolean",
            "nullable": true
          },
          "allowHardestQuestionTraining": {
            "type": "boolean"
          },
          "maxAttempts": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "timeLimitMinutes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "awardCompletionCertificate": {
            "type": "boolean"
          },
          "allowLoggedInResultOptOut": {
            "type": "boolean"
          },
          "hideQuizMachineBrandingOverride": {
            "type": "boolean",
            "nullable": true
          },
          "kind": {
            "type": "string",
            "nullable": true
          },
          "allowSearchEngineIndexing": {
            "type": "boolean"
          },
          "mode": {
            "type": "string",
            "nullable": true
          },
          "dynamicMinimumQuestionCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dynamicMaximumQuestionCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dynamicTopicIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "allowDynamicQuizAiSummary": {
            "type": "boolean"
          },
          "allowAiFeedbackDuringQuiz": {
            "type": "boolean"
          },
          "aiEvaluationDailyCallCap": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "aiProviderType": {
            "type": "string",
            "nullable": true
          },
          "aiEndpointUrl": {
            "type": "string",
            "nullable": true
          },
          "aiProviderProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizExportAiProviderProfileDto"
            },
            "nullable": true
          },
          "analyticsColumnsJson": {
            "type": "string",
            "nullable": true
          },
          "requiresAccessCode": {
            "type": "boolean"
          },
          "requiresPayment": {
            "type": "boolean"
          },
          "paywallPriceAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "paywallCurrency": {
            "type": "string",
            "nullable": true
          },
          "paywallDescription": {
            "type": "string",
            "nullable": true
          },
          "paywallButtonText": {
            "type": "string",
            "nullable": true
          },
          "paywallMode": {
            "type": "string",
            "nullable": true
          },
          "paywallFreeAttemptsForLoggedInUsers": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sendWelcomeEmail": {
            "type": "boolean"
          },
          "welcomeEmailBody": {
            "type": "string",
            "nullable": true
          },
          "backgroundMediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "backgroundImageData": {
            "type": "string",
            "nullable": true
          },
          "backgroundImageMimeType": {
            "type": "string",
            "nullable": true
          },
          "certificateLogoMediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "certificateLogoImageData": {
            "type": "string",
            "nullable": true
          },
          "certificateLogoImageMimeType": {
            "type": "string",
            "nullable": true
          },
          "allowCut": {
            "type": "boolean"
          },
          "allowCopy": {
            "type": "boolean"
          },
          "allowPaste": {
            "type": "boolean"
          },
          "allowRightClick": {
            "type": "boolean"
          },
          "allowPrint": {
            "type": "boolean"
          },
          "showAnswersDuringQuiz": {
            "type": "boolean"
          },
          "allowAiChatDuringQuiz": {
            "type": "boolean"
          },
          "preventAiChatDirectAnswers": {
            "type": "boolean"
          },
          "showResultsOnSubmit": {
            "type": "boolean"
          },
          "allowBackNavigation": {
            "type": "boolean"
          },
          "requiresLogin": {
            "type": "boolean"
          },
          "scheduledOpenAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "scheduledCloseAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "daysOpenAfterPublish": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizExportPageDto"
            },
            "nullable": true
          },
          "textMediaBlocks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizExportTextMediaBlockDto"
            },
            "nullable": true
          },
          "questions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizExportQuestionDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizExportOptionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "text": {
            "maxLength": 1000,
            "type": "string",
            "nullable": true
          },
          "isCorrect": {
            "type": "boolean"
          },
          "overridePoints": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "hint": {
            "maxLength": 150,
            "type": "string",
            "description": "Optional MatchingText placeholder hint; rejected for other question types.",
            "nullable": true
          },
          "imageData": {
            "type": "string",
            "nullable": true
          },
          "imageMimeType": {
            "type": "string",
            "nullable": true
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "leftMediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "rightMediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "leftImageData": {
            "type": "string",
            "nullable": true
          },
          "leftImageMimeType": {
            "type": "string",
            "nullable": true
          },
          "rightImageData": {
            "type": "string",
            "nullable": true
          },
          "rightImageMimeType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizExportPackage": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "type": "string",
            "nullable": true
          },
          "exportedAtUtc": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "shareUrl": {
            "type": "string",
            "nullable": true
          },
          "quiz": {
            "$ref": "#/components/schemas/QuizExportDto"
          }
        },
        "additionalProperties": false
      },
      "QuizExportPageDto": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "timeLimitSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizExportQuestionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "newPage": {
            "type": "boolean"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "enum": [
              "SingleChoiceRadio",
              "SingleChoiceDropdown",
              "MultipleChoice",
              "PictureChoice",
              "FillInTheBlanks",
              "Matching",
              "MatchingText",
              "FreeText",
              "FileUpload",
              "Code",
              "DiagramUpload",
              "HierarchyGraph",
              "Math",
              "RandomFromTopic",
              "ChildPictureChoice",
              "Tiles"
            ],
            "type": "string",
            "nullable": true
          },
          "body": {
            "maxLength": 65536,
            "type": "string",
            "nullable": true
          },
          "bodyAllowMarkdown": {
            "type": "boolean"
          },
          "points": {
            "type": "number",
            "format": "double"
          },
          "isRequired": {
            "type": "boolean"
          },
          "isDisabled": {
            "type": "boolean"
          },
          "randomizeOptions": {
            "type": "boolean"
          },
          "allowNegativeScore": {
            "type": "boolean"
          },
          "difficulty": {
            "type": "integer",
            "format": "int32"
          },
          "showFeedback": {
            "type": "boolean"
          },
          "feedbackText": {
            "maxLength": 65536,
            "type": "string",
            "nullable": true,
            "example": "The best move maximizes the minimum score.\n\n```mermaid\nflowchart TD\n    A[Your move] --> B[Opponent response]\n```"
          },
          "feedbackAllowMarkdown": {
            "type": "boolean",
            "example": true
          },
          "caseSensitiveMatch": {
            "type": "boolean"
          },
          "matchingImmediateFeedback": {
            "type": "boolean",
            "example": true
          },
          "immediateFeedback": {
            "type": "boolean",
            "nullable": true
          },
          "immediateFeedbackMaxAttempts": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizExportOptionDto"
            },
            "nullable": true
          },
          "childPictureChoiceResponseMode": {
            "type": "string",
            "nullable": true
          },
          "childPictureChoiceMaxAttempts": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tilesGridSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tilesBlankTargetPosition": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tilesShuffleDepth": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tilesMaximumMoves": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tilesConfigurationVersion": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tilesEngineVersion": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizExportTileDto"
            },
            "nullable": true
          },
          "narrationTranscript": {
            "type": "string",
            "nullable": true
          },
          "narrationMediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "narrationAudioData": {
            "type": "string",
            "nullable": true
          },
          "narrationAudioMimeType": {
            "type": "string",
            "nullable": true
          },
          "aiEvaluationEnabled": {
            "type": "boolean"
          },
          "modelAnswer": {
            "type": "string",
            "nullable": true
          },
          "rubric": {
            "type": "string",
            "nullable": true
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizExportQuestionImageDto"
            },
            "nullable": true
          },
          "feedbackImages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizExportQuestionImageDto"
            },
            "nullable": true
          },
          "diagramReferenceImageData": {
            "type": "string",
            "nullable": true
          },
          "diagramReferenceImageMimeType": {
            "type": "string",
            "nullable": true
          },
          "diagramReferenceImageAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "topicIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Organization Topic ids to assign during question/package creation or replacement. Requires topic:write.",
            "nullable": true,
            "example": [
              "11111111-1111-1111-1111-111111111111"
            ]
          },
          "topicNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional create-time names; existing Topics are reused case-insensitively and missing Topics are created. Requires topic:write.",
            "nullable": true,
            "writeOnly": true,
            "example": [
              "Minimax"
            ]
          },
          "randomSourceTopicId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "codeLanguage": {
            "type": "string",
            "nullable": true
          },
          "codeStarterCode": {
            "maxLength": 16000,
            "type": "string",
            "nullable": true
          },
          "codeReferenceSolution": {
            "maxLength": 16000,
            "type": "string",
            "nullable": true
          },
          "codeTestCasesJson": {
            "maxLength": 16000,
            "type": "string",
            "nullable": true
          },
          "aiOnlyCodeEvaluation": {
            "type": "boolean"
          },
          "hierarchyGraphLayers": {
            "type": "integer",
            "format": "int32"
          },
          "hierarchyGraphNodePoolJson": {
            "type": "string",
            "nullable": true
          },
          "hierarchyGraphCorrectEdgesJson": {
            "type": "string",
            "nullable": true
          },
          "hierarchyGraphValidationMode": {
            "type": "string",
            "nullable": true
          },
          "hierarchyGraphExplanationRequired": {
            "type": "boolean"
          },
          "mathExpectedAnswer": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "mathToleranceMode": {
            "type": "string",
            "nullable": true
          },
          "mathToleranceValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "mathSignificantFigures": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "mathDecimalPlaces": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "mathNumberFormatOverride": {
            "type": "string",
            "nullable": true
          },
          "mathUnitRequirement": {
            "type": "string",
            "nullable": true
          },
          "mathExpectedUnit": {
            "type": "string",
            "nullable": true
          },
          "mathWorkingRequirement": {
            "type": "string",
            "nullable": true
          },
          "mathWorkingAiFeedbackEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "mathExpectedWorking": {
            "maxLength": 12000,
            "type": "string",
            "nullable": true
          },
          "mathWorkingRubric": {
            "maxLength": 6000,
            "type": "string",
            "nullable": true
          },
          "mathResponseKind": {
            "type": "string",
            "nullable": true
          },
          "mathSymbolicExpectedAnswer": {
            "type": "string",
            "nullable": true
          },
          "mathDeclaredVariables": {
            "type": "string",
            "nullable": true
          },
          "mathDomainAssumptions": {
            "type": "string",
            "nullable": true
          },
          "mathSymbolicEquivalencePolicy": {
            "type": "string",
            "nullable": true
          },
          "mathRequiredForm": {
            "type": "string",
            "nullable": true
          },
          "mathForbiddenForm": {
            "type": "string",
            "nullable": true
          },
          "mathParameterContractJson": {
            "type": "string",
            "nullable": true
          },
          "mathExpectedAnswerTemplate": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizExportQuestionImageDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "data": {
            "type": "string",
            "nullable": true
          },
          "mimeType": {
            "type": "string",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "alignment": {
            "type": "string",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizExportTextMediaBlockDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "linkedQuestionId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "blockType": {
            "enum": [
              "Text",
              "Image",
              "YouTube",
              "Mermaid",
              "LatexArticle"
            ],
            "type": "string",
            "nullable": true
          },
          "textContent": {
            "type": "string",
            "nullable": true
          },
          "imageData": {
            "type": "string",
            "nullable": true
          },
          "imageMimeType": {
            "type": "string",
            "nullable": true
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          },
          "youTubeVideoId": {
            "type": "string",
            "nullable": true
          },
          "alignment": {
            "type": "string",
            "nullable": true
          },
          "isHeader": {
            "type": "boolean"
          },
          "textAllowMarkdown": {
            "type": "boolean"
          },
          "presentation": {
            "type": "string",
            "nullable": true
          },
          "tone": {
            "type": "string",
            "nullable": true
          },
          "joinWithPrevious": {
            "type": "boolean"
          },
          "layoutColumns": {
            "type": "integer",
            "format": "int32"
          },
          "isIntroImage": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "QuizExportTileDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "targetPosition": {
            "type": "integer",
            "format": "int32"
          },
          "imageData": {
            "type": "string",
            "nullable": true
          },
          "imageMimeType": {
            "type": "string",
            "nullable": true
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizMergePatchRequest": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "welcomeMessage": {
            "type": "string",
            "nullable": true
          },
          "passingScorePercent": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "showFeedbackToTakers": {
            "type": "boolean",
            "nullable": true
          },
          "randomizeQuestionOrder": {
            "type": "boolean",
            "nullable": true
          },
          "allowMultipleAttempts": {
            "type": "boolean",
            "nullable": true
          },
          "retakeOnlyIfFailed": {
            "type": "boolean",
            "nullable": true
          },
          "allowDetailedTrainingRetakes": {
            "type": "boolean",
            "nullable": true
          },
          "allowSaveQuestionsForLater": {
            "type": "boolean",
            "nullable": true
          },
          "allowHardestQuestionTraining": {
            "type": "boolean",
            "nullable": true
          },
          "maxAttempts": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "timeLimitMinutes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "allowCut": {
            "type": "boolean",
            "nullable": true
          },
          "allowCopy": {
            "type": "boolean",
            "nullable": true
          },
          "allowPaste": {
            "type": "boolean",
            "nullable": true
          },
          "allowRightClick": {
            "type": "boolean",
            "nullable": true
          },
          "allowPrint": {
            "type": "boolean",
            "nullable": true
          },
          "showAnswersDuringQuiz": {
            "type": "boolean",
            "nullable": true
          },
          "allowAiChatDuringQuiz": {
            "type": "boolean",
            "nullable": true
          },
          "preventAiChatDirectAnswers": {
            "type": "boolean",
            "nullable": true
          },
          "showResultsOnSubmit": {
            "type": "boolean",
            "nullable": true
          },
          "allowBackNavigation": {
            "type": "boolean",
            "nullable": true
          },
          "requiresLogin": {
            "type": "boolean",
            "nullable": true
          },
          "allowAiFeedbackDuringQuiz": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizPageApiResponse": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageCount": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "timeLimitSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "QuizPatchApiResponse": {
        "type": "object",
        "properties": {
          "quiz": {
            "$ref": "#/components/schemas/QuizExportDto"
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "QuizSlugApiResponse": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "nullable": true
          },
          "shareUrl": {
            "type": "string",
            "nullable": true
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "QuizStatusApiResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "QuizValidationResponse": {
        "type": "object",
        "properties": {
          "valid": {
            "type": "boolean"
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizBatchOperationResult"
            },
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizBatchValidationError"
            },
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuizBatchValidationWarning"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuizWriteApiResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "editUrl": {
            "type": "string",
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReorderFeedbackImagesRequest": {
        "type": "object",
        "properties": {
          "imageIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReorderQuestionImagesRequest": {
        "type": "object",
        "properties": {
          "imageIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReplaceQuestionTopicsRequest": {
        "type": "object",
        "properties": {
          "topicIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetBlockImageRequest": {
        "type": "object",
        "properties": {
          "mediaAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "altText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetDiagramReferenceImageRequest": {
        "type": "object",
        "properties": {
          "mediaAssetId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "SetOptionImageRequest": {
        "type": "object",
        "properties": {
          "mediaAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "side": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TextMediaBlockApiResponse": {
        "type": "object",
        "properties": {
          "block": {
            "$ref": "#/components/schemas/QuizExportTextMediaBlockDto"
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "TextMediaBlockImageApiResponse": {
        "type": "object",
        "properties": {
          "blockId": {
            "type": "string",
            "format": "uuid"
          },
          "block": {
            "$ref": "#/components/schemas/QuizExportTextMediaBlockDto"
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "TextMediaBlockMergePatchRequest": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "textContent": {
            "type": "string"
          },
          "textAllowMarkdown": {
            "type": "boolean"
          },
          "isHeader": {
            "type": "boolean"
          },
          "mediaAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "altText": {
            "type": "string"
          },
          "youTubeVideoId": {
            "type": "string"
          },
          "alignment": {
            "enum": [
              "Left",
              "Center",
              "Right"
            ],
            "type": "string"
          },
          "presentation": {
            "type": "string"
          },
          "tone": {
            "type": "string"
          },
          "joinWithPrevious": {
            "type": "boolean"
          },
          "isIntroImage": {
            "type": "boolean"
          },
          "layoutColumns": {
            "maximum": 3,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TopicApiDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "createdAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "TopicApiListResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TopicApiDto"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UpdateFeedbackImageRequest": {
        "type": "object",
        "properties": {
          "alignment": {
            "type": "string",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateQuestionImageRequest": {
        "type": "object",
        "properties": {
          "alignment": {
            "enum": [
              "Left",
              "Center",
              "Right"
            ],
            "type": "string",
            "nullable": true
          },
          "altText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateQuizSlugRequest": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateQuizStatusRequest": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "JWT Authorization header using the Bearer scheme.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}