{
  "openapi": "3.1.0",
  "paths": {
    "/api/v1/server/apps/install": {
      "post": {
        "operationId": "Apps_installAppFromZip",
        "parameters": [],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppInstallResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Apps"
        ]
      }
    },
    "/api/v1/server/apps/{appIdentifier}/upgrade": {
      "post": {
        "operationId": "Apps_upgradeApp",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppInstallResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Apps"
        ]
      }
    },
    "/api/v1/server/apps": {
      "get": {
        "operationId": "Apps_listApps",
        "parameters": [
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "label-asc",
                      "label-desc",
                      "identifier-asc",
                      "identifier-desc",
                      "createdAt-asc",
                      "createdAt-desc",
                      "updatedAt-asc",
                      "updatedAt-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "label-asc",
                    "label-desc",
                    "identifier-asc",
                    "identifier-desc",
                    "createdAt-asc",
                    "createdAt-desc",
                    "updatedAt-asc",
                    "updatedAt-desc"
                  ]
                }
              ]
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enabled",
            "required": false,
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Apps"
        ]
      }
    },
    "/api/v1/server/apps/{appIdentifier}/enabled": {
      "put": {
        "operationId": "Apps_setAppEnabled",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetAppEnabledInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Apps"
        ]
      }
    },
    "/api/v1/server/apps/{appIdentifier}": {
      "get": {
        "operationId": "Apps_getApp",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Apps"
        ]
      },
      "delete": {
        "operationId": "Apps_uninstallApp",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Apps"
        ]
      }
    },
    "/api/v1/server/apps/{appIdentifier}/access-settings": {
      "put": {
        "operationId": "Apps_updateAppAccessSettings",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAppAccessSettingsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Apps"
        ]
      }
    },
    "/api/v1/server/apps/{appIdentifier}/workers/{workerIdentifier}/environment-variables": {
      "put": {
        "operationId": "Apps_setWorkerEnvironmentVariables",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workerIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetWorkerEnvironmentVariablesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringMapDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Apps"
        ]
      }
    },
    "/api/v1/user/apps": {
      "get": {
        "operationId": "UserApps_listApps",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserAppListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List enabled apps available for the current user",
        "tags": [
          "User Apps"
        ]
      }
    },
    "/api/v1/user/apps/{appIdentifier}": {
      "get": {
        "operationId": "UserApps_getApp",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserAppGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get an enabled app by identifier for the current user",
        "tags": [
          "User Apps"
        ]
      }
    },
    "/api/v1/user/app-contributions": {
      "get": {
        "operationId": "UserApps_getAppContributions",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppContributionsResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get app contributions",
        "tags": [
          "User Apps"
        ]
      }
    },
    "/api/v1/user/apps/{appIdentifier}/access-token": {
      "post": {
        "operationId": "UserApps_generateAppUserAccessToken",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Generate app user access token",
        "tags": [
          "User Apps"
        ]
      }
    },
    "/api/v1/user/apps/{appIdentifier}/settings": {
      "get": {
        "operationId": "UserApps_getAppUserSettings",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserSettingsGetResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get app user settings for the current user",
        "tags": [
          "User Apps"
        ]
      },
      "post": {
        "operationId": "UserApps_upsertAppUserSettings",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppUserSettingsCreateInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserSettingsGetResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create or update app user settings for the current user",
        "tags": [
          "User Apps"
        ]
      },
      "delete": {
        "operationId": "UserApps_removeAppUserSettings",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Remove app user settings for the current user",
        "tags": [
          "User Apps"
        ]
      }
    },
    "/api/v1/user/apps/{appIdentifier}/custom-settings": {
      "get": {
        "operationId": "UserApps_getUserCustomSettings",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppCustomSettingsGetResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get resolved custom settings for the current user",
        "tags": [
          "User Apps"
        ]
      },
      "patch": {
        "operationId": "UserApps_patchUserCustomSettings",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppCustomSettingsPatchInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppCustomSettingsGetResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Patch custom settings for the current user. Keys not present are\npreserved; explicit `null` values delete the key. Writes are atomic per\nkey, so concurrent patches on disjoint keys do not race.",
        "tags": [
          "User Apps"
        ]
      },
      "delete": {
        "operationId": "UserApps_deleteUserCustomSettings",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Remove custom settings for the current user (revert to defaults)",
        "tags": [
          "User Apps"
        ]
      }
    },
    "/api/v1/public/settings": {
      "get": {
        "operationId": "Public_getPublicServerSettings",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Public server settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSettingsGetResponse"
                }
              }
            }
          }
        },
        "summary": "Get the public server settings object (no authentication required).",
        "tags": [
          "Public"
        ]
      }
    },
    "/api/v1/public/build-id": {
      "get": {
        "operationId": "Public_getBuildId",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Build ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBuildIdGetResponse"
                }
              }
            }
          }
        },
        "summary": "Get the build ID identifying the running server.",
        "tags": [
          "Public"
        ]
      }
    },
    "/api/v1/server/settings": {
      "get": {
        "operationId": "Server_getServerSettings",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettingsGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get the server settings object.",
        "tags": [
          "Server"
        ]
      }
    },
    "/api/v1/server/settings/{settingKey}": {
      "put": {
        "operationId": "Server_setServerSetting",
        "parameters": [
          {
            "name": "settingKey",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetSettingInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettingSetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Set a setting in the server settings objects.",
        "tags": [
          "Server"
        ]
      },
      "delete": {
        "operationId": "Server_resetServerSetting",
        "parameters": [
          {
            "name": "settingKey",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettingSetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Reset a setting in the server settings objects.",
        "tags": [
          "Server"
        ]
      }
    },
    "/api/v1/server/metrics": {
      "get": {
        "operationId": "Server_getServerMetrics",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerMetricsResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get server metrics including user counts, folder counts, and storage statistics.",
        "tags": [
          "Server"
        ]
      }
    },
    "/api/v1/server/icon": {
      "post": {
        "operationId": "Server_setServerIcon",
        "parameters": [],
        "responses": {
          "201": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Upload (or replace) the server icon shown across the platform.",
        "tags": [
          "Server"
        ]
      },
      "delete": {
        "operationId": "Server_deleteServerIcon",
        "parameters": [],
        "responses": {
          "204": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Remove the server icon.",
        "tags": [
          "Server"
        ]
      }
    },
    "/api/v1/server/icon/{size}": {
      "get": {
        "operationId": "ServerIcon_getServerIcon",
        "parameters": [
          {
            "name": "size",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "Server Icon"
        ]
      }
    },
    "/api/v1/server/storage-provisions": {
      "get": {
        "operationId": "StorageProvisions_listStorageProvisions",
        "parameters": [
          {
            "name": "provisionType",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "CONTENT",
                "METADATA",
                "REDUNDANCY"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageProvisionsListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List the storage provisions.",
        "tags": [
          "StorageProvisions"
        ]
      },
      "post": {
        "operationId": "StorageProvisions_createUserStorageProvision",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StorageProvisionInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageProvisionsListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a new user storage provision.",
        "tags": [
          "StorageProvisions"
        ]
      }
    },
    "/api/v1/server/storage-provisions/{storageProvisionId}": {
      "get": {
        "operationId": "StorageProvisions_getStorageProvision",
        "parameters": [
          {
            "name": "storageProvisionId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageProvisionGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a storage provision by id.",
        "tags": [
          "StorageProvisions"
        ]
      },
      "put": {
        "operationId": "StorageProvisions_updateStorageProvision",
        "parameters": [
          {
            "name": "storageProvisionId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StorageProvisionUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageProvisionsListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update a server provision by id.",
        "tags": [
          "StorageProvisions"
        ]
      },
      "delete": {
        "operationId": "StorageProvisions_deleteStorageProvision",
        "parameters": [
          {
            "name": "storageProvisionId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageProvisionsListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a storage provision by id.",
        "tags": [
          "StorageProvisions"
        ]
      }
    },
    "/api/v1/server/server-storage": {
      "get": {
        "operationId": "ServerStorage_getServerStorageLocation",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerStorageLocationGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get the server storage location.",
        "tags": [
          "ServerStorage"
        ]
      },
      "post": {
        "operationId": "ServerStorage_setServerStorageLocation",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServerStorageInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerStorageLocationGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a new server provision.",
        "tags": [
          "ServerStorage"
        ]
      },
      "delete": {
        "operationId": "ServerStorage_deleteServerStorageLocation",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete any set server storage location.",
        "tags": [
          "ServerStorage"
        ]
      }
    },
    "/api/v1/server/docker-hosts/state": {
      "get": {
        "operationId": "ServerDockerHosts_getDockerHostsState",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerHostsStateResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get the current runtime state of docker hosts.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/logs": {
      "get": {
        "operationId": "ServerDockerHosts_getDockerContainerLogs",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tail",
            "required": false,
            "in": "query",
            "schema": {
              "maximum": 9007199254740991,
              "exclusiveMinimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerLogsResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get logs for a container running on a docker host.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/stats": {
      "get": {
        "operationId": "ServerDockerHosts_getDockerContainerStats",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerStatsResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get resource usage for a container.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/inspect": {
      "get": {
        "operationId": "ServerDockerHosts_getDockerContainerInspect",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerInspectResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get inspection details for a container.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/workers": {
      "get": {
        "operationId": "ServerDockerHosts_getDockerContainerWorkers",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerWorkersResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List HTTP workers for a container.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/workers/{workerId}": {
      "get": {
        "operationId": "ServerDockerHosts_getDockerContainerWorkerDetail",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "maximum": 9007199254740991,
              "exclusiveMinimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerWorkerDetailResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get worker state and recent jobs for a worker.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/jobs": {
      "get": {
        "operationId": "ServerDockerHosts_getDockerContainerJobs",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "maximum": 9007199254740991,
              "exclusiveMinimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerJobsResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List recent job state files for a container.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/purge-jobs": {
      "post": {
        "operationId": "ServerDockerHosts_purgeContainerJobs",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "olderThan",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerPurgeJobsResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Purge completed job files for a container.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/jobs/{jobId}": {
      "get": {
        "operationId": "ServerDockerHosts_getDockerContainerJobDetail",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tail",
            "required": false,
            "in": "query",
            "schema": {
              "maximum": 9007199254740991,
              "exclusiveMinimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerJobDetailResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get job state and log details for a container job.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/start": {
      "post": {
        "operationId": "ServerDockerHosts_startDockerContainer",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerActionResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Start a container.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/stop": {
      "post": {
        "operationId": "ServerDockerHosts_stopDockerContainer",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerActionResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Stop a container.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/restart": {
      "post": {
        "operationId": "ServerDockerHosts_restartDockerContainer",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerActionResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Restart a container.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/docker-hosts/{hostId}/containers/{containerId}/remove": {
      "post": {
        "operationId": "ServerDockerHosts_removeDockerContainer",
        "parameters": [
          {
            "name": "hostId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerContainerActionResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Remove a container.",
        "tags": [
          "ServerDockerHosts"
        ]
      }
    },
    "/api/v1/server/events/{eventId}": {
      "get": {
        "operationId": "ServerEvents_getEvent",
        "parameters": [
          {
            "name": "eventId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get an event by id.",
        "tags": [
          "ServerEvents"
        ]
      }
    },
    "/api/v1/server/events": {
      "get": {
        "operationId": "ServerEvents_listEvents",
        "parameters": [
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "createdAt-asc",
                      "createdAt-desc",
                      "eventIdentifier-asc",
                      "eventIdentifier-desc",
                      "emitterIdentifier-asc",
                      "emitterIdentifier-desc",
                      "objectKey-asc",
                      "objectKey-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "createdAt-asc",
                    "createdAt-desc",
                    "eventIdentifier-asc",
                    "eventIdentifier-desc",
                    "emitterIdentifier-asc",
                    "emitterIdentifier-desc",
                    "objectKey-asc",
                    "objectKey-desc"
                  ]
                }
              ]
            }
          },
          {
            "name": "folderId",
            "required": false,
            "in": "query",
            "schema": {
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "type": "string"
            }
          },
          {
            "name": "objectKey",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List events.",
        "tags": [
          "ServerEvents"
        ]
      }
    },
    "/api/v1/folders/{folderId}/events/{eventId}": {
      "get": {
        "operationId": "FolderEvents_getFolderEvent",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a folder event by id.",
        "tags": [
          "FolderEvents"
        ]
      }
    },
    "/api/v1/folders/{folderId}/events": {
      "get": {
        "operationId": "FolderEvents_listFolderEvents",
        "parameters": [
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "createdAt-asc",
                      "createdAt-desc",
                      "eventIdentifier-asc",
                      "eventIdentifier-desc",
                      "emitterIdentifier-asc",
                      "emitterIdentifier-desc",
                      "objectKey-asc",
                      "objectKey-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "createdAt-asc",
                    "createdAt-desc",
                    "eventIdentifier-asc",
                    "eventIdentifier-desc",
                    "emitterIdentifier-asc",
                    "emitterIdentifier-desc",
                    "objectKey-asc",
                    "objectKey-desc"
                  ]
                }
              ]
            }
          },
          {
            "name": "objectKey",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List tasks.",
        "tags": [
          "FolderEvents"
        ]
      }
    },
    "/api/v1/server/logs/{logId}": {
      "get": {
        "operationId": "ServerLogs_getLog",
        "parameters": [
          {
            "name": "logId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a log entry by id.",
        "tags": [
          "ServerLogs"
        ]
      }
    },
    "/api/v1/server/logs": {
      "get": {
        "operationId": "ServerLogs_listLogs",
        "parameters": [
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "createdAt-asc",
                      "createdAt-desc",
                      "message-asc",
                      "message-desc",
                      "emitterIdentifier-asc",
                      "emitterIdentifier-desc",
                      "level-asc",
                      "level-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "createdAt-asc",
                    "createdAt-desc",
                    "message-asc",
                    "message-desc",
                    "emitterIdentifier-asc",
                    "emitterIdentifier-desc",
                    "level-asc",
                    "level-desc"
                  ]
                }
              ]
            }
          },
          {
            "name": "folderId",
            "required": false,
            "in": "query",
            "schema": {
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "type": "string"
            }
          },
          {
            "name": "objectKey",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeTrace",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeDebug",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeInfo",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeWarning",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeError",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List log entries.",
        "tags": [
          "ServerLogs"
        ]
      }
    },
    "/api/v1/folders/{folderId}/logs/{logId}": {
      "get": {
        "operationId": "FolderLogs_getFolderLog",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "logId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a folder log entry by id.",
        "tags": [
          "FolderLogs"
        ]
      }
    },
    "/api/v1/folders/{folderId}/logs": {
      "get": {
        "operationId": "FolderLogs_listFolderLogs",
        "parameters": [
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "createdAt-asc",
                      "createdAt-desc",
                      "message-asc",
                      "message-desc",
                      "emitterIdentifier-asc",
                      "emitterIdentifier-desc",
                      "level-asc",
                      "level-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "createdAt-asc",
                    "createdAt-desc",
                    "message-asc",
                    "message-desc",
                    "emitterIdentifier-asc",
                    "emitterIdentifier-desc",
                    "level-asc",
                    "level-desc"
                  ]
                }
              ]
            }
          },
          {
            "name": "objectKey",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeTrace",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeDebug",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeInfo",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeWarning",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeError",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List folder log entries.",
        "tags": [
          "FolderLogs"
        ]
      }
    },
    "/api/v1/folders/{folderId}": {
      "get": {
        "operationId": "Folders_getFolder",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a folder by id.",
        "tags": [
          "Folders"
        ]
      },
      "delete": {
        "operationId": "Folders_deleteFolder",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a folder by id.",
        "tags": [
          "Folders"
        ]
      },
      "put": {
        "operationId": "Folders_updateFolder",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FolderUpdateInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderUpdateResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update a folder by id.",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/check-access": {
      "post": {
        "operationId": "Folders_checkFolderAccess",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Check S3 access and update folder accessError",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/metadata": {
      "get": {
        "operationId": "Folders_getFolderMetadata",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderGetMetadataResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get the metadata for a folder by id.",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders": {
      "get": {
        "operationId": "Folders_listFolders",
        "parameters": [
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "name-asc",
                      "name-desc",
                      "createdAt-asc",
                      "createdAt-desc",
                      "updatedAt-asc",
                      "updatedAt-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "name-asc",
                    "name-desc",
                    "createdAt-asc",
                    "createdAt-desc",
                    "updatedAt-asc",
                    "updatedAt-desc"
                  ]
                }
              ]
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List folders.",
        "tags": [
          "Folders"
        ]
      },
      "post": {
        "operationId": "Folders_createFolder",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FolderCreateInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderCreateResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a folder.",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/reindex": {
      "post": {
        "operationId": "Folders_reindexFolder",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Scan the underlying S3 location and update our local representation of it.",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/objects": {
      "get": {
        "operationId": "Folders_listFolderObjects",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "sizeBytes-asc",
                      "sizeBytes-desc",
                      "filename-asc",
                      "filename-desc",
                      "objectKey-asc",
                      "objectKey-desc",
                      "createdAt-asc",
                      "createdAt-desc",
                      "updatedAt-asc",
                      "updatedAt-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "sizeBytes-asc",
                    "sizeBytes-desc",
                    "filename-asc",
                    "filename-desc",
                    "objectKey-asc",
                    "objectKey-desc",
                    "createdAt-asc",
                    "createdAt-desc",
                    "updatedAt-asc",
                    "updatedAt-desc"
                  ]
                }
              ]
            }
          },
          {
            "name": "includeImage",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeVideo",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeAudio",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeDocument",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeUnknown",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderObjectListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List folder objects by folderId.",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/objects/{objectKey}": {
      "get": {
        "operationId": "Folders_getFolderObject",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "objectKey",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderObjectGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a folder object by folderId and objectKey.",
        "tags": [
          "Folders"
        ]
      },
      "delete": {
        "operationId": "Folders_deleteFolderObject",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "objectKey",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a folder object by folderId and objectKey.",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/presigned-urls": {
      "post": {
        "operationId": "Folders_createPresignedUrls",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FolderCreateSignedUrlInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderCreateSignedUrlsResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create presigned urls for objects in a folder.",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/objects/{objectKey}/refresh": {
      "post": {
        "operationId": "Folders_refreshFolderObjectS3Metadata",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "objectKey",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderObjectGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Scan the object again in the underlying storage, and update its state in our db.",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/shares/{userId}": {
      "get": {
        "operationId": "Folders_getFolderShares",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderShareGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get folder share for a user",
        "tags": [
          "Folders"
        ]
      },
      "post": {
        "operationId": "Folders_upsertFolderShare",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FolderShareCreateInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderShareGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Add or update a folder share",
        "tags": [
          "Folders"
        ]
      },
      "delete": {
        "operationId": "Folders_removeFolderShare",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Remove a folder share",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/shares": {
      "get": {
        "operationId": "Folders_listFolderShares",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderShareListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List folder shares",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/user-share-options": {
      "get": {
        "operationId": "Folders_listFolderShareUsers",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderShareUserListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List prospective folder share users",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/icon": {
      "post": {
        "operationId": "Folders_setFolderIcon",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderUpdateResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Upload (or replace) a folder icon image.",
        "tags": [
          "Folders"
        ]
      },
      "delete": {
        "operationId": "Folders_deleteFolderIcon",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Remove a folder icon.",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/app-settings": {
      "get": {
        "operationId": "Folders_getFolderAppSettings",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppFolderSettingsGetResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get all app settings for a folder",
        "tags": [
          "Folders"
        ]
      },
      "patch": {
        "operationId": "Folders_updateFolderAppSettings",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppFolderSettingsUpdateInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppFolderSettingsGetResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Bulk update app settings for a folder",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/apps/{appIdentifier}/custom-settings": {
      "get": {
        "operationId": "Folders_getFolderCustomSettings",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppCustomSettingsGetResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get resolved custom settings for an app on a folder",
        "tags": [
          "Folders"
        ]
      },
      "patch": {
        "operationId": "Folders_patchFolderCustomSettings",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppCustomSettingsPatchInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppCustomSettingsGetResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Patch custom settings for an app on a folder. Keys not present are\npreserved; explicit `null` values delete the key. Writes are atomic per\nkey, so concurrent patches on disjoint keys do not race.",
        "tags": [
          "Folders"
        ]
      },
      "delete": {
        "operationId": "Folders_deleteFolderCustomSettings",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Remove custom settings for an app on a folder (revert to user-level)",
        "tags": [
          "Folders"
        ]
      }
    },
    "/api/v1/folders/{folderId}/icon/{size}": {
      "get": {
        "operationId": "FolderIcons_getFolderIcon",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "Folder Icons"
        ]
      }
    },
    "/api/v1/access-keys": {
      "get": {
        "operationId": "AccessKeys_listAccessKeys",
        "parameters": [
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "accessKeyId-asc",
                      "accessKeyId-desc",
                      "accessKeyHashId-asc",
                      "accessKeyHashId-desc",
                      "endpoint-asc",
                      "endpoint-desc",
                      "region-asc",
                      "region-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "accessKeyId-asc",
                    "accessKeyId-desc",
                    "accessKeyHashId-asc",
                    "accessKeyHashId-desc",
                    "endpoint-asc",
                    "endpoint-desc",
                    "region-asc",
                    "region-desc"
                  ]
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessKeyListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List access keys.",
        "tags": [
          "AccessKeys"
        ]
      }
    },
    "/api/v1/access-keys/{accessKeyHashId}": {
      "get": {
        "operationId": "AccessKeys_getAccessKey",
        "parameters": [
          {
            "name": "accessKeyHashId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessKeyGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get an access key by id.",
        "tags": [
          "AccessKeys"
        ]
      }
    },
    "/api/v1/access-keys/{accessKeyHashId}/rotate": {
      "post": {
        "operationId": "AccessKeys_rotateAccessKey",
        "parameters": [
          {
            "name": "accessKeyHashId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RotateAccessKeyInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessKeyRotateResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Rotate an access key.",
        "tags": [
          "AccessKeys"
        ]
      }
    },
    "/api/v1/access-keys/{accessKeyHashId}/buckets": {
      "get": {
        "operationId": "AccessKeys_listAccessKeyBuckets",
        "parameters": [
          {
            "name": "accessKeyHashId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessKeyBucketsListResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List buckets for an access key.",
        "tags": [
          "AccessKeys"
        ]
      }
    },
    "/api/v1/server/access-keys": {
      "get": {
        "operationId": "ServerAccessKeys_listServerAccessKeys",
        "parameters": [
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "accessKeyId-asc",
                      "accessKeyId-desc",
                      "accessKeyHashId-asc",
                      "accessKeyHashId-desc",
                      "endpoint-asc",
                      "endpoint-desc",
                      "region-asc",
                      "region-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "accessKeyId-asc",
                    "accessKeyId-desc",
                    "accessKeyHashId-asc",
                    "accessKeyHashId-desc",
                    "endpoint-asc",
                    "endpoint-desc",
                    "region-asc",
                    "region-desc"
                  ]
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessKeyListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List server access keys.",
        "tags": [
          "ServerAccessKeys"
        ]
      }
    },
    "/api/v1/server/access-keys/{accessKeyHashId}": {
      "get": {
        "operationId": "ServerAccessKeys_getServerAccessKey",
        "parameters": [
          {
            "name": "accessKeyHashId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessKeyGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get server access key by id.",
        "tags": [
          "ServerAccessKeys"
        ]
      }
    },
    "/api/v1/server/access-keys/{accessKeyHashId}/rotate": {
      "post": {
        "operationId": "ServerAccessKeys_rotateServerAccessKey",
        "parameters": [
          {
            "name": "accessKeyHashId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RotateAccessKeyInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessKeyRotateResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Rotate a server access key.",
        "tags": [
          "ServerAccessKeys"
        ]
      }
    },
    "/api/v1/server/access-keys/{accessKeyHashId}/buckets": {
      "get": {
        "operationId": "ServerAccessKeys_listServerAccessKeyBuckets",
        "parameters": [
          {
            "name": "accessKeyHashId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessKeyBucketsListResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List buckets for an access key.",
        "tags": [
          "ServerAccessKeys"
        ]
      }
    },
    "/api/v1/server/tasks/{taskId}": {
      "get": {
        "operationId": "ServerTasks_getTask",
        "parameters": [
          {
            "name": "taskId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a task by id.",
        "tags": [
          "ServerTasks"
        ]
      }
    },
    "/api/v1/server/tasks": {
      "get": {
        "operationId": "ServerTasks_listTasks",
        "parameters": [
          {
            "name": "objectKey",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "createdAt-asc",
                      "createdAt-desc",
                      "updatedAt-asc",
                      "updatedAt-desc",
                      "startedAt-asc",
                      "startedAt-desc",
                      "completedAt-asc",
                      "completedAt-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "createdAt-asc",
                    "createdAt-desc",
                    "updatedAt-asc",
                    "updatedAt-desc",
                    "startedAt-asc",
                    "startedAt-desc",
                    "completedAt-asc",
                    "completedAt-desc"
                  ]
                }
              ]
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeWaiting",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeRunning",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeComplete",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeFailed",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "folderId",
            "required": false,
            "in": "query",
            "schema": {
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List tasks.",
        "tags": [
          "ServerTasks"
        ]
      }
    },
    "/api/v1/folders/{folderId}/tasks/{taskId}": {
      "get": {
        "operationId": "Tasks_getFolderTask",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "taskId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a folder task by id.",
        "tags": [
          "Tasks"
        ]
      }
    },
    "/api/v1/folders/{folderId}/tasks": {
      "get": {
        "operationId": "Tasks_listFolderTasks",
        "parameters": [
          {
            "name": "objectKey",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "createdAt-asc",
                      "createdAt-desc",
                      "updatedAt-asc",
                      "updatedAt-desc",
                      "startedAt-asc",
                      "startedAt-desc",
                      "completedAt-asc",
                      "completedAt-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "createdAt-asc",
                    "createdAt-desc",
                    "updatedAt-asc",
                    "updatedAt-desc",
                    "startedAt-asc",
                    "startedAt-desc",
                    "completedAt-asc",
                    "completedAt-desc"
                  ]
                }
              ]
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeWaiting",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeRunning",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeComplete",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "includeFailed",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "const": "true"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List tasks.",
        "tags": [
          "Tasks"
        ]
      }
    },
    "/api/v1/notifications/settings": {
      "get": {
        "operationId": "NotificationSettings_getUserSettings",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationSettingsResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get user's global notification settings.",
        "tags": [
          "Notifications"
        ]
      },
      "put": {
        "operationId": "NotificationSettings_updateUserSettings",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationSettingsUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationSettingsResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update user's global notification settings.",
        "tags": [
          "Notifications"
        ]
      }
    },
    "/api/v1/notifications/settings/folders/{folderId}": {
      "get": {
        "operationId": "NotificationSettings_getFolderSettings",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationSettingsResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get folder-specific notification settings.",
        "tags": [
          "Notifications"
        ]
      },
      "put": {
        "operationId": "NotificationSettings_updateFolderSettings",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationSettingsUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationSettingsResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update folder-specific notification settings.",
        "tags": [
          "Notifications"
        ]
      }
    },
    "/api/v1/notifications": {
      "get": {
        "operationId": "Notifications_listNotifications",
        "parameters": [
          {
            "name": "cursor",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "createdAt-asc",
                "createdAt-desc"
              ]
            }
          },
          {
            "name": "read",
            "required": false,
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "eventIdentifier",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "emitterIdentifier",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationListResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List user's notifications with pagination, filtering, and sorting.",
        "tags": [
          "Notifications"
        ]
      }
    },
    "/api/v1/notifications/unread-count": {
      "get": {
        "operationId": "Notifications_getUnreadCount",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationUnreadCountResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get count of unread notifications.",
        "tags": [
          "Notifications"
        ]
      }
    },
    "/api/v1/notifications/{notificationId}": {
      "get": {
        "operationId": "Notifications_getNotification",
        "parameters": [
          {
            "name": "notificationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a single notification by ID.",
        "tags": [
          "Notifications"
        ]
      }
    },
    "/api/v1/notifications/{id}/read": {
      "patch": {
        "operationId": "Notifications_markAsRead",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Mark a notification as read.",
        "tags": [
          "Notifications"
        ]
      }
    },
    "/api/v1/auth/login": {
      "post": {
        "operationId": "Auth_login",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginCredentialsDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Authenticate the user and return access and refresh tokens.",
        "tags": [
          "Auth"
        ]
      }
    },
    "/api/v1/auth/signup": {
      "post": {
        "operationId": "Auth_signup",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignupCredentialsDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignupResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Register a new user.",
        "tags": [
          "Auth"
        ]
      }
    },
    "/api/v1/auth/verify-email": {
      "post": {
        "operationId": "Auth_verifyEmail",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyEmailDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Verify email using the token from the verification link.\nReturns 204 No Content on success; infer result from status code.",
        "tags": [
          "Auth"
        ]
      }
    },
    "/api/v1/auth/logout": {
      "post": {
        "operationId": "Auth_logout",
        "parameters": [],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Logout. Kill the current session.",
        "tags": [
          "Auth"
        ]
      }
    },
    "/api/v1/auth/{refreshToken}": {
      "post": {
        "operationId": "Auth_refreshToken",
        "parameters": [
          {
            "name": "refreshToken",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenRefreshResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Refresh a session with a refresh token.",
        "tags": [
          "Auth"
        ]
      }
    },
    "/api/v1/auth/sso/complete-signup": {
      "post": {
        "operationId": "SSO_completeSignup",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSSOSignupDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompleteSSOSignupResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Complete SSO signup by choosing username",
        "tags": [
          "SSO"
        ]
      }
    },
    "/api/v1/auth/sso/initiate/{provider}": {
      "post": {
        "operationId": "SSO_initiateSSO",
        "parameters": [
          {
            "name": "provider",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InitiateSSOResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Initiate SSO login flow - returns OAuth URL",
        "tags": [
          "SSO"
        ]
      }
    },
    "/api/v1/auth/sso/callback/{provider}": {
      "post": {
        "operationId": "SSO_handleCallback",
        "parameters": [
          {
            "name": "provider",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SSOCallbackDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SSOCallbackResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Handle OAuth callback from provider",
        "tags": [
          "SSO"
        ]
      }
    },
    "/api/v1/auth/sso/link-provider": {
      "post": {
        "operationId": "SSO_linkProvider",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LinkSSOProviderDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinkProviderResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Link SSO provider to existing account",
        "tags": [
          "SSO"
        ]
      }
    },
    "/api/v1/viewer": {
      "get": {
        "operationId": "Viewer_getViewer",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewerGetResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Viewer"
        ]
      },
      "put": {
        "operationId": "Viewer_updateViewer",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ViewerUpdateInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewerGetResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Viewer"
        ]
      }
    },
    "/api/v1/viewer/avatar": {
      "post": {
        "operationId": "Viewer_setViewerAvatar",
        "parameters": [],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewerGetResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Viewer"
        ]
      },
      "delete": {
        "operationId": "Viewer_deleteViewerAvatar",
        "parameters": [],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Viewer"
        ]
      }
    },
    "/api/v1/server/users": {
      "post": {
        "operationId": "Users_createUser",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserCreateInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a user.",
        "tags": [
          "Users"
        ]
      },
      "get": {
        "operationId": "Users_listUsers",
        "parameters": [
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "isAdmin",
            "required": false,
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "createdAt-asc",
                      "createdAt-desc",
                      "email-asc",
                      "email-desc",
                      "name-asc",
                      "name-desc",
                      "username-asc",
                      "username-desc",
                      "updatedAt-asc",
                      "updatedAt-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "createdAt-asc",
                    "createdAt-desc",
                    "email-asc",
                    "email-desc",
                    "name-asc",
                    "name-desc",
                    "username-asc",
                    "username-desc",
                    "updatedAt-asc",
                    "updatedAt-desc"
                  ]
                }
              ]
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List the users.",
        "tags": [
          "Users"
        ]
      }
    },
    "/api/v1/server/users/{userId}": {
      "patch": {
        "operationId": "Users_updateUser",
        "parameters": [
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserUpdateInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update a user.",
        "tags": [
          "Users"
        ]
      },
      "get": {
        "operationId": "Users_getUser",
        "parameters": [
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserGetResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a user by id.",
        "tags": [
          "Users"
        ]
      },
      "delete": {
        "operationId": "Users_deleteUser",
        "parameters": [
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a server user by id.",
        "tags": [
          "Users"
        ]
      }
    },
    "/api/v1/server/users/{userId}/sessions": {
      "get": {
        "operationId": "Users_listActiveUserSessions",
        "parameters": [
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSessionListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Users"
        ]
      }
    },
    "/api/v1/users/{userId}/avatar/{size}": {
      "get": {
        "operationId": "UserAvatar_getUserAvatar",
        "parameters": [
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "User Avatar"
        ]
      }
    },
    "/api/v1/server/docker-sessions": {
      "get": {
        "operationId": "AdminBridgeLogs_listSessions",
        "parameters": [
          {
            "name": "appId",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "containerId",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerSessionListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List all docker bridge tunnel sessions (admin)",
        "tags": [
          "AdminBridgeObservability"
        ]
      }
    },
    "/api/v1/server/bridge-logs": {
      "get": {
        "operationId": "AdminBridgeLogs_bridgeLogs",
        "parameters": [
          {
            "name": "tail",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 2000,
              "type": "integer"
            }
          },
          {
            "name": "level",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "debug",
                "info",
                "warn",
                "error",
                "unknown"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BridgeLogListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Recent docker bridge process log lines (admin)",
        "tags": [
          "AdminBridgeObservability"
        ]
      }
    },
    "/api/v1/docker/admin-bridge-sessions/tunnel": {
      "post": {
        "description": "Creates an ephemeral raw PTY tunnel session on the Docker bridge for admin container exec. Returns session credentials for direct WebSocket access to the bridge.",
        "operationId": "AdminBridgeSession_createAdminTunnelSession",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAdminBridgeTunnelSessionRequestDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateBridgeTunnelSessionResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create an admin bridge tunnel session",
        "tags": [
          "AdminBridgeSessions"
        ]
      }
    },
    "/api/v1/docker/bridge-sessions/tunnel": {
      "post": {
        "description": "Creates a tunnel session on the Docker bridge. For framed protocol, spawns a tunnel-agent that proxies HTTP/WebSocket traffic. For raw protocol, creates a PTY exec for direct terminal access. Returns a tunnel URL for browser access and session credentials for direct WebSocket access.",
        "operationId": "BridgeSession_createTunnelSession",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBridgeTunnelSessionRequestDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateBridgeTunnelSessionResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a bridge tunnel",
        "tags": [
          "BridgeSessions"
        ]
      }
    },
    "/api/v1/docker/jobs/{jobId}/request-presigned-urls": {
      "post": {
        "description": "Returns presigned URLs for performing storage operations. The job token must have permissions for the requested folder/prefix/method combinations.",
        "operationId": "DockerWorkerHooks_requestPresignedStorageUrls",
        "parameters": [
          {
            "name": "jobId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerJobPresignedUrlsRequestDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerJobPresignedUrlsResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Request presigned URLs for file operations",
        "tags": [
          "DockerWorkerHooks"
        ]
      }
    },
    "/api/v1/docker/jobs/{jobId}/start": {
      "post": {
        "description": "Marks the associated task as started. The job token must be valid.",
        "operationId": "DockerWorkerHooks_startJob",
        "parameters": [
          {
            "name": "jobId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Signal job start",
        "tags": [
          "DockerWorkerHooks"
        ]
      }
    },
    "/api/v1/docker/jobs/{jobId}/complete": {
      "post": {
        "description": "Signals that a worker job has completed (success or failure). Updates the task status and stores the result/error information.",
        "operationId": "DockerWorkerHooks_completeJob",
        "parameters": [
          {
            "name": "jobId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerJobCompleteRequestDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Signal job completion",
        "tags": [
          "DockerWorkerHooks"
        ]
      }
    },
    "/api/v1/docker/jobs/{jobId}/progress": {
      "post": {
        "operationId": "DockerWorkerHooks_submitProgressReport",
        "parameters": [
          {
            "name": "jobId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerJobProgressRequestDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Send a mid-execution progress report from a running worker job",
        "tags": [
          "DockerWorkerHooks"
        ]
      }
    },
    "/api/v1/docker/refresh-platform-token": {
      "post": {
        "description": "Returns a new platform token with fresh expiry. Accepts app_runtime_worker or app_user tokens.",
        "operationId": "DockerWorkerHooks_refreshPlatformToken",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Refresh a platform token for a Docker container",
        "tags": [
          "DockerWorkerHooks"
        ]
      }
    },
    "/api/v1/docker/hosts": {
      "get": {
        "operationId": "DockerHosts_list",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerHostListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      },
      "post": {
        "operationId": "DockerHosts_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerHostInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerHostResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      }
    },
    "/api/v1/docker/hosts/{id}": {
      "get": {
        "operationId": "DockerHosts_get",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerHostResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      },
      "put": {
        "operationId": "DockerHosts_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerHostUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerHostResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      },
      "delete": {
        "operationId": "DockerHosts_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerHostDeleteResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      }
    },
    "/api/v1/docker/registry-credentials": {
      "get": {
        "operationId": "DockerRegistryCredentials_list",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerRegistryCredentialListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      },
      "post": {
        "operationId": "DockerRegistryCredentials_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerRegistryCredentialInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerRegistryCredentialResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      }
    },
    "/api/v1/docker/registry-credentials/{id}": {
      "put": {
        "operationId": "DockerRegistryCredentials_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerRegistryCredentialUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerRegistryCredentialResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      },
      "delete": {
        "operationId": "DockerRegistryCredentials_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerRegistryCredentialDeleteResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      }
    },
    "/api/v1/docker/profile-assignments": {
      "get": {
        "operationId": "DockerProfileAssignments_list",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerProfileAssignmentListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      },
      "post": {
        "operationId": "DockerProfileAssignments_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerProfileAssignmentInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerProfileAssignmentResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      }
    },
    "/api/v1/docker/profile-assignments/resolve/{appIdentifier}/{profileKey}": {
      "get": {
        "operationId": "DockerProfileAssignments_resolve",
        "parameters": [
          {
            "name": "appIdentifier",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "profileKey",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerProfileResolveResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      }
    },
    "/api/v1/docker/profile-assignments/{id}": {
      "get": {
        "operationId": "DockerProfileAssignments_get",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerProfileAssignmentResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      },
      "put": {
        "operationId": "DockerProfileAssignments_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerProfileAssignmentUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerProfileAssignmentResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      },
      "delete": {
        "operationId": "DockerProfileAssignments_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerProfileAssignmentDeleteResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      }
    },
    "/api/v1/docker/standalone-containers": {
      "get": {
        "operationId": "DockerStandaloneContainers_list",
        "parameters": [
          {
            "name": "dockerHostId",
            "required": false,
            "in": "query",
            "schema": {
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerStandaloneContainerListResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      },
      "post": {
        "operationId": "DockerStandaloneContainers_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerStandaloneContainerInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerStandaloneContainerResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      }
    },
    "/api/v1/docker/standalone-containers/{id}": {
      "get": {
        "operationId": "DockerStandaloneContainers_get",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerStandaloneContainerResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      },
      "put": {
        "operationId": "DockerStandaloneContainers_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerStandaloneContainerUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerStandaloneContainerResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      },
      "delete": {
        "operationId": "DockerStandaloneContainers_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerStandaloneContainerDeleteResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      }
    },
    "/api/v1/docker/standalone-containers/{id}/desired-status": {
      "post": {
        "operationId": "DockerStandaloneContainers_setDesiredStatus",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DockerStandaloneContainerDesiredStatusDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerStandaloneContainerResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "DockerHostManagement"
        ]
      }
    },
    "/api/v1/folders/{folderId}/objects/{folderObjectId}/comments": {
      "get": {
        "operationId": "Comments_listAllComments",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "folderObjectId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AllCommentsListResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List all comments for a folder object",
        "tags": [
          "Comments"
        ]
      },
      "post": {
        "operationId": "Comments_createComment",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "folderObjectId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCommentDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateRootCommentResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a comment",
        "tags": [
          "Comments"
        ]
      }
    },
    "/api/v1/folders/{folderId}/objects/{folderObjectId}/comments/{rootId}/thread": {
      "get": {
        "operationId": "Comments_getThread",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "folderObjectId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "rootId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThreadResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a comment thread",
        "tags": [
          "Comments"
        ]
      }
    },
    "/api/v1/folders/{folderId}/objects/{folderObjectId}/comments/{commentId}": {
      "delete": {
        "operationId": "Comments_deleteComment",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "folderObjectId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a comment",
        "tags": [
          "Comments"
        ]
      }
    },
    "/api/v1/folders/{folderId}/objects/{folderObjectId}/comments/{commentId}/reactions": {
      "post": {
        "operationId": "Comments_addReaction",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "folderObjectId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddReactionDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Add a reaction to a comment",
        "tags": [
          "Comments"
        ]
      }
    },
    "/api/v1/folders/{folderId}/objects/{folderObjectId}/comments/{commentId}/reactions/{emoji}": {
      "delete": {
        "operationId": "Comments_removeReaction",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "folderObjectId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "emoji",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Remove a reaction from a comment",
        "tags": [
          "Comments"
        ]
      }
    },
    "/api/v1/search": {
      "get": {
        "operationId": "Search_search",
        "parameters": [
          {
            "name": "q",
            "required": true,
            "in": "query",
            "schema": {
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "relevance-desc",
                      "name-asc",
                      "name-desc",
                      "sizeBytes-asc",
                      "sizeBytes-desc",
                      "lastModified-asc",
                      "lastModified-desc"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "relevance-desc",
                    "name-asc",
                    "name-desc",
                    "sizeBytes-asc",
                    "sizeBytes-desc",
                    "lastModified-asc",
                    "lastModified-desc"
                  ]
                }
              ]
            }
          },
          {
            "name": "mediaType",
            "required": false,
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "IMAGE",
                      "VIDEO",
                      "AUDIO",
                      "DOCUMENT",
                      "UNKNOWN"
                    ]
                  }
                },
                {
                  "type": "string",
                  "enum": [
                    "IMAGE",
                    "VIDEO",
                    "AUDIO",
                    "DOCUMENT",
                    "UNKNOWN"
                  ]
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResultsDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Perform a search query.",
        "tags": [
          "Search"
        ]
      }
    },
    "/api/mcp": {
      "post": {
        "operationId": "Mcp_handleMcp",
        "parameters": [],
        "responses": {
          "201": {
            "description": ""
          }
        },
        "tags": [
          "Mcp"
        ]
      }
    },
    "/api/v1/user/mcp/tokens": {
      "post": {
        "operationId": "McpApi_createToken",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMcpTokenInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateMcpTokenResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "MCP"
        ]
      },
      "get": {
        "operationId": "McpApi_listTokens",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpTokenListResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "MCP"
        ]
      }
    },
    "/api/v1/user/mcp/tokens/{tokenId}": {
      "delete": {
        "operationId": "McpApi_revokeToken",
        "parameters": [
          {
            "name": "tokenId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpSuccessResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "MCP"
        ]
      }
    },
    "/api/v1/user/mcp/settings": {
      "get": {
        "operationId": "McpApi_getUserMcpSettings",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpSettingsResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "MCP"
        ]
      },
      "put": {
        "operationId": "McpApi_updateUserMcpSettings",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/McpUserSettingsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpSettingsResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "MCP"
        ]
      }
    },
    "/api/v1/folders/{folderId}/mcp/settings": {
      "get": {
        "operationId": "McpApi_getFolderMcpSettings",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpSettingsResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "MCP"
        ]
      },
      "put": {
        "operationId": "McpApi_updateFolderSettings",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/McpFolderSettingsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpSettingsResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "MCP"
        ]
      },
      "delete": {
        "operationId": "McpApi_deleteFolderSettings",
        "parameters": [
          {
            "name": "folderId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpSuccessResponseDTO"
                }
              }
            }
          },
          "5XX": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          },
          "4XX": {
            "description": "Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "MCP"
        ]
      }
    }
  },
  "info": {
    "title": "@lombokapp/api",
    "description": "The Lombok core API",
    "version": "1.0",
    "contact": {}
  },
  "tags": [],
  "servers": [],
  "components": {
    "securitySchemes": {
      "bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "type": "http"
      }
    },
    "schemas": {
      "ApiErrorResponseDTO": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "AdminApp": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "config": {
            "$ref": "#/components/schemas/AppConfig"
          },
          "requiresStorage": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "userScopeEnabledDefault": {
            "type": "boolean"
          },
          "folderScopeEnabledDefault": {
            "type": "boolean"
          },
          "manifest": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/AppManifestEntry"
            }
          },
          "systemRequestRuntimeWorkers": {
            "type": "object",
            "properties": {
              "performSearch": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^[a-z0-9_]+$"
                }
              }
            },
            "required": [
              "performSearch"
            ],
            "additionalProperties": false
          },
          "connectedRuntimeWorkers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "appIdentifier": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^[a-z0-9]+-[a-f0-9]{8}$"
                },
                "workerId": {
                  "type": "string"
                },
                "socketClientId": {
                  "type": "string"
                },
                "ip": {
                  "type": "string"
                }
              },
              "required": [
                "appIdentifier",
                "workerId",
                "socketClientId",
                "ip"
              ]
            }
          },
          "runtimeWorkers": {
            "$ref": "#/components/schemas/RuntimeWorkers"
          },
          "ui": {
            "$ref": "#/components/schemas/Ui"
          },
          "contributions": {
            "$ref": "#/components/schemas/Contributions"
          },
          "metrics": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "tasksExecutedLast24Hours": {
                "type": "object",
                "properties": {
                  "completed": {
                    "type": "number"
                  },
                  "failed": {
                    "type": "number"
                  }
                },
                "required": [
                  "completed",
                  "failed"
                ]
              },
              "errorsLast24Hours": {
                "$ref": "#/components/schemas/ErrorsLast24Hours"
              },
              "eventsEmittedLast24Hours": {
                "$ref": "#/components/schemas/ErrorsLast24Hours"
              }
            },
            "required": [
              "tasksExecutedLast24Hours",
              "errorsLast24Hours",
              "eventsEmittedLast24Hours"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          }
        },
        "required": [
          "id",
          "identifier",
          "slug",
          "label",
          "config",
          "requiresStorage",
          "enabled",
          "userScopeEnabledDefault",
          "folderScopeEnabledDefault",
          "manifest",
          "systemRequestRuntimeWorkers",
          "connectedRuntimeWorkers",
          "runtimeWorkers",
          "ui",
          "contributions",
          "metrics",
          "createdAt",
          "updatedAt"
        ]
      },
      "CoreScopeAppPermission": {
        "type": "string",
        "enum": [
          "READ_FOLDER_ACL"
        ]
      },
      "UserScopeAppPermission": {
        "type": "string",
        "enum": [
          "CREATE_FOLDERS",
          "READ_FOLDERS",
          "UPDATE_FOLDERS",
          "DELETE_FOLDERS",
          "READ_USER"
        ]
      },
      "FolderScopeAppPermission": {
        "type": "string",
        "enum": [
          "READ_OBJECTS",
          "WRITE_OBJECTS",
          "WRITE_OBJECTS_METADATA",
          "WRITE_FOLDER_METADATA",
          "REINDEX_FOLDER"
        ]
      },
      "PgSafeJsonSerializableValue": {
        "anyOf": [
          {
            "type": [
              "string",
              "null"
            ]
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PgSafeJsonSerializableValue"
            }
          },
          {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/PgSafeJsonSerializableValue"
            }
          }
        ]
      },
      "TaskOnCompleteConfig": {
        "type": "object",
        "properties": {
          "taskIdentifier": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[a-z_]+$"
          },
          "condition": {
            "type": "string",
            "minLength": 1
          },
          "dataTemplate": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/PgSafeJsonSerializableValue"
            }
          },
          "onComplete": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskOnCompleteConfig"
            }
          }
        },
        "required": [
          "taskIdentifier"
        ]
      },
      "TaskOnProgressConfig": {
        "type": "object",
        "properties": {
          "taskIdentifier": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[a-z_]+$"
          },
          "condition": {
            "type": "string",
            "minLength": 1
          },
          "dataTemplate": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/PgSafeJsonSerializableValue"
            }
          }
        },
        "required": [
          "taskIdentifier"
        ]
      },
      "ScheduleConfig": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "interval"
              },
              "interval": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "unit": {
                "type": "string",
                "enum": [
                  "minutes",
                  "hours",
                  "days"
                ]
              }
            },
            "required": [
              "kind",
              "interval",
              "unit"
            ]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "cron"
              },
              "expression": {
                "type": "string"
              },
              "timezone": {
                "type": "string"
              }
            },
            "required": [
              "kind",
              "expression"
            ]
          }
        ]
      },
      "AppContributedViews": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AppContributedView"
        }
      },
      "AppContributedView": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "minLength": 1,
            "pattern": "^\\/.*"
          },
          "label": {
            "type": "string",
            "minLength": 1
          },
          "icon": {
            "$ref": "#/components/schemas/Icon"
          }
        },
        "required": [
          "path",
          "label"
        ],
        "additionalProperties": false
      },
      "MobileQueryDefinition": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "source": {
                "type": "string",
                "const": "lombok"
              },
              "path": {
                "type": "string",
                "minLength": 1,
                "pattern": "^\\/.*"
              },
              "method": {
                "type": "string",
                "enum": [
                  "GET",
                  "POST",
                  "PUT",
                  "PATCH",
                  "DELETE"
                ]
              },
              "transform": {
                "$ref": "#/components/schemas/MobileQueryTransform"
              }
            },
            "required": [
              "source",
              "path"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "source": {
                "type": "string",
                "const": "app"
              },
              "path": {
                "type": "string",
                "minLength": 1,
                "pattern": "^\\/.*"
              },
              "method": {
                "type": "string",
                "enum": [
                  "GET",
                  "POST",
                  "PUT",
                  "PATCH",
                  "DELETE"
                ]
              },
              "worker": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[a-z0-9_]+$"
              },
              "transform": {
                "$ref": "#/components/schemas/MobileQueryTransform"
              }
            },
            "required": [
              "source",
              "path",
              "worker"
            ],
            "additionalProperties": false
          }
        ]
      },
      "MobileQueryTransform": {
        "anyOf": [
          {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "$ref": {
                "type": "string"
              }
            },
            "required": [
              "$ref"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "$if": {
                "$ref": "#/components/schemas/MobileQueryTransformCondition"
              },
              "then": {
                "$ref": "#/components/schemas/MobileQueryTransform"
              },
              "else": {
                "$ref": "#/components/schemas/MobileQueryTransform"
              }
            },
            "required": [
              "$if",
              "then"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "$cond": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "if": {
                      "$ref": "#/components/schemas/MobileQueryTransformCondition"
                    },
                    "then": {
                      "$ref": "#/components/schemas/MobileQueryTransform"
                    }
                  },
                  "required": [
                    "if",
                    "then"
                  ],
                  "additionalProperties": false
                }
              },
              "else": {
                "$ref": "#/components/schemas/MobileQueryTransform"
              }
            },
            "required": [
              "$cond"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "$map": {
                "type": "string"
              },
              "to": {
                "$ref": "#/components/schemas/MobileQueryTransform"
              }
            },
            "required": [
              "$map",
              "to"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "$call": {
                "type": "string",
                "minLength": 1
              },
              "args": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "$ref": "#/components/schemas/MobileQueryTransform"
                }
              }
            },
            "required": [
              "$call"
            ],
            "additionalProperties": false
          },
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MobileQueryTransform"
            }
          },
          {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/MobileQueryTransform"
            }
          }
        ]
      },
      "MobileQueryTransformCondition": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "$eq": {
                "type": "array",
                "prefixItems": [
                  {
                    "$ref": "#/components/schemas/MobileQueryTransform"
                  },
                  {
                    "$ref": "#/components/schemas/MobileQueryTransform"
                  }
                ]
              }
            },
            "required": [
              "$eq"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "$exists": {
                "type": "string"
              }
            },
            "required": [
              "$exists"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "$in": {
                "type": "array",
                "prefixItems": [
                  {
                    "$ref": "#/components/schemas/MobileQueryTransform"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/JsonSerializableValue"
                    }
                  }
                ]
              }
            },
            "required": [
              "$in"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "$and": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MobileQueryTransformCondition"
                }
              }
            },
            "required": [
              "$and"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "$or": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MobileQueryTransformCondition"
                }
              }
            },
            "required": [
              "$or"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "$not": {
                "$ref": "#/components/schemas/MobileQueryTransformCondition"
              }
            },
            "required": [
              "$not"
            ],
            "additionalProperties": false
          }
        ]
      },
      "JsonSerializableValue": {
        "anyOf": [
          {
            "type": [
              "string",
              "null"
            ]
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JsonSerializableValue"
            }
          },
          {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonSerializableValue"
            }
          }
        ]
      },
      "MobileView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "refreshable": {
            "type": "boolean"
          },
          "components": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MobileComponent"
            }
          },
          "initialDataModel": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonSerializableValue"
            }
          },
          "initialQueries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MobileQueryBinding"
            }
          },
          "actionMap": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/MobileQueryBinding"
              }
            }
          }
        },
        "required": [
          "id",
          "components"
        ],
        "additionalProperties": false
      },
      "MobileComponent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "component": {
            "type": "string",
            "minLength": 1
          },
          "weight": {
            "type": "number"
          },
          "accessibility": {
            "$ref": "#/components/schemas/MobileAccessibility"
          },
          "action": {
            "$ref": "#/components/schemas/MobileAction"
          }
        },
        "required": [
          "id",
          "component"
        ],
        "additionalProperties": {
          "$ref": "#/components/schemas/JsonSerializableValue"
        }
      },
      "MobileAccessibility": {
        "type": "object",
        "properties": {
          "label": {
            "$ref": "#/components/schemas/MobileDynamicString"
          },
          "description": {
            "$ref": "#/components/schemas/MobileDynamicString"
          }
        },
        "additionalProperties": false
      },
      "MobileDynamicString": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "object",
            "properties": {
              "path": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "path"
            ],
            "additionalProperties": false
          }
        ]
      },
      "MobileAction": {
        "type": "object",
        "properties": {
          "event": {
            "$ref": "#/components/schemas/MobileEvent"
          }
        },
        "required": [
          "event"
        ],
        "additionalProperties": false
      },
      "MobileEvent": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "context": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonSerializableValue"
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "MobileQueryBinding": {
        "type": "object",
        "properties": {
          "query": {
            "$ref": "#/components/schemas/MobileQueryRef"
          },
          "targetPath": {
            "type": "string",
            "minLength": 1
          },
          "loadingPath": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "query",
          "targetPath"
        ],
        "additionalProperties": false
      },
      "MobileQueryRef": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "args": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "fromPath": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "fromPath"
                  ],
                  "additionalProperties": false
                },
                {
                  "$ref": "#/components/schemas/JsonSerializableValue"
                }
              ]
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "MobileRoot": {
        "type": "object",
        "properties": {
          "refreshable": {
            "type": "boolean"
          },
          "components": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MobileComponent"
            }
          },
          "initialDataModel": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonSerializableValue"
            }
          },
          "initialQueries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MobileQueryBinding"
            }
          },
          "actionMap": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/MobileQueryBinding"
              }
            }
          }
        },
        "required": [
          "components"
        ],
        "additionalProperties": false
      },
      "JsonSchema07Object": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "const": "object"
          },
          "properties": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "pattern": "^[a-z0-9](?:[a-z0-9_]*[a-z0-9])?$"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonSchema07Property"
            }
          },
          "patternProperties": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "pattern": "^\\^[a-z0-9][a-z0-9_]*_$"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonSchema07Property"
            }
          },
          "required": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9](?:[a-z0-9_]*[a-z0-9])?$"
            }
          }
        },
        "required": [
          "type",
          "properties"
        ]
      },
      "JsonSchema07Property": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/JsonSchema07StringProperty"
          },
          {
            "$ref": "#/components/schemas/JsonSchema07NumberProperty"
          },
          {
            "$ref": "#/components/schemas/JsonSchema07IntegerProperty"
          },
          {
            "$ref": "#/components/schemas/JsonSchema07BooleanProperty"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "array"
              },
              "description": {
                "type": "string"
              },
              "default": {
                "type": "array",
                "items": {}
              },
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/JsonSchema07ArrayItemPrimitive"
                  },
                  {
                    "$ref": "#/components/schemas/JsonSchema07ObjectItem"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "discriminator": {
                        "type": "string"
                      },
                      "oneOf": {
                        "minItems": 1,
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/JsonSchema07ObjectItem"
                        }
                      }
                    },
                    "required": [
                      "discriminator",
                      "oneOf"
                    ]
                  }
                ]
              },
              "minItems": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "maxItems": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "type",
              "items"
            ]
          },
          {
            "$ref": "#/components/schemas/JsonSchema07NestedObjectItemProperty"
          }
        ]
      },
      "JsonSchema07StringProperty": {
        "type": "object",
        "properties": {
          "type": {
            "anyOf": [
              {
                "type": "string",
                "const": "string"
              },
              {
                "type": "array",
                "prefixItems": [
                  {
                    "type": "string",
                    "const": "string"
                  },
                  {
                    "type": "string",
                    "const": "null"
                  }
                ]
              }
            ]
          },
          "description": {
            "type": "string"
          },
          "default": {
            "type": "string"
          },
          "enum": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "minLength": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "maxLength": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "pattern": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "JsonSchema07NumberProperty": {
        "type": "object",
        "properties": {
          "type": {
            "anyOf": [
              {
                "type": "string",
                "const": "number"
              },
              {
                "type": "array",
                "prefixItems": [
                  {
                    "type": "string",
                    "const": "number"
                  },
                  {
                    "type": "string",
                    "const": "null"
                  }
                ]
              }
            ]
          },
          "description": {
            "type": "string"
          },
          "default": {
            "type": "number"
          },
          "minimum": {
            "type": "number"
          },
          "maximum": {
            "type": "number"
          }
        },
        "required": [
          "type"
        ]
      },
      "JsonSchema07IntegerProperty": {
        "type": "object",
        "properties": {
          "type": {
            "anyOf": [
              {
                "type": "string",
                "const": "integer"
              },
              {
                "type": "array",
                "prefixItems": [
                  {
                    "type": "string",
                    "const": "integer"
                  },
                  {
                    "type": "string",
                    "const": "null"
                  }
                ]
              }
            ]
          },
          "description": {
            "type": "string"
          },
          "default": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "minimum": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "maximum": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "type"
        ]
      },
      "JsonSchema07BooleanProperty": {
        "type": "object",
        "properties": {
          "type": {
            "anyOf": [
              {
                "type": "string",
                "const": "boolean"
              },
              {
                "type": "array",
                "prefixItems": [
                  {
                    "type": "string",
                    "const": "boolean"
                  },
                  {
                    "type": "string",
                    "const": "null"
                  }
                ]
              }
            ]
          },
          "description": {
            "type": "string"
          },
          "default": {
            "type": "boolean"
          }
        },
        "required": [
          "type"
        ]
      },
      "JsonSchema07ArrayItemPrimitive": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "string",
              "number",
              "integer",
              "boolean"
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "JsonSchema07ObjectItem": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "const": "object"
          },
          "properties": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonSchema07ObjectItemProperty"
            }
          },
          "required": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "type",
          "properties"
        ]
      },
      "JsonSchema07ObjectItemProperty": {
        "anyOf": [
          {
            "anyOf": [
              {
                "$ref": "#/components/schemas/JsonSchema07StringProperty"
              },
              {
                "$ref": "#/components/schemas/JsonSchema07NumberProperty"
              },
              {
                "$ref": "#/components/schemas/JsonSchema07IntegerProperty"
              },
              {
                "$ref": "#/components/schemas/JsonSchema07BooleanProperty"
              }
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "array"
              },
              "description": {
                "type": "string"
              },
              "default": {
                "type": "array",
                "items": {}
              },
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/JsonSchema07ArrayItemPrimitive"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "const": "object"
                      },
                      "properties": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {
                          "$ref": "#/components/schemas/JsonSchema07ObjectItemProperty"
                        }
                      },
                      "additionalProperties": {
                        "$ref": "#/components/schemas/JsonSchema07ObjectItemProperty"
                      },
                      "required": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "type"
                    ]
                  }
                ]
              },
              "minItems": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "maxItems": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "type",
              "items"
            ]
          },
          {
            "$ref": "#/components/schemas/JsonSchema07NestedObjectItemProperty"
          }
        ]
      },
      "JsonSchema07NestedObjectItemProperty": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "const": "object"
          },
          "description": {
            "type": "string"
          },
          "default": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "properties": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonSchema07ObjectItemProperty"
            }
          },
          "additionalProperties": {
            "$ref": "#/components/schemas/JsonSchema07ObjectItemProperty"
          },
          "required": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "type"
        ]
      },
      "AppConfig": {
        "type": "object",
        "properties": {
          "requiresStorage": {
            "type": "boolean"
          },
          "permissions": {
            "type": "object",
            "properties": {
              "core": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CoreScopeAppPermission"
                }
              },
              "user": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserScopeAppPermission"
                }
              },
              "folder": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FolderScopeAppPermission"
                }
              }
            },
            "additionalProperties": false
          },
          "slug": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[a-z0-9]+$"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "icon": {
            "$ref": "#/components/schemas/Icon"
          },
          "subscribedCoreEvents": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "pattern": "^core:[a-z_]+$"
            }
          },
          "triggers": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "kind": {
                      "type": "string",
                      "const": "event"
                    },
                    "eventIdentifier": {
                      "$ref": "#/components/schemas/EventIdentifier"
                    },
                    "dataTemplate": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "$ref": "#/components/schemas/PgSafeJsonSerializableValue"
                      }
                    },
                    "triggerKey": {
                      "type": "string"
                    },
                    "condition": {
                      "type": "string",
                      "minLength": 1
                    },
                    "taskIdentifier": {
                      "type": "string",
                      "minLength": 1,
                      "pattern": "^[a-z_]+$"
                    },
                    "onComplete": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaskOnCompleteConfig"
                      }
                    },
                    "onProgress": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaskOnProgressConfig"
                      }
                    }
                  },
                  "required": [
                    "kind",
                    "eventIdentifier",
                    "taskIdentifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "kind": {
                      "type": "string",
                      "const": "schedule"
                    },
                    "config": {
                      "$ref": "#/components/schemas/ScheduleConfig"
                    },
                    "triggerKey": {
                      "type": "string"
                    },
                    "condition": {
                      "type": "string",
                      "minLength": 1
                    },
                    "taskIdentifier": {
                      "type": "string",
                      "minLength": 1,
                      "pattern": "^[a-z_]+$"
                    },
                    "onComplete": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaskOnCompleteConfig"
                      }
                    },
                    "onProgress": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaskOnProgressConfig"
                      }
                    }
                  },
                  "required": [
                    "kind",
                    "config",
                    "triggerKey",
                    "taskIdentifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "kind": {
                      "type": "string",
                      "const": "user_action"
                    },
                    "scope": {
                      "type": "object",
                      "properties": {
                        "user": {
                          "type": "object",
                          "properties": {
                            "permissions": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "permissions"
                          ]
                        },
                        "folder": {
                          "type": "object",
                          "properties": {
                            "folderId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                            }
                          },
                          "required": [
                            "folderId"
                          ]
                        }
                      }
                    },
                    "condition": {
                      "type": "string",
                      "minLength": 1
                    },
                    "taskIdentifier": {
                      "type": "string",
                      "minLength": 1,
                      "pattern": "^[a-z_]+$"
                    },
                    "onComplete": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaskOnCompleteConfig"
                      }
                    },
                    "onProgress": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaskOnProgressConfig"
                      }
                    }
                  },
                  "required": [
                    "kind",
                    "taskIdentifier"
                  ]
                }
              ]
            }
          },
          "tasks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "identifier": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^[a-z_]+$"
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "description": {
                  "type": "string"
                },
                "handler": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "runtime",
                        "docker"
                      ]
                    },
                    "identifier": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "type",
                    "identifier"
                  ]
                }
              },
              "required": [
                "identifier",
                "label",
                "description",
                "handler"
              ],
              "additionalProperties": false
            }
          },
          "containerProfiles": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[a-z_]+$"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "image": {
                  "type": "string"
                },
                "resources": {
                  "type": "object",
                  "properties": {
                    "gpu": {
                      "type": "boolean"
                    },
                    "memoryMB": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "cpuCores": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "workers": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "exec"
                          },
                          "command": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "jobIdentifier": {
                            "type": "string",
                            "minLength": 1,
                            "pattern": "^[a-z_]+$"
                          },
                          "containerTarget": {
                            "anyOf": [
                              {
                                "$ref": "#/components/schemas/ContainerTarget"
                              },
                              {
                                "type": [
                                  "null"
                                ]
                              }
                            ]
                          }
                        },
                        "required": [
                          "kind",
                          "command",
                          "jobIdentifier"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "http"
                          },
                          "command": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "port": {
                            "type": "number",
                            "exclusiveMinimum": 0,
                            "maximum": 65535
                          },
                          "jobs": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "containerTarget": {
                                  "anyOf": [
                                    {
                                      "$ref": "#/components/schemas/ContainerTarget"
                                    },
                                    {
                                      "type": [
                                        "null"
                                      ]
                                    }
                                  ]
                                },
                                "identifier": {
                                  "type": "string",
                                  "minLength": 1,
                                  "pattern": "^[a-z_]+$"
                                }
                              },
                              "required": [
                                "identifier"
                              ],
                              "additionalProperties": false
                            }
                          }
                        },
                        "required": [
                          "kind",
                          "command",
                          "port",
                          "jobs"
                        ]
                      }
                    ]
                  }
                },
                "containerTarget": {
                  "$ref": "#/components/schemas/ContainerTarget"
                }
              },
              "required": [
                "image",
                "workers"
              ],
              "additionalProperties": false
            }
          },
          "runtimeWorkers": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[a-z0-9_]+$"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "environmentVariables": {
                  "$ref": "#/components/schemas/StringMapDTO"
                },
                "entrypoint": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "description",
                "entrypoint"
              ],
              "additionalProperties": false
            }
          },
          "systemRequestRuntimeWorkers": {
            "type": "object",
            "properties": {
              "performSearch": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^[a-z0-9_]+$"
                }
              }
            },
            "additionalProperties": false
          },
          "ui": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "const": true
              },
              "csp": {
                "type": "string"
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false
          },
          "database": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "const": true
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false
          },
          "contributions": {
            "$ref": "#/components/schemas/Contributions"
          },
          "settings": {
            "type": "object",
            "properties": {
              "secretKeyPattern": {
                "type": "string"
              },
              "user": {
                "$ref": "#/components/schemas/JsonSchema07Object"
              },
              "folder": {
                "$ref": "#/components/schemas/JsonSchema07Object"
              }
            }
          }
        },
        "required": [
          "slug",
          "label",
          "description",
          "icon"
        ],
        "additionalProperties": false
      },
      "AppManifestEntry": {
        "type": "object",
        "properties": {
          "hash": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "mimeType": {
            "type": "string"
          }
        },
        "required": [
          "hash",
          "size",
          "mimeType"
        ]
      },
      "AppInstallResponse": {
        "type": "object",
        "properties": {
          "app": {
            "$ref": "#/components/schemas/AdminApp"
          }
        },
        "required": [
          "app"
        ]
      },
      "AppListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminApp"
            }
          }
        },
        "required": [
          "meta",
          "result"
        ]
      },
      "SetAppEnabledInputDTO": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "AppGetResponse": {
        "type": "object",
        "properties": {
          "app": {
            "$ref": "#/components/schemas/AdminApp"
          }
        },
        "required": [
          "app"
        ]
      },
      "UpdateAppAccessSettingsInputDTO": {
        "type": "object",
        "properties": {
          "userScopeEnabledDefault": {
            "type": "boolean"
          },
          "folderScopeEnabledDefault": {
            "type": "boolean"
          }
        },
        "required": [
          "userScopeEnabledDefault",
          "folderScopeEnabledDefault"
        ]
      },
      "SetWorkerEnvironmentVariablesInputDTO": {
        "type": "object",
        "properties": {
          "environmentVariables": {
            "$ref": "#/components/schemas/StringMapDTO"
          }
        },
        "required": [
          "environmentVariables"
        ]
      },
      "StringMapDTO": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {
          "type": "string"
        }
      },
      "UserApp": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "config": {
            "$ref": "#/components/schemas/AppConfig"
          },
          "enabled": {
            "type": "boolean"
          },
          "userScopeEnabledDefault": {
            "type": "boolean"
          },
          "userEnabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "folderScopeEnabledDefault": {
            "type": "boolean"
          },
          "manifest": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/AppManifestEntry"
            }
          },
          "runtimeWorkers": {
            "$ref": "#/components/schemas/RuntimeWorkers"
          },
          "ui": {
            "$ref": "#/components/schemas/Ui"
          },
          "contributions": {
            "$ref": "#/components/schemas/Contributions"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          }
        },
        "required": [
          "id",
          "identifier",
          "label",
          "config",
          "enabled",
          "userScopeEnabledDefault",
          "userEnabled",
          "folderScopeEnabledDefault",
          "manifest",
          "runtimeWorkers",
          "ui",
          "contributions",
          "createdAt",
          "updatedAt"
        ]
      },
      "UserAppListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserApp"
            }
          }
        },
        "required": [
          "meta",
          "result"
        ]
      },
      "UserAppGetResponse": {
        "type": "object",
        "properties": {
          "app": {
            "$ref": "#/components/schemas/UserApp"
          }
        },
        "required": [
          "app"
        ]
      },
      "AppContributionsResponse": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {
          "type": "object",
          "properties": {
            "appLabel": {
              "type": "string"
            },
            "appIdentifier": {
              "type": "string"
            },
            "icon": {
              "$ref": "#/components/schemas/Icon"
            },
            "contributions": {
              "$ref": "#/components/schemas/Contributions"
            }
          },
          "required": [
            "appLabel",
            "appIdentifier",
            "contributions"
          ]
        }
      },
      "LoginResponse": {
        "type": "object",
        "properties": {
          "session": {
            "$ref": "#/components/schemas/Session"
          }
        },
        "required": [
          "session"
        ]
      },
      "AppUserSettingsGetResponseDTO": {
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "properties": {
              "appIdentifier": {
                "type": "string"
              },
              "enabledFallback": {
                "type": "boolean"
              },
              "folderScopeEnabledDefaultFallback": {
                "type": "boolean"
              },
              "permissionsFallback": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserScopeAppPermission"
                }
              },
              "enabled": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "folderScopeEnabledDefault": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "folderScopePermissionsDefault": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "$ref": "#/components/schemas/FolderScopeAppPermission"
                }
              },
              "permissions": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "$ref": "#/components/schemas/UserScopeAppPermission"
                }
              }
            },
            "required": [
              "appIdentifier",
              "enabledFallback",
              "folderScopeEnabledDefaultFallback",
              "permissionsFallback",
              "enabled",
              "folderScopeEnabledDefault",
              "folderScopePermissionsDefault",
              "permissions"
            ]
          }
        },
        "required": [
          "settings"
        ]
      },
      "AppUserSettingsCreateInputDTO": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "folderScopeEnabledDefault": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "folderScopePermissionsDefault": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/FolderScopeAppPermission"
            }
          },
          "permissions": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/UserScopeAppPermission"
            }
          }
        },
        "required": [
          "enabled",
          "folderScopeEnabledDefault",
          "folderScopePermissionsDefault",
          "permissions"
        ]
      },
      "AppCustomSettingsGetResponseDTO": {
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "properties": {
              "values": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "sources": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "type": "string",
                  "enum": [
                    "folder",
                    "user",
                    "default"
                  ]
                }
              },
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/JsonSchema07Object"
                  },
                  {
                    "type": [
                      "null"
                    ]
                  }
                ]
              },
              "secretKeyPattern": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "values",
              "sources",
              "schema",
              "secretKeyPattern"
            ]
          }
        },
        "required": [
          "settings"
        ]
      },
      "AppCustomSettingsPatchInputDTO": {
        "type": "object",
        "properties": {
          "values": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonSerializableValue"
            }
          }
        },
        "required": [
          "values"
        ]
      },
      "ImageUrls": {
        "type": "object",
        "properties": {
          "small": {
            "type": "string"
          },
          "medium": {
            "type": "string"
          },
          "large": {
            "type": "string"
          }
        },
        "required": [
          "small",
          "medium",
          "large"
        ]
      },
      "PublicSettingsGetResponse": {
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "properties": {
              "SIGNUP_ENABLED": {
                "type": "boolean"
              },
              "GOOGLE_OAUTH_ENABLED": {
                "type": "boolean"
              },
              "serverIcon": {
                "$ref": "#/components/schemas/ImageUrls"
              }
            }
          }
        },
        "required": [
          "settings"
        ]
      },
      "PublicBuildIdGetResponse": {
        "type": "object",
        "properties": {
          "buildId": {
            "type": "string"
          }
        },
        "required": [
          "buildId"
        ]
      },
      "SettingsGetResponse": {
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "properties": {
              "STORAGE_PROVISIONS": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "$ref": "#/components/schemas/StorageProvision"
                }
              },
              "SERVER_STORAGE": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "accessKeyHashId": {
                    "type": "string"
                  },
                  "accessKeyId": {
                    "type": "string"
                  },
                  "endpoint": {
                    "type": "string"
                  },
                  "bucket": {
                    "type": "string"
                  },
                  "region": {
                    "type": "string"
                  },
                  "prefix": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "minLength": 1
                  }
                },
                "required": [
                  "accessKeyHashId",
                  "accessKeyId",
                  "endpoint",
                  "bucket",
                  "region",
                  "prefix"
                ]
              },
              "SIGNUP_ENABLED": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "SIGNUP_PERMISSIONS": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "type": "string"
                }
              },
              "SERVER_HOSTNAME": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "GOOGLE_OAUTH_CONFIG": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "clientId": {
                    "type": "string"
                  },
                  "clientSecret": {
                    "type": "null"
                  }
                },
                "required": [
                  "enabled",
                  "clientId",
                  "clientSecret"
                ]
              },
              "EMAIL_PROVIDER_CONFIG": {
                "anyOf": [
                  {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "provider": {
                            "type": "string",
                            "const": "resend"
                          },
                          "config": {
                            "type": "object",
                            "properties": {
                              "apiKey": {
                                "type": "null"
                              }
                            },
                            "required": [
                              "apiKey"
                            ]
                          },
                          "from": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "required": [
                          "provider",
                          "config",
                          "from"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "provider": {
                            "type": "string",
                            "const": "smtp"
                          },
                          "config": {
                            "type": "object",
                            "properties": {
                              "host": {
                                "type": "string",
                                "minLength": 1
                              },
                              "port": {
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 65535
                              },
                              "username": {
                                "type": "string",
                                "minLength": 1
                              },
                              "password": {
                                "type": "null"
                              }
                            },
                            "required": [
                              "host",
                              "port",
                              "username",
                              "password"
                            ]
                          },
                          "from": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "required": [
                          "provider",
                          "config",
                          "from"
                        ]
                      }
                    ]
                  },
                  {
                    "type": [
                      "null"
                    ]
                  }
                ]
              },
              "SEARCH_CONFIG": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "app": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "properties": {
                      "identifier": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^[a-z0-9]+-[a-f0-9]{8}$"
                      },
                      "workerIdentifier": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^[a-z0-9_]+$"
                      }
                    },
                    "required": [
                      "identifier",
                      "workerIdentifier"
                    ]
                  }
                },
                "required": [
                  "app"
                ]
              },
              "SERVER_ICON": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  }
                },
                "required": [
                  "updatedAt"
                ]
              }
            },
            "required": [
              "STORAGE_PROVISIONS",
              "SERVER_STORAGE",
              "SIGNUP_ENABLED",
              "SIGNUP_PERMISSIONS",
              "SERVER_HOSTNAME",
              "GOOGLE_OAUTH_CONFIG",
              "EMAIL_PROVIDER_CONFIG",
              "SEARCH_CONFIG",
              "SERVER_ICON"
            ]
          }
        },
        "required": [
          "settings"
        ]
      },
      "SetSettingInputDTO": {
        "type": "object",
        "properties": {
          "value": {}
        },
        "required": [
          "value"
        ]
      },
      "SettingSetResponse": {
        "type": "object",
        "properties": {
          "settingKey": {
            "type": "string"
          },
          "settingValue": {}
        },
        "required": [
          "settingKey",
          "settingValue"
        ]
      },
      "ServerMetricsResponse": {
        "type": "object",
        "properties": {
          "totalUsers": {
            "type": "string"
          },
          "totalFolders": {
            "type": "string"
          },
          "usersCreatedPreviousWeek": {
            "type": "string"
          },
          "foldersCreatedPreviousWeek": {
            "type": "string"
          },
          "totalIndexedSizeBytes": {
            "type": "string"
          },
          "sessionsCreatedPreviousWeek": {
            "type": "string"
          },
          "sessionsCreatedPrevious24Hours": {
            "type": "string"
          },
          "provisionedStorage": {
            "$ref": "#/components/schemas/InstalledApps"
          },
          "totalIndexedSizeBytesAcrossStorageProvisions": {
            "type": "string"
          },
          "installedApps": {
            "$ref": "#/components/schemas/InstalledApps"
          },
          "tasksCreatedPreviousDay": {
            "type": "string"
          },
          "tasksCreatedPreviousHour": {
            "type": "string"
          },
          "taskErrorsPreviousDay": {
            "type": "string"
          },
          "taskErrorsPreviousHour": {
            "type": "string"
          },
          "serverEventsEmittedPreviousDay": {
            "type": "string"
          },
          "serverEventsEmittedPreviousHour": {
            "type": "string"
          },
          "folderEventsEmittedPreviousDay": {
            "type": "string"
          },
          "folderEventsEmittedPreviousHour": {
            "type": "string"
          }
        },
        "required": [
          "totalUsers",
          "totalFolders",
          "usersCreatedPreviousWeek",
          "foldersCreatedPreviousWeek",
          "totalIndexedSizeBytes",
          "sessionsCreatedPreviousWeek",
          "sessionsCreatedPrevious24Hours",
          "provisionedStorage",
          "totalIndexedSizeBytesAcrossStorageProvisions",
          "installedApps",
          "tasksCreatedPreviousDay",
          "tasksCreatedPreviousHour",
          "taskErrorsPreviousDay",
          "taskErrorsPreviousHour",
          "serverEventsEmittedPreviousDay",
          "serverEventsEmittedPreviousHour",
          "folderEventsEmittedPreviousDay",
          "folderEventsEmittedPreviousHour"
        ]
      },
      "StorageProvisionsListResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageProvision"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "StorageProvisionGetResponse": {
        "type": "object",
        "properties": {
          "storageProvision": {
            "$ref": "#/components/schemas/StorageProvision"
          }
        },
        "required": [
          "storageProvision"
        ]
      },
      "StorageProvisionInputDTO": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "maxLength": 32
          },
          "description": {
            "type": "string",
            "maxLength": 128
          },
          "endpoint": {
            "type": "string"
          },
          "bucket": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "accessKeyId": {
            "type": "string"
          },
          "secretAccessKey": {
            "type": "string"
          },
          "prefix": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 1
          },
          "provisionTypes": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string",
              "enum": [
                "CONTENT",
                "METADATA",
                "REDUNDANCY"
              ]
            }
          }
        },
        "required": [
          "label",
          "description",
          "endpoint",
          "bucket",
          "region",
          "accessKeyId",
          "secretAccessKey",
          "prefix",
          "provisionTypes"
        ]
      },
      "StorageProvisionUpdateDTO": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "maxLength": 32
          },
          "description": {
            "type": "string",
            "maxLength": 128
          },
          "endpoint": {
            "type": "string"
          },
          "bucket": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "prefix": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 1
          },
          "provisionTypes": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string",
              "enum": [
                "CONTENT",
                "METADATA",
                "REDUNDANCY"
              ]
            }
          }
        }
      },
      "ServerStorageLocationGetResponse": {
        "type": "object",
        "properties": {
          "serverStorageLocation": {
            "type": "object",
            "properties": {
              "accessKeyHashId": {
                "type": "string"
              },
              "accessKeyId": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "bucket": {
                "type": "string"
              },
              "region": {
                "type": "string"
              },
              "prefix": {
                "type": [
                  "string",
                  "null"
                ],
                "minLength": 1
              }
            },
            "required": [
              "accessKeyHashId",
              "accessKeyId",
              "endpoint",
              "bucket",
              "region",
              "prefix"
            ]
          }
        }
      },
      "ServerStorageInputDTO": {
        "type": "object",
        "properties": {
          "accessKeyId": {
            "type": "string",
            "minLength": 1
          },
          "secretAccessKey": {
            "type": "string",
            "minLength": 1
          },
          "endpoint": {
            "type": "string",
            "format": "uri"
          },
          "bucket": {
            "type": "string",
            "minLength": 1
          },
          "region": {
            "type": "string",
            "minLength": 1
          },
          "prefix": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 1
          }
        },
        "required": [
          "accessKeyId",
          "secretAccessKey",
          "endpoint",
          "bucket",
          "region",
          "prefix"
        ]
      },
      "DockerHostsStateResponse": {
        "type": "object",
        "properties": {
          "hosts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "connection": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "version": {
                      "type": "string"
                    },
                    "apiVersion": {
                      "type": "string"
                    },
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "success"
                  ]
                },
                "resources": {
                  "type": "object",
                  "properties": {
                    "cpuCores": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    "memoryBytes": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    }
                  }
                },
                "containers": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "image": {
                            "type": "string"
                          },
                          "labels": {
                            "$ref": "#/components/schemas/StringMapDTO"
                          },
                          "state": {
                            "type": "string",
                            "enum": [
                              "running",
                              "exited",
                              "paused",
                              "created",
                              "unknown"
                            ]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "containerType": {
                            "type": "string",
                            "const": "worker"
                          },
                          "profileId": {
                            "type": "string"
                          },
                          "profileHash": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "image",
                          "labels",
                          "state",
                          "createdAt",
                          "containerType",
                          "profileId",
                          "profileHash"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "image": {
                            "type": "string"
                          },
                          "labels": {
                            "$ref": "#/components/schemas/StringMapDTO"
                          },
                          "state": {
                            "type": "string",
                            "enum": [
                              "running",
                              "exited",
                              "paused",
                              "created",
                              "unknown"
                            ]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "containerType": {
                            "type": "string",
                            "const": "standalone"
                          },
                          "standaloneContainerId": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "image",
                          "labels",
                          "state",
                          "createdAt",
                          "containerType",
                          "standaloneContainerId"
                        ]
                      }
                    ]
                  }
                },
                "containersError": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "description",
                "connection",
                "containers"
              ]
            }
          }
        },
        "required": [
          "hosts"
        ]
      },
      "DockerContainerLogsResponse": {
        "type": "object",
        "properties": {
          "entries": {
            "$ref": "#/components/schemas/Entries"
          }
        },
        "required": [
          "entries"
        ]
      },
      "DockerContainerStatsResponse": {
        "type": "object",
        "properties": {
          "stats": {
            "type": "object",
            "properties": {
              "cpuPercent": {
                "type": "number"
              },
              "memoryBytes": {
                "type": "number"
              },
              "memoryLimitBytes": {
                "type": "number"
              },
              "memoryPercent": {
                "type": "number"
              }
            }
          }
        },
        "required": [
          "stats"
        ]
      },
      "DockerContainerInspectResponse": {
        "type": "object",
        "properties": {
          "inspect": {},
          "gpuInfo": {
            "type": "object",
            "properties": {
              "driver": {
                "type": "string"
              },
              "command": {
                "type": "string"
              },
              "output": {
                "type": "string"
              },
              "error": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "inspect"
        ]
      },
      "DockerContainerWorkersResponse": {
        "type": "object",
        "properties": {
          "workers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "workerId": {
                  "type": "string"
                },
                "port": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "filePath": {
                  "type": "string"
                }
              },
              "required": [
                "workerId",
                "port",
                "filePath"
              ]
            }
          }
        },
        "required": [
          "workers"
        ]
      },
      "DockerContainerWorkerDetailResponse": {
        "type": "object",
        "properties": {
          "workerState": {},
          "workerStateError": {
            "type": "string"
          },
          "jobs": {
            "$ref": "#/components/schemas/Jobs"
          },
          "jobsError": {
            "type": "string"
          }
        },
        "required": [
          "jobs"
        ]
      },
      "DockerContainerJobsResponse": {
        "type": "object",
        "properties": {
          "jobs": {
            "$ref": "#/components/schemas/Jobs"
          }
        },
        "required": [
          "jobs"
        ]
      },
      "DockerContainerPurgeJobsResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        },
        "required": [
          "message"
        ]
      },
      "DockerContainerJobDetailResponse": {
        "type": "object",
        "properties": {
          "state": {},
          "stateError": {
            "type": "string"
          },
          "entries": {
            "$ref": "#/components/schemas/Entries"
          },
          "logError": {
            "type": "string"
          }
        }
      },
      "DockerContainerActionResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "success"
        ]
      },
      "EventGetResponse": {
        "type": "object",
        "properties": {
          "event": {
            "$ref": "#/components/schemas/Event"
          }
        },
        "required": [
          "event"
        ]
      },
      "EventListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Event"
            }
          }
        },
        "required": [
          "meta",
          "result"
        ]
      },
      "LogGetResponse": {
        "type": "object",
        "properties": {
          "log": {
            "$ref": "#/components/schemas/Log"
          }
        },
        "required": [
          "log"
        ]
      },
      "LogListResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Log"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "required": [
          "result",
          "meta"
        ]
      },
      "InlineMetadataEntryDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "const": "inline"
          },
          "mimeType": {
            "type": "string"
          },
          "sizeBytes": {
            "type": "number"
          },
          "content": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "mimeType",
          "sizeBytes",
          "content"
        ]
      },
      "ExternalMetadataEntryDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "const": "external"
          },
          "storageKey": {
            "type": "string"
          },
          "mimeType": {
            "type": "string"
          },
          "sizeBytes": {
            "type": "number"
          },
          "hash": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "storageKey",
          "mimeType",
          "sizeBytes",
          "hash"
        ]
      },
      "ContentMetadataEntryDTO": {
        "type": "object",
        "properties": {
          "_schemaCarrier": {
            "type": "object",
            "description": "Present only so this class has instance shape; validation uses static schema."
          }
        },
        "required": [
          "_schemaCarrier"
        ]
      },
      "Folder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "ownerId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "name": {
            "type": "string"
          },
          "metadataLocation": {
            "$ref": "#/components/schemas/StorageLocation"
          },
          "contentLocation": {
            "$ref": "#/components/schemas/StorageLocation"
          },
          "accessError": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "message": {
                "type": "string"
              },
              "code": {
                "type": "string"
              }
            },
            "required": [
              "message",
              "code"
            ]
          },
          "icon": {
            "$ref": "#/components/schemas/ImageUrls"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          }
        },
        "required": [
          "id",
          "ownerId",
          "name",
          "metadataLocation",
          "contentLocation",
          "createdAt",
          "updatedAt"
        ]
      },
      "StorageLocation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "providerType": {
            "type": "string",
            "enum": [
              "SERVER",
              "USER"
            ]
          },
          "label": {
            "type": "string"
          },
          "endpoint": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "bucket": {
            "type": "string"
          },
          "prefix": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 1
          },
          "accessKeyId": {
            "type": "string"
          },
          "accessKeyHashId": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "providerType",
          "label",
          "endpoint",
          "region",
          "bucket",
          "prefix",
          "accessKeyId",
          "accessKeyHashId"
        ]
      },
      "FolderPermission": {
        "type": "string",
        "enum": [
          "FOLDER_REINDEX",
          "FOLDER_FORGET",
          "FOLDER_EDIT",
          "OBJECT_EDIT",
          "OBJECT_MANAGE"
        ]
      },
      "FolderGetResponse": {
        "type": "object",
        "properties": {
          "folder": {
            "$ref": "#/components/schemas/Folder"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderPermission"
            }
          }
        },
        "required": [
          "folder",
          "permissions"
        ]
      },
      "FolderGetMetadataResponse": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "totalSizeBytes": {
            "type": "string"
          }
        },
        "required": [
          "totalCount",
          "totalSizeBytes"
        ]
      },
      "FolderListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "result": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "permissions": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FolderPermission"
                  }
                },
                "folder": {
                  "$ref": "#/components/schemas/Folder"
                }
              },
              "required": [
                "permissions",
                "folder"
              ]
            }
          }
        },
        "required": [
          "meta",
          "result"
        ]
      },
      "StorageLocationInput": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "accessKeyId": {
                "type": "string"
              },
              "secretAccessKey": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "bucket": {
                "type": "string"
              },
              "region": {
                "type": "string"
              },
              "prefix": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "accessKeyId",
              "secretAccessKey",
              "endpoint",
              "bucket",
              "region",
              "prefix"
            ]
          },
          {
            "type": "object",
            "properties": {
              "storageProvisionId": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
              }
            },
            "required": [
              "storageProvisionId"
            ]
          },
          {
            "type": "object",
            "properties": {
              "userLocationId": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
              },
              "userLocationBucketOverride": {
                "type": "string"
              },
              "userLocationPrefixOverride": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "userLocationId",
              "userLocationBucketOverride",
              "userLocationPrefixOverride"
            ]
          }
        ]
      },
      "FolderCreateInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "metadataLocation": {
            "$ref": "#/components/schemas/StorageLocationInput"
          },
          "contentLocation": {
            "$ref": "#/components/schemas/StorageLocationInput"
          }
        },
        "required": [
          "name",
          "metadataLocation",
          "contentLocation"
        ]
      },
      "FolderCreateResponse": {
        "type": "object",
        "properties": {
          "folder": {
            "$ref": "#/components/schemas/Folder"
          }
        },
        "required": [
          "folder"
        ]
      },
      "FolderObjectListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "totalCount": {
                "type": "number"
              },
              "nextCursor": {
                "type": "string"
              },
              "previousCursor": {
                "type": "string"
              }
            },
            "required": [
              "totalCount"
            ]
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderObject"
            }
          }
        },
        "required": [
          "meta",
          "result"
        ]
      },
      "FolderObjectGetResponse": {
        "type": "object",
        "properties": {
          "folderObject": {
            "$ref": "#/components/schemas/FolderObject"
          }
        },
        "required": [
          "folderObject"
        ]
      },
      "FolderCreateSignedUrlInputDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "objectIdentifier": {
              "type": "string"
            },
            "method": {
              "type": "string",
              "enum": [
                "PUT",
                "DELETE",
                "GET",
                "HEAD"
              ]
            }
          },
          "required": [
            "objectIdentifier",
            "method"
          ]
        }
      },
      "FolderCreateSignedUrlsResponse": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "urls"
        ]
      },
      "FolderShareGetResponse": {
        "type": "object",
        "properties": {
          "share": {
            "$ref": "#/components/schemas/Share"
          }
        },
        "required": [
          "share"
        ]
      },
      "FolderShareListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Share"
            }
          }
        },
        "required": [
          "meta",
          "result"
        ]
      },
      "FolderShareUserListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "result": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "username": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                }
              },
              "required": [
                "username",
                "id"
              ]
            }
          }
        },
        "required": [
          "meta",
          "result"
        ]
      },
      "FolderShareCreateInputDTO": {
        "type": "object",
        "properties": {
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderPermission"
            }
          }
        },
        "required": [
          "permissions"
        ]
      },
      "FolderUpdateInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        },
        "required": [
          "name"
        ]
      },
      "FolderUpdateResponseDTO": {
        "type": "object",
        "properties": {
          "folder": {
            "$ref": "#/components/schemas/Folder"
          }
        },
        "required": [
          "folder"
        ]
      },
      "AppFolderSettingsGetResponseDTO": {
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "appIdentifier": {
                  "type": "string"
                },
                "enabledFallback": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "boolean"
                    },
                    "source": {
                      "type": "string",
                      "enum": [
                        "system",
                        "user"
                      ]
                    }
                  },
                  "required": [
                    "value",
                    "source"
                  ]
                },
                "permissionsFallback": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FolderScopeAppPermission"
                      }
                    },
                    "source": {
                      "type": "string",
                      "enum": [
                        "system",
                        "user"
                      ]
                    }
                  },
                  "required": [
                    "value",
                    "source"
                  ]
                },
                "enabled": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "permissions": {
                  "type": [
                    "array",
                    "null"
                  ],
                  "items": {
                    "$ref": "#/components/schemas/FolderScopeAppPermission"
                  }
                }
              },
              "required": [
                "appIdentifier",
                "enabledFallback",
                "permissionsFallback",
                "enabled",
                "permissions"
              ]
            }
          }
        },
        "required": [
          "settings"
        ]
      },
      "AppFolderSettingsUpdateInputDTO": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {
          "anyOf": [
            {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "enabled": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "permissions": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FolderScopeAppPermission"
                  }
                }
              },
              "required": [
                "enabled",
                "permissions"
              ]
            },
            {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "permissions": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FolderScopeAppPermission"
                  }
                }
              },
              "required": [
                "enabled",
                "permissions"
              ]
            },
            {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "permissions": {
                  "type": [
                    "array",
                    "null"
                  ],
                  "items": {
                    "$ref": "#/components/schemas/FolderScopeAppPermission"
                  }
                }
              },
              "required": [
                "enabled",
                "permissions"
              ]
            },
            {
              "type": "object",
              "properties": {
                "permissions": {
                  "type": [
                    "array",
                    "null"
                  ],
                  "items": {
                    "$ref": "#/components/schemas/FolderScopeAppPermission"
                  }
                }
              },
              "required": [
                "permissions"
              ]
            },
            {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                }
              },
              "required": [
                "enabled"
              ]
            }
          ]
        }
      },
      "AccessKeyListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessKey"
            }
          }
        },
        "required": [
          "meta",
          "result"
        ]
      },
      "AccessKeyGetResponse": {
        "type": "object",
        "properties": {
          "accessKey": {
            "$ref": "#/components/schemas/AccessKey"
          }
        },
        "required": [
          "accessKey"
        ]
      },
      "RotateAccessKeyInputDTO": {
        "type": "object",
        "properties": {
          "accessKeyId": {
            "type": "string"
          },
          "secretAccessKey": {
            "type": "string"
          }
        },
        "required": [
          "accessKeyId",
          "secretAccessKey"
        ]
      },
      "AccessKeyRotateResponse": {
        "type": "object",
        "properties": {
          "accessKeyHashId": {
            "type": "string"
          }
        },
        "required": [
          "accessKeyHashId"
        ]
      },
      "AccessKeyBucketsListResponseDTO": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "createdDate": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "TaskGetResponse": {
        "type": "object",
        "properties": {
          "task": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
              },
              "taskIdentifier": {
                "type": "string"
              },
              "ownerId": {
                "type": "string"
              },
              "invocation": {
                "$ref": "#/components/schemas/Invocation"
              },
              "success": {
                "type": "boolean"
              },
              "handlerIdentifier": {
                "type": "string"
              },
              "data": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "$ref": "#/components/schemas/JsonSerializableValue"
                }
              },
              "targetLocation": {
                "$ref": "#/components/schemas/TargetLocation"
              },
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "$ref": "#/components/schemas/JsonSerializableValue"
                    }
                  }
                },
                "required": [
                  "code",
                  "message"
                ]
              },
              "taskDescription": {
                "type": "string"
              },
              "systemLog": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "at": {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                    },
                    "message": {
                      "type": "string"
                    },
                    "logType": {
                      "type": "string",
                      "enum": [
                        "started",
                        "error",
                        "requeue",
                        "success"
                      ]
                    },
                    "payload": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {}
                    }
                  },
                  "required": [
                    "at",
                    "message",
                    "logType"
                  ]
                }
              },
              "taskLog": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "at": {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                    },
                    "message": {
                      "type": "string"
                    },
                    "logType": {
                      "type": "string",
                      "pattern": "^[a-z0-9_]+$"
                    },
                    "payload": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {}
                    }
                  },
                  "required": [
                    "at",
                    "message",
                    "logType"
                  ]
                }
              },
              "progress": {
                "$ref": "#/components/schemas/Details"
              },
              "progressReports": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "details": {
                      "$ref": "#/components/schemas/Details"
                    },
                    "message": {
                      "$ref": "#/components/schemas/Message"
                    },
                    "timestamp": {
                      "type": "string"
                    },
                    "executorMetadata": {
                      "$ref": "#/components/schemas/ExecutorMetadata"
                    },
                    "receivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                    }
                  },
                  "required": [
                    "receivedAt"
                  ]
                }
              },
              "result": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "$ref": "#/components/schemas/JsonSerializableValue"
                }
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              "completedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              "targetLocationContext": {
                "$ref": "#/components/schemas/TargetLocationContext"
              }
            },
            "required": [
              "id",
              "taskIdentifier",
              "ownerId",
              "invocation",
              "taskDescription",
              "systemLog",
              "taskLog",
              "createdAt",
              "updatedAt"
            ]
          }
        },
        "required": [
          "task"
        ]
      },
      "TaskListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "result": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                },
                "taskIdentifier": {
                  "type": "string"
                },
                "ownerId": {
                  "type": "string"
                },
                "invocation": {
                  "$ref": "#/components/schemas/Invocation"
                },
                "success": {
                  "type": "boolean"
                },
                "handlerIdentifier": {
                  "type": "string"
                },
                "targetLocation": {
                  "$ref": "#/components/schemas/TargetLocation"
                },
                "error": {
                  "$ref": "#/components/schemas/ApiErrorResponseDTO"
                },
                "taskDescription": {
                  "type": "string"
                },
                "storageAccessPolicy": {
                  "type": "object",
                  "properties": {
                    "rules": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "folderId": {
                                "type": "string"
                              },
                              "methods": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "PUT",
                                    "DELETE",
                                    "GET",
                                    "HEAD"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "folderId",
                              "methods"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "folderId": {
                                "type": "string"
                              },
                              "objectKey": {
                                "type": "string"
                              },
                              "methods": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "PUT",
                                    "DELETE",
                                    "GET",
                                    "HEAD"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "folderId",
                              "objectKey",
                              "methods"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "folderId": {
                                "type": "string"
                              },
                              "prefix": {
                                "type": "string"
                              },
                              "methods": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "PUT",
                                    "DELETE",
                                    "GET",
                                    "HEAD"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "folderId",
                              "prefix",
                              "methods"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      }
                    },
                    "outputLocation": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "folderId": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "folderId"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "folderId": {
                              "type": "string"
                            },
                            "objectKey": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "folderId",
                            "objectKey"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "folderId": {
                              "type": "string"
                            },
                            "prefix": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "folderId",
                            "prefix"
                          ],
                          "additionalProperties": false
                        }
                      ]
                    }
                  },
                  "required": [
                    "rules"
                  ]
                },
                "startedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "completedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "targetLocationContext": {
                  "$ref": "#/components/schemas/TargetLocationContext"
                }
              },
              "required": [
                "id",
                "taskIdentifier",
                "ownerId",
                "invocation",
                "taskDescription",
                "createdAt",
                "updatedAt"
              ]
            }
          }
        },
        "required": [
          "meta",
          "result"
        ]
      },
      "NotificationSettingsResponseDTO": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/Settings"
          }
        },
        "required": [
          "settings"
        ]
      },
      "NotificationSettingsUpdateDTO": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/Settings"
          }
        },
        "required": [
          "settings"
        ]
      },
      "NotificationListResponseDTO": {
        "type": "object",
        "properties": {
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotificationDTO"
            }
          },
          "nextCursor": {
            "type": "string"
          }
        },
        "required": [
          "notifications"
        ]
      },
      "NotificationUnreadCountResponseDTO": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "count"
        ]
      },
      "NotificationDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "eventIdentifier": {
            "type": "string"
          },
          "emitterIdentifier": {
            "type": "string"
          },
          "aggregationKey": {
            "type": "string"
          },
          "targetLocationFolderId": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "targetLocationObjectKey": {
            "type": [
              "string",
              "null"
            ]
          },
          "targetUserId": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "eventIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
            }
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "image": {
            "type": [
              "string",
              "null"
            ]
          },
          "path": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          },
          "readAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          }
        },
        "required": [
          "id",
          "eventIdentifier",
          "emitterIdentifier",
          "aggregationKey",
          "targetLocationFolderId",
          "targetLocationObjectKey",
          "targetUserId",
          "eventIds",
          "title",
          "body",
          "image",
          "path",
          "createdAt",
          "readAt"
        ]
      },
      "LoginCredentialsDTO": {
        "type": "object",
        "properties": {
          "login": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        },
        "required": [
          "login",
          "password"
        ]
      },
      "SignupCredentialsDTO": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "minLength": 3,
            "maxLength": 64
          },
          "email": {
            "type": "string",
            "format": "email",
            "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "password": {
            "type": "string",
            "maxLength": 255
          }
        },
        "required": [
          "username",
          "password"
        ]
      },
      "SignupResponse": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "user"
        ]
      },
      "VerifyEmailDTO": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "token"
        ]
      },
      "TokenRefreshResponse": {
        "type": "object",
        "properties": {
          "session": {
            "$ref": "#/components/schemas/Session"
          }
        },
        "required": [
          "session"
        ]
      },
      "CompleteSSOSignupDTO": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "minLength": 3,
            "maxLength": 64
          },
          "providerData": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "const": "google"
              },
              "providerUserInfo": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "picture": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "email",
                  "name"
                ]
              },
              "expiry": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              }
            },
            "required": [
              "provider",
              "providerUserInfo",
              "expiry"
            ]
          },
          "signature": {
            "type": "string"
          }
        },
        "required": [
          "username",
          "providerData",
          "signature"
        ]
      },
      "CompleteSSOSignupResponse": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "accessToken": {
            "type": "string"
          },
          "refreshToken": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          }
        },
        "required": [
          "user",
          "accessToken",
          "refreshToken",
          "expiresAt"
        ]
      },
      "InitiateSSOResponse": {
        "type": "object",
        "properties": {
          "authUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "authUrl"
        ]
      },
      "SSOCallbackDTO": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          }
        },
        "required": [
          "code"
        ]
      },
      "SSOCallbackResponse": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/CompleteSSOSignupResponse"
          },
          {
            "type": "object",
            "properties": {
              "needsUsername": {
                "type": "boolean",
                "const": true
              },
              "provider": {
                "type": "string"
              },
              "providerUserInfo": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "picture": {
                    "type": "string"
                  }
                },
                "required": [
                  "id"
                ]
              },
              "suggestedUsername": {
                "type": "string"
              },
              "signature": {
                "type": "string"
              },
              "expiry": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              }
            },
            "required": [
              "needsUsername",
              "provider",
              "providerUserInfo",
              "suggestedUsername",
              "signature",
              "expiry"
            ]
          }
        ]
      },
      "LinkSSOProviderDTO": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string"
          },
          "code": {
            "type": "string"
          }
        },
        "required": [
          "provider",
          "code"
        ]
      },
      "LinkProviderResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ]
      },
      "ViewerGetResponse": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "user"
        ]
      },
      "ViewerUpdateInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "UserCreateInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "email": {
            "type": "string",
            "minLength": 1
          },
          "emailVerified": {
            "type": "boolean"
          },
          "isAdmin": {
            "type": "boolean"
          },
          "username": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "username",
          "password"
        ]
      },
      "UserGetResponse": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "user"
        ]
      },
      "UserUpdateInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 1
          },
          "email": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 1
          },
          "isAdmin": {
            "type": "boolean"
          },
          "username": {
            "type": "string",
            "minLength": 2
          },
          "password": {
            "type": "string",
            "minLength": 1
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "UserListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "result": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                },
                "name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "email": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "emailVerified": {
                  "type": "boolean"
                },
                "isAdmin": {
                  "type": "boolean"
                },
                "username": {
                  "type": "string"
                },
                "permissions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                }
              },
              "required": [
                "id",
                "name",
                "email",
                "emailVerified",
                "isAdmin",
                "username",
                "permissions",
                "createdAt",
                "updatedAt"
              ]
            }
          }
        },
        "required": [
          "meta",
          "result"
        ]
      },
      "UserSessionListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "result": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                }
              },
              "required": [
                "id",
                "expiresAt",
                "createdAt",
                "updatedAt"
              ]
            }
          }
        },
        "required": [
          "meta",
          "result"
        ]
      },
      "DockerSession": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "containerId": {
            "type": "string"
          },
          "hostId": {
            "type": [
              "string",
              "null"
            ]
          },
          "mode": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "protocol": {
            "type": "string"
          },
          "tty": {
            "type": "boolean"
          },
          "command": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "agentReady": {
            "type": "boolean"
          },
          "publicId": {
            "type": [
              "string",
              "null"
            ]
          },
          "label": {
            "type": "string"
          },
          "appId": {
            "type": [
              "string",
              "null"
            ]
          },
          "clientCount": {
            "type": "number"
          },
          "createdAt": {
            "type": "number"
          },
          "lastActivityAt": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "containerId",
          "hostId",
          "mode",
          "state",
          "protocol",
          "tty",
          "command",
          "agentReady",
          "publicId",
          "label",
          "appId",
          "clientCount",
          "createdAt",
          "lastActivityAt"
        ]
      },
      "DockerSessionListResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DockerSession"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "BridgeLogEntry": {
        "type": "object",
        "properties": {
          "seq": {
            "type": "number"
          },
          "source": {
            "type": "string",
            "enum": [
              "stdout",
              "stderr"
            ]
          },
          "level": {
            "type": "string",
            "enum": [
              "debug",
              "info",
              "warn",
              "error",
              "unknown"
            ]
          },
          "ts": {
            "type": "string"
          },
          "msg": {
            "type": "string"
          },
          "fields": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "raw": {
            "type": "string"
          }
        },
        "required": [
          "seq",
          "source",
          "level",
          "ts",
          "msg"
        ]
      },
      "BridgeLogListResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BridgeLogEntry"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "CreateAdminBridgeTunnelSessionRequestDTO": {
        "type": "object",
        "properties": {
          "hostId": {
            "type": "string",
            "minLength": 1
          },
          "containerId": {
            "type": "string",
            "minLength": 1
          },
          "command": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            }
          },
          "label": {
            "type": "string",
            "default": "admin-console",
            "pattern": "^[a-z0-9][a-z0-9-]{0,30}[a-z0-9]$"
          }
        },
        "required": [
          "hostId",
          "containerId"
        ]
      },
      "CreateBridgeTunnelSessionResponseDTO": {
        "type": "object",
        "properties": {
          "publicId": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "urls": {
            "type": "object",
            "properties": {
              "ws": {
                "type": "string"
              },
              "http": {
                "type": "string"
              }
            },
            "required": [
              "ws",
              "http"
            ]
          },
          "public": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "url"
            ]
          }
        },
        "required": [
          "sessionId",
          "token",
          "urls"
        ]
      },
      "CreateBridgeTunnelSessionRequestDTO": {
        "type": "object",
        "properties": {
          "hostId": {
            "type": "string",
            "minLength": 1
          },
          "containerId": {
            "type": "string",
            "minLength": 1
          },
          "command": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            }
          },
          "label": {
            "type": "string",
            "pattern": "^[a-z0-9][a-z0-9-]{0,30}[a-z0-9]$"
          },
          "mode": {
            "type": "string",
            "default": "persistent",
            "enum": [
              "ephemeral",
              "persistent"
            ]
          },
          "protocol": {
            "type": "string",
            "default": "framed",
            "enum": [
              "framed",
              "raw"
            ]
          },
          "public": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "hostId",
          "containerId",
          "command",
          "label"
        ]
      },
      "DockerJobPresignedUrlsRequestDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "folderId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
            },
            "objectKey": {
              "type": "string",
              "minLength": 1
            },
            "method": {
              "type": "string",
              "enum": [
                "PUT",
                "DELETE",
                "GET",
                "HEAD"
              ]
            }
          },
          "required": [
            "folderId",
            "objectKey",
            "method"
          ]
        }
      },
      "DockerJobPresignedUrlsResponseDTO": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "folderId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                },
                "objectKey": {
                  "type": "string"
                },
                "method": {
                  "type": "string",
                  "enum": [
                    "PUT",
                    "DELETE",
                    "GET",
                    "HEAD"
                  ]
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "folderId",
                "objectKey",
                "method",
                "url"
              ]
            }
          }
        },
        "required": [
          "urls"
        ]
      },
      "DockerJobCompleteRequestDTO": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "const": true
              },
              "result": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "$ref": "#/components/schemas/JsonSerializableValue"
                }
              },
              "outputFiles": {
                "$ref": "#/components/schemas/OutputFiles"
              }
            },
            "required": [
              "success",
              "result"
            ]
          },
          {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "const": false
              },
              "error": {
                "type": "object",
                "properties": {
                  "requeueDelayMs": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "name": {
                    "type": "string"
                  },
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "origin": {
                    "type": "string",
                    "enum": [
                      "platform",
                      "app"
                    ]
                  },
                  "details": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "$ref": "#/components/schemas/JsonSerializableValue"
                    }
                  }
                },
                "required": [
                  "code",
                  "message",
                  "origin"
                ]
              },
              "outputFiles": {
                "$ref": "#/components/schemas/OutputFiles"
              }
            },
            "required": [
              "success",
              "error"
            ]
          }
        ]
      },
      "DockerJobProgressRequestDTO": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "details": {
            "$ref": "#/components/schemas/Details"
          },
          "message": {
            "$ref": "#/components/schemas/Message"
          },
          "timestamp": {
            "type": "string"
          },
          "executorMetadata": {
            "$ref": "#/components/schemas/ExecutorMetadata"
          }
        }
      },
      "DockerHost": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "docker_endpoint"
            ]
          },
          "host": {
            "type": "string"
          },
          "tlsConfig": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "ca": {
                "type": "string"
              },
              "cert": {
                "type": "string"
              },
              "key": {
                "type": "string"
              }
            }
          },
          "isDefault": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "healthStatus": {
            "type": "string",
            "enum": [
              "healthy",
              "unhealthy",
              "unknown"
            ]
          },
          "lastHealthCheck": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "label",
          "type",
          "host",
          "tlsConfig",
          "isDefault",
          "enabled",
          "healthStatus",
          "lastHealthCheck",
          "createdAt",
          "updatedAt"
        ]
      },
      "DockerHostListResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DockerHost"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "DockerHostResponse": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/DockerHost"
          }
        },
        "required": [
          "result"
        ]
      },
      "DockerHostInputDTO": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "type": {
            "type": "string",
            "enum": [
              "docker_endpoint"
            ]
          },
          "host": {
            "type": "string",
            "minLength": 1
          },
          "tlsConfig": {
            "$ref": "#/components/schemas/TlsConfig"
          },
          "isDefault": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "label",
          "type",
          "host"
        ]
      },
      "DockerHostUpdateDTO": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "type": {
            "type": "string",
            "enum": [
              "docker_endpoint"
            ]
          },
          "host": {
            "type": "string",
            "minLength": 1
          },
          "tlsConfig": {
            "$ref": "#/components/schemas/TlsConfig"
          },
          "isDefault": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "DockerHostDeleteResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "success"
        ]
      },
      "DockerRegistryCredential": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "registry": {
            "type": "string"
          },
          "serverAddress": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "registry",
          "serverAddress",
          "username",
          "password",
          "createdAt",
          "updatedAt"
        ]
      },
      "DockerRegistryCredentialListResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DockerRegistryCredential"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "DockerRegistryCredentialInputDTO": {
        "type": "object",
        "properties": {
          "registry": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "serverAddress": {
            "type": "string",
            "minLength": 1
          },
          "username": {
            "type": "string",
            "minLength": 1
          },
          "password": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "registry",
          "serverAddress",
          "username",
          "password"
        ]
      },
      "DockerRegistryCredentialResponse": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/DockerRegistryCredential"
          }
        },
        "required": [
          "result"
        ]
      },
      "DockerRegistryCredentialUpdateDTO": {
        "type": "object",
        "properties": {
          "registry": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "serverAddress": {
            "type": "string",
            "minLength": 1
          },
          "username": {
            "type": "string",
            "minLength": 1
          },
          "password": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "DockerRegistryCredentialDeleteResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "success"
        ]
      },
      "DockerProfileResourceAssignment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "appIdentifier": {
            "type": "string"
          },
          "profileKey": {
            "type": "string"
          },
          "dockerHostId": {
            "type": "string"
          },
          "config": {
            "$ref": "#/components/schemas/DockerResourceConfig"
          },
          "configHashes": {
            "$ref": "#/components/schemas/StringMapDTO"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "appIdentifier",
          "profileKey",
          "dockerHostId",
          "config",
          "configHashes",
          "createdAt",
          "updatedAt"
        ]
      },
      "DockerResourceConfig": {
        "type": "object",
        "properties": {
          "mounts": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "target": {
                      "type": "string",
                      "minLength": 1
                    },
                    "readOnly": {
                      "type": "boolean"
                    },
                    "type": {
                      "type": "string",
                      "const": "volume"
                    },
                    "source": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "minLength": 1
                    },
                    "volumeOptions": {
                      "type": "object",
                      "properties": {
                        "noCopy": {
                          "type": "boolean"
                        },
                        "labels": {
                          "$ref": "#/components/schemas/StringMapDTO"
                        },
                        "driverConfig": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "minLength": 1
                            },
                            "options": {
                              "$ref": "#/components/schemas/StringMapDTO"
                            },
                            "createSubpath": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "required": [
                            "name"
                          ]
                        },
                        "subpath": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "required": [
                        "driverConfig"
                      ]
                    }
                  },
                  "required": [
                    "target",
                    "type",
                    "source"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "target": {
                      "type": "string",
                      "minLength": 1
                    },
                    "readOnly": {
                      "type": "boolean"
                    },
                    "type": {
                      "type": "string",
                      "const": "bind"
                    },
                    "source": {
                      "type": "string",
                      "minLength": 1
                    },
                    "bindOptions": {
                      "type": "object",
                      "properties": {
                        "propagation": {
                          "type": "string",
                          "enum": [
                            "private",
                            "rprivate",
                            "shared",
                            "rshared",
                            "slave",
                            "rslave"
                          ]
                        },
                        "nonRecursive": {
                          "type": "boolean"
                        },
                        "createMountpoint": {
                          "type": "boolean"
                        },
                        "readOnlyNonRecursive": {
                          "type": "boolean"
                        },
                        "readOnlyForceRecursive": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "propagation"
                      ]
                    }
                  },
                  "required": [
                    "target",
                    "type",
                    "source"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "target": {
                      "type": "string",
                      "minLength": 1
                    },
                    "readOnly": {
                      "type": "boolean"
                    },
                    "type": {
                      "type": "string",
                      "const": "tmpfs"
                    },
                    "source": {
                      "not": {}
                    },
                    "tmpfsOptions": {
                      "type": "object",
                      "properties": {
                        "sizeBytes": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "mode": {
                          "type": "number"
                        },
                        "options": {
                          "minItems": 1,
                          "type": "array",
                          "items": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "required": [
                        "sizeBytes",
                        "mode"
                      ]
                    }
                  },
                  "required": [
                    "target",
                    "type",
                    "source"
                  ]
                }
              ]
            }
          },
          "env": {
            "$ref": "#/components/schemas/StringMapDTO"
          },
          "gpus": {
            "type": "object",
            "properties": {
              "driver": {
                "type": "string"
              },
              "deviceIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "driver",
              "deviceIds"
            ]
          },
          "extraHosts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "networkMode": {
            "type": "string",
            "minLength": 1
          },
          "capAdd": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "capDrop": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "securityOpt": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ports": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "number",
                  "exclusiveMinimum": 0,
                  "maximum": 65535
                },
                "container": {
                  "type": "number",
                  "exclusiveMinimum": 0,
                  "maximum": 65535
                },
                "protocol": {
                  "default": "tcp",
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                }
              },
              "required": [
                "host",
                "container"
              ]
            }
          },
          "restartPolicy": {
            "type": "string",
            "enum": [
              "no",
              "always",
              "unless-stopped",
              "on-failure"
            ]
          },
          "shmSize": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "tmpfs": {
            "$ref": "#/components/schemas/StringMapDTO"
          },
          "devices": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ulimits": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "soft": {
                  "type": "number"
                },
                "hard": {
                  "type": "number"
                }
              },
              "required": [
                "soft",
                "hard"
              ]
            }
          },
          "sysctls": {
            "$ref": "#/components/schemas/StringMapDTO"
          },
          "labels": {
            "$ref": "#/components/schemas/StringMapDTO"
          },
          "privileged": {
            "type": "boolean"
          },
          "readOnly": {
            "type": "boolean"
          },
          "user": {
            "type": "string"
          },
          "workingDir": {
            "type": "string"
          },
          "hostname": {
            "type": "string"
          },
          "domainName": {
            "type": "string"
          },
          "dns": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dnsSearch": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "entrypoint": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "command": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "stopSignal": {
            "type": "string"
          },
          "stopTimeout": {
            "type": "number"
          },
          "memoryLimit": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "cpuShares": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "cpuQuota": {
            "type": "number"
          },
          "pidsLimit": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "ipcMode": {
            "type": "string"
          },
          "pidMode": {
            "type": "string"
          },
          "cgroupParent": {
            "type": "string"
          },
          "runtime": {
            "type": "string"
          }
        }
      },
      "DockerProfileAssignmentListResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DockerProfileResourceAssignment"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "DockerProfileResolveResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "object",
            "properties": {
              "hostId": {
                "type": "string"
              },
              "hostLabel": {
                "type": "string"
              },
              "hostEndpoint": {
                "type": "string"
              },
              "resourceConfig": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/DockerResourceConfig"
                  },
                  {
                    "type": [
                      "null"
                    ]
                  }
                ]
              }
            },
            "required": [
              "hostId",
              "hostLabel",
              "hostEndpoint",
              "resourceConfig"
            ]
          }
        },
        "required": [
          "result"
        ]
      },
      "DockerProfileAssignmentResponse": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/DockerProfileResourceAssignment"
          }
        },
        "required": [
          "result"
        ]
      },
      "DockerProfileAssignmentInputDTO": {
        "type": "object",
        "properties": {
          "appIdentifier": {
            "type": "string",
            "minLength": 1
          },
          "profileKey": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[a-z_]+$"
          },
          "dockerHostId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "config": {
            "default": {},
            "$ref": "#/components/schemas/DockerResourceConfig"
          }
        },
        "required": [
          "appIdentifier",
          "profileKey",
          "dockerHostId"
        ]
      },
      "DockerProfileAssignmentUpdateDTO": {
        "type": "object",
        "properties": {
          "dockerHostId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "config": {
            "$ref": "#/components/schemas/DockerResourceConfig"
          }
        }
      },
      "DockerProfileAssignmentDeleteResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "success"
        ]
      },
      "DockerStandaloneContainer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "dockerHostId": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "tag": {
            "type": "string"
          },
          "desiredStatus": {
            "type": "string",
            "enum": [
              "running",
              "stopped"
            ]
          },
          "containerId": {
            "type": "string"
          },
          "config": {
            "$ref": "#/components/schemas/DockerResourceConfig"
          },
          "configHashes": {
            "$ref": "#/components/schemas/StringMapDTO"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "dockerHostId",
          "label",
          "image",
          "tag",
          "desiredStatus",
          "containerId",
          "config",
          "configHashes",
          "createdAt",
          "updatedAt"
        ]
      },
      "DockerStandaloneContainerListResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DockerStandaloneContainer"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "DockerStandaloneContainerResponse": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/DockerStandaloneContainer"
          }
        },
        "required": [
          "result"
        ]
      },
      "DockerStandaloneContainerInputDTO": {
        "type": "object",
        "properties": {
          "dockerHostId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "image": {
            "type": "string",
            "minLength": 1
          },
          "tag": {
            "type": "string",
            "default": "latest",
            "minLength": 1
          },
          "desiredStatus": {
            "type": "string",
            "default": "stopped",
            "enum": [
              "running",
              "stopped"
            ]
          },
          "config": {
            "default": {},
            "$ref": "#/components/schemas/DockerResourceConfig"
          }
        },
        "required": [
          "dockerHostId",
          "label",
          "image"
        ]
      },
      "DockerStandaloneContainerUpdateDTO": {
        "type": "object",
        "properties": {
          "dockerHostId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "image": {
            "type": "string",
            "minLength": 1
          },
          "tag": {
            "type": "string",
            "default": "latest",
            "minLength": 1
          },
          "desiredStatus": {
            "type": "string",
            "default": "stopped",
            "enum": [
              "running",
              "stopped"
            ]
          },
          "config": {
            "default": {},
            "$ref": "#/components/schemas/DockerResourceConfig"
          }
        }
      },
      "DockerStandaloneContainerDesiredStatusDTO": {
        "type": "object",
        "properties": {
          "desiredStatus": {
            "type": "string",
            "enum": [
              "running",
              "stopped"
            ]
          }
        },
        "required": [
          "desiredStatus"
        ]
      },
      "DockerStandaloneContainerDeleteResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "success"
        ]
      },
      "AllCommentsListResponseDTO": {
        "type": "object",
        "properties": {
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Comment"
            }
          }
        },
        "required": [
          "comments"
        ]
      },
      "CreateCommentDTO": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "minLength": 1
          },
          "anchor": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "image_point"
                  },
                  "x": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "y": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  }
                },
                "required": [
                  "type",
                  "x",
                  "y"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "video_point"
                  },
                  "t": {
                    "type": "number",
                    "minimum": 0
                  },
                  "x": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "y": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  }
                },
                "required": [
                  "type",
                  "t"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "audio_point"
                  },
                  "t": {
                    "type": "number",
                    "minimum": 0
                  }
                },
                "required": [
                  "type",
                  "t"
                ]
              }
            ]
          },
          "quoteId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "rootCommentId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          }
        },
        "required": [
          "content"
        ]
      },
      "CreateRootCommentResponseDTO": {
        "type": "object",
        "properties": {
          "comment": {
            "$ref": "#/components/schemas/Comment"
          }
        },
        "required": [
          "comment"
        ]
      },
      "ThreadResponseDTO": {
        "type": "object",
        "properties": {
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Comment"
            }
          }
        },
        "required": [
          "comments"
        ]
      },
      "SuccessResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ]
      },
      "AddReactionDTO": {
        "type": "object",
        "properties": {
          "emoji": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "emoji"
        ]
      },
      "SearchResultsDTO": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "folderId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                },
                "objectKey": {
                  "type": "string",
                  "minLength": 1
                },
                "similarity": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                "score": {
                  "type": "number"
                },
                "folderObject": {
                  "$ref": "#/components/schemas/FolderObject"
                },
                "folderName": {
                  "type": "string"
                }
              },
              "required": [
                "folderId",
                "objectKey",
                "similarity",
                "folderObject",
                "folderName"
              ]
            }
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "required": [
          "result",
          "meta"
        ]
      },
      "CreateMcpTokenInputDTO": {
        "type": "object",
        "properties": {
          "clientName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          }
        },
        "required": [
          "clientName"
        ]
      },
      "CreateMcpTokenResponseDTO": {
        "type": "object",
        "properties": {
          "tokenId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "rawToken": {
            "type": "string"
          },
          "clientName": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          }
        },
        "required": [
          "tokenId",
          "rawToken",
          "clientName",
          "createdAt"
        ]
      },
      "McpTokenListResponseDTO": {
        "type": "object",
        "properties": {
          "tokens": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "clientName": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "lastUsedAt": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                }
              },
              "required": [
                "id",
                "clientName",
                "createdAt",
                "lastUsedAt"
              ]
            }
          }
        },
        "required": [
          "tokens"
        ]
      },
      "McpSuccessResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ]
      },
      "McpSettingsResponseDTO": {
        "type": "object",
        "properties": {
          "canRead": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "canWrite": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "canDelete": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "canMove": {
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "required": [
          "canRead",
          "canWrite",
          "canDelete",
          "canMove"
        ]
      },
      "McpUserSettingsInputDTO": {
        "type": "object",
        "properties": {
          "canRead": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "canWrite": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "canDelete": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "canMove": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "McpFolderSettingsInputDTO": {
        "type": "object",
        "properties": {
          "canRead": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "canWrite": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "canDelete": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "canMove": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "Meta": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "number"
          }
        },
        "required": [
          "totalCount"
        ]
      },
      "Author": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "username": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "username",
          "name",
          "email"
        ]
      },
      "TargetLocation": {
        "type": "object",
        "properties": {
          "folderId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "objectKey": {
            "type": "string"
          }
        },
        "required": [
          "folderId"
        ]
      },
      "Icon": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "source": {
                "type": "string",
                "const": "builtin"
              },
              "label": {
                "type": "string",
                "minLength": 1
              },
              "name": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "source",
              "name"
            ],
            "additionalProperties": false
          },
          {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string",
                    "const": "custom"
                  },
                  "label": {
                    "type": "string",
                    "minLength": 1
                  },
                  "format": {
                    "type": "string",
                    "const": "svg"
                  },
                  "rendering": {
                    "type": "string",
                    "enum": [
                      "template",
                      "original"
                    ]
                  },
                  "assets": {
                    "minItems": 1,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "path": {
                          "type": "string",
                          "minLength": 1
                        },
                        "appearance": {
                          "type": "string",
                          "enum": [
                            "light",
                            "dark",
                            "any"
                          ]
                        }
                      },
                      "required": [
                        "path"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "source",
                  "format",
                  "rendering",
                  "assets"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string",
                    "const": "custom"
                  },
                  "label": {
                    "type": "string",
                    "minLength": 1
                  },
                  "format": {
                    "type": "string",
                    "const": "png"
                  },
                  "rendering": {
                    "type": "string",
                    "const": "original"
                  },
                  "assets": {
                    "minItems": 1,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "path": {
                          "type": "string",
                          "minLength": 1
                        },
                        "scale": {
                          "anyOf": [
                            {
                              "type": "number",
                              "const": 1
                            },
                            {
                              "type": "number",
                              "const": 2
                            },
                            {
                              "type": "number",
                              "const": 3
                            }
                          ]
                        },
                        "appearance": {
                          "type": "string",
                          "enum": [
                            "light",
                            "dark",
                            "any"
                          ]
                        }
                      },
                      "required": [
                        "path",
                        "scale"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "source",
                  "format",
                  "rendering",
                  "assets"
                ],
                "additionalProperties": false
              }
            ]
          }
        ]
      },
      "TargetLocationContext": {
        "type": "object",
        "properties": {
          "folderId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "objectKey": {
            "type": "string"
          },
          "folderName": {
            "type": "string"
          },
          "folderOwnerId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          }
        },
        "required": [
          "folderId",
          "folderName",
          "folderOwnerId"
        ]
      },
      "User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "emailVerified": {
            "type": "boolean"
          },
          "isAdmin": {
            "type": "boolean"
          },
          "username": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "avatar": {
            "$ref": "#/components/schemas/ImageUrls"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          }
        },
        "required": [
          "id",
          "name",
          "email",
          "emailVerified",
          "isAdmin",
          "username",
          "permissions",
          "createdAt",
          "updatedAt"
        ]
      },
      "Details": {
        "type": "object",
        "properties": {
          "percent": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "current": {
            "type": "number"
          },
          "total": {
            "type": "number"
          },
          "label": {
            "type": "string"
          }
        }
      },
      "Contributions": {
        "type": "object",
        "properties": {
          "sidebarMenuLinks": {
            "$ref": "#/components/schemas/AppContributedViews"
          },
          "folderSidebarViews": {
            "$ref": "#/components/schemas/AppContributedViews"
          },
          "objectSidebarViews": {
            "$ref": "#/components/schemas/AppContributedViews"
          },
          "objectDetailViews": {
            "$ref": "#/components/schemas/AppContributedViews"
          },
          "folderDetailViews": {
            "$ref": "#/components/schemas/AppContributedViews"
          },
          "mobile": {
            "type": "object",
            "properties": {
              "queries": {
                "type": "object",
                "propertyNames": {
                  "type": "string",
                  "pattern": "^[a-z0-9]+(?:[._][a-z0-9]+)*$"
                },
                "additionalProperties": {
                  "$ref": "#/components/schemas/MobileQueryDefinition"
                }
              },
              "screens": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "identifier": {
                      "type": "string",
                      "minLength": 1,
                      "pattern": "^[a-z][a-z0-9_]*$"
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1
                    },
                    "icon": {
                      "$ref": "#/components/schemas/Icon"
                    },
                    "title": {
                      "type": "string"
                    },
                    "views": {
                      "minItems": 1,
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MobileView"
                      }
                    }
                  },
                  "required": [
                    "identifier",
                    "label",
                    "views"
                  ],
                  "additionalProperties": false
                }
              },
              "root": {
                "$ref": "#/components/schemas/MobileRoot"
              }
            },
            "required": [
              "screens"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "sidebarMenuLinks",
          "folderSidebarViews",
          "objectSidebarViews",
          "objectDetailViews",
          "folderDetailViews"
        ],
        "additionalProperties": false
      },
      "ExecutorMetadata": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "system"
              },
              "metadata": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "$ref": "#/components/schemas/JsonSerializableValue"
                }
              }
            },
            "required": [
              "type",
              "metadata"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "docker"
              },
              "metadata": {
                "type": "object",
                "properties": {
                  "profileKey": {
                    "type": "string"
                  },
                  "profileHash": {
                    "type": "string"
                  },
                  "jobIdentifier": {
                    "type": "string"
                  },
                  "containerId": {
                    "type": "string"
                  },
                  "hostId": {
                    "type": "string"
                  }
                },
                "required": [
                  "profileKey",
                  "profileHash",
                  "jobIdentifier",
                  "containerId",
                  "hostId"
                ]
              }
            },
            "required": [
              "type",
              "metadata"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "runtime"
              },
              "metadata": {
                "type": "object",
                "properties": {
                  "workerIdentifier": {
                    "type": "string"
                  }
                },
                "required": [
                  "workerIdentifier"
                ]
              }
            },
            "required": [
              "type",
              "metadata"
            ]
          }
        ]
      },
      "Message": {
        "type": "object",
        "properties": {
          "level": {
            "type": "string",
            "enum": [
              "debug",
              "info",
              "warn",
              "error"
            ]
          },
          "text": {
            "type": "string"
          },
          "audience": {
            "type": "string",
            "enum": [
              "user",
              "system"
            ]
          }
        },
        "required": [
          "level",
          "text",
          "audience"
        ]
      },
      "Comment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "folderId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "folderObjectId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "rootId": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "quoteId": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "author": {
            "$ref": "#/components/schemas/Author"
          },
          "content": {
            "type": "string"
          },
          "anchor": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "const": "image_point"
                      },
                      "x": {
                        "type": "number"
                      },
                      "y": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "type",
                      "x",
                      "y"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "const": "video_point"
                      },
                      "t": {
                        "type": "number"
                      },
                      "x": {
                        "type": "number"
                      },
                      "y": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "type",
                      "t"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "const": "audio_point"
                      },
                      "t": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "type",
                      "t"
                    ]
                  }
                ]
              },
              {
                "type": [
                  "null"
                ]
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          },
          "deletedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          },
          "quotedComment": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
              },
              "author": {
                "$ref": "#/components/schemas/Author"
              },
              "content": {
                "type": "string"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              "deletedAt": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              }
            },
            "required": [
              "id",
              "author",
              "content",
              "createdAt",
              "deletedAt"
            ]
          },
          "mentions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                },
                "username": {
                  "type": "string"
                },
                "name": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "id",
                "username",
                "name"
              ]
            }
          },
          "reactions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "emoji": {
                  "type": "string"
                },
                "count": {
                  "type": "number"
                },
                "users": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Author"
                  }
                }
              },
              "required": [
                "emoji",
                "count",
                "users"
              ]
            }
          }
        },
        "required": [
          "id",
          "folderId",
          "folderObjectId",
          "rootId",
          "quoteId",
          "author",
          "content",
          "anchor",
          "createdAt",
          "updatedAt",
          "deletedAt"
        ]
      },
      "FolderObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "filename": {
            "type": "string"
          },
          "objectKey": {
            "type": "string"
          },
          "folderId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "hash": {
            "type": "string"
          },
          "lastModified": {
            "type": "number"
          },
          "eTag": {
            "type": "string"
          },
          "sizeBytes": {
            "type": "number"
          },
          "mimeType": {
            "type": "string"
          },
          "mediaType": {
            "type": "string",
            "enum": [
              "IMAGE",
              "VIDEO",
              "AUDIO",
              "DOCUMENT",
              "UNKNOWN"
            ]
          },
          "contentMetadata": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/InlineMetadataEntryDTO"
                  },
                  {
                    "$ref": "#/components/schemas/ExternalMetadataEntryDTO"
                  }
                ]
              }
            }
          }
        },
        "required": [
          "id",
          "filename",
          "objectKey",
          "folderId",
          "lastModified",
          "eTag",
          "sizeBytes",
          "mimeType",
          "mediaType",
          "contentMetadata"
        ]
      },
      "StorageProvision": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "accessKeyHashId": {
            "type": "string"
          },
          "endpoint": {
            "type": "string"
          },
          "bucket": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "accessKeyId": {
            "type": "string"
          },
          "secretAccessKey": {
            "type": "null"
          },
          "prefix": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 1
          },
          "provisionTypes": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "CONTENT",
                "METADATA",
                "REDUNDANCY"
              ]
            }
          },
          "label": {
            "type": "string",
            "maxLength": 32
          },
          "description": {
            "type": "string",
            "maxLength": 128
          }
        },
        "required": [
          "id",
          "accessKeyHashId",
          "endpoint",
          "bucket",
          "region",
          "accessKeyId",
          "secretAccessKey",
          "prefix",
          "provisionTypes",
          "label",
          "description"
        ]
      },
      "ContainerTarget": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "instance"
              },
              "containerIdTemplate": {
                "type": "string"
              },
              "userIsolation": {
                "type": "boolean"
              }
            },
            "required": [
              "type",
              "containerIdTemplate"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "class"
              },
              "isolationKeyTemplate": {
                "type": "string"
              },
              "userIsolation": {
                "type": "boolean"
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "EventIdentifier": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 1,
            "pattern": "^[a-z_]+$"
          },
          {
            "type": "string",
            "minLength": 1,
            "pattern": "^core:[a-z_]+$"
          }
        ]
      },
      "Invocation": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "system_action"
              },
              "invokeContext": {
                "type": "object",
                "properties": {
                  "idempotencyData": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "$ref": "#/components/schemas/JsonSerializableValue"
                    }
                  }
                }
              },
              "onComplete": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnCompleteConfig"
                }
              },
              "onProgress": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnProgressConfig"
                }
              }
            },
            "required": [
              "kind",
              "invokeContext"
            ]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "event"
              },
              "invokeContext": {
                "type": "object",
                "properties": {
                  "eventId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                  },
                  "emitterId": {
                    "type": "string"
                  },
                  "eventIdentifier": {
                    "$ref": "#/components/schemas/EventIdentifier"
                  },
                  "eventTriggerConfigIndex": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "runtimeTriggerId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                  },
                  "triggerKey": {
                    "type": "string"
                  },
                  "dataTemplate": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "$ref": "#/components/schemas/JsonSerializableValue"
                    }
                  },
                  "targetUserId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                  },
                  "targetLocation": {
                    "$ref": "#/components/schemas/TargetLocation"
                  },
                  "eventData": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "$ref": "#/components/schemas/JsonSerializableValue"
                    }
                  }
                },
                "required": [
                  "eventId",
                  "emitterId",
                  "eventIdentifier",
                  "eventData"
                ]
              },
              "onComplete": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnCompleteConfig"
                }
              },
              "onProgress": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnProgressConfig"
                }
              }
            },
            "required": [
              "kind",
              "invokeContext"
            ]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "schedule"
              },
              "invokeContext": {
                "type": "object",
                "properties": {
                  "timestampBucket": {
                    "type": "string"
                  },
                  "triggerKey": {
                    "type": "string"
                  },
                  "config": {
                    "$ref": "#/components/schemas/ScheduleConfig"
                  },
                  "runtimeTriggerId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                  }
                },
                "required": [
                  "timestampBucket",
                  "triggerKey",
                  "config"
                ]
              },
              "onComplete": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnCompleteConfig"
                }
              },
              "onProgress": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnProgressConfig"
                }
              }
            },
            "required": [
              "kind",
              "invokeContext"
            ]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "user_action"
              },
              "invokeContext": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                  },
                  "requestId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                  }
                },
                "required": [
                  "userId",
                  "requestId"
                ]
              },
              "onComplete": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnCompleteConfig"
                }
              },
              "onProgress": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnProgressConfig"
                }
              }
            },
            "required": [
              "kind",
              "invokeContext"
            ]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "app_action"
              },
              "invokeContext": {
                "type": "object",
                "properties": {
                  "requestId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
                  }
                },
                "required": [
                  "requestId"
                ]
              },
              "onComplete": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnCompleteConfig"
                }
              },
              "onProgress": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnProgressConfig"
                }
              }
            },
            "required": [
              "kind",
              "invokeContext"
            ]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "task_complete_child"
              },
              "invokeContext": {
                "type": "object",
                "properties": {
                  "parentTask": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "identifier": {
                        "type": "string"
                      },
                      "success": {
                        "type": "boolean"
                      },
                      "result": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {
                          "$ref": "#/components/schemas/JsonSerializableValue"
                        }
                      }
                    },
                    "required": [
                      "id",
                      "identifier",
                      "success",
                      "result"
                    ]
                  },
                  "onCompleteHandlerIndex": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "parentTask",
                  "onCompleteHandlerIndex"
                ]
              },
              "onComplete": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnCompleteConfig"
                }
              },
              "onProgress": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnProgressConfig"
                }
              }
            },
            "required": [
              "kind",
              "invokeContext"
            ]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "task_progress_child"
              },
              "invokeContext": {
                "type": "object",
                "properties": {
                  "parentTask": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "identifier": {
                        "type": "string"
                      },
                      "progressReport": {
                        "$ref": "#/components/schemas/DockerJobProgressRequestDTO"
                      }
                    },
                    "required": [
                      "id",
                      "identifier",
                      "progressReport"
                    ]
                  },
                  "onProgressHandlerIndex": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "parentTask",
                  "onProgressHandlerIndex"
                ]
              },
              "onComplete": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnCompleteConfig"
                }
              },
              "onProgress": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaskOnProgressConfig"
                }
              }
            },
            "required": [
              "kind",
              "invokeContext"
            ]
          }
        ]
      },
      "Event": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "eventIdentifier": {
            "type": "string"
          },
          "emitterIdentifier": {
            "type": "string"
          },
          "targetLocationContext": {
            "$ref": "#/components/schemas/TargetLocationContext"
          },
          "data": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonSerializableValue"
            }
          },
          "targetLocation": {
            "$ref": "#/components/schemas/TargetLocation"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          }
        },
        "required": [
          "id",
          "eventIdentifier",
          "emitterIdentifier",
          "data",
          "createdAt"
        ]
      },
      "Log": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "message": {
            "type": "string"
          },
          "level": {
            "type": "string",
            "enum": [
              "TRACE",
              "DEBUG",
              "INFO",
              "WARN",
              "ERROR"
            ]
          },
          "emitterIdentifier": {
            "type": "string"
          },
          "targetLocation": {
            "$ref": "#/components/schemas/TargetLocation"
          },
          "targetLocationContext": {
            "$ref": "#/components/schemas/TargetLocationContext"
          },
          "data": {},
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          }
        },
        "required": [
          "id",
          "message",
          "level",
          "emitterIdentifier",
          "data",
          "createdAt"
        ]
      },
      "RuntimeWorkers": {
        "type": "object",
        "properties": {
          "hash": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "manifest": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/AppManifestEntry"
            }
          },
          "definitions": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "environmentVariables": {
                  "$ref": "#/components/schemas/StringMapDTO"
                },
                "entrypoint": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "label",
                "description",
                "environmentVariables",
                "entrypoint"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "hash",
          "size",
          "manifest",
          "definitions"
        ]
      },
      "Session": {
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string"
          },
          "refreshToken": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          }
        },
        "required": [
          "accessToken",
          "refreshToken",
          "expiresAt"
        ]
      },
      "AccessKey": {
        "type": "object",
        "properties": {
          "secretAccessKey": {
            "type": "null"
          },
          "accessKeyId": {
            "type": "string"
          },
          "accessKeyHashId": {
            "type": "string"
          },
          "endpoint": {
            "type": "string"
          },
          "endpointDomain": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "folderCount": {
            "type": "number"
          }
        },
        "required": [
          "secretAccessKey",
          "accessKeyId",
          "accessKeyHashId",
          "endpoint",
          "endpointDomain",
          "region",
          "folderCount"
        ]
      },
      "Settings": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "eventIdentifier": {
              "type": "string"
            },
            "emitterIdentifier": {
              "type": "string"
            },
            "channel": {
              "type": "string",
              "enum": [
                "web",
                "email",
                "mobile"
              ]
            },
            "enabled": {
              "type": "boolean"
            }
          },
          "required": [
            "eventIdentifier",
            "emitterIdentifier",
            "channel",
            "enabled"
          ]
        }
      },
      "Share": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderPermission"
            }
          }
        },
        "required": [
          "userId",
          "permissions"
        ]
      },
      "Ui": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "hash": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "csp": {
            "type": "string"
          },
          "manifest": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/AppManifestEntry"
            }
          }
        },
        "required": [
          "hash",
          "size",
          "manifest"
        ]
      },
      "OutputFiles": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "folderId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
            },
            "objectKey": {
              "type": "string",
              "minLength": 1
            }
          },
          "required": [
            "folderId",
            "objectKey"
          ]
        }
      },
      "Entries": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "stream": {
              "type": "string",
              "enum": [
                "stdout",
                "stderr"
              ]
            },
            "text": {
              "type": "string"
            }
          },
          "required": [
            "stream",
            "text"
          ]
        }
      },
      "Jobs": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "jobId": {
              "type": "string"
            },
            "filePath": {
              "type": "string"
            }
          },
          "required": [
            "jobId",
            "filePath"
          ]
        }
      },
      "ErrorsLast24Hours": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number"
          },
          "last10Minutes": {
            "type": "number"
          }
        },
        "required": [
          "total",
          "last10Minutes"
        ]
      },
      "InstalledApps": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "totalCount",
          "summary"
        ]
      },
      "TlsConfig": {
        "type": "object",
        "properties": {
          "ca": {
            "type": "string"
          },
          "cert": {
            "type": "string"
          },
          "key": {
            "type": "string"
          }
        }
      }
    }
  }
}