{
  "openapi": "3.1.0",
  "info": {
    "title": "Kasm Workspaces API",
    "description": "Operations may carry two vendor extensions:\n\n- `x-required-license`: the license entitlements the deployment must hold, or\n  the operation is refused with 403. Every entry is required; an entry that is\n  a list is satisfied by any one of the features it names.\n- `x-allow-readonly-api-key`: present and `true` when a read-only API key may\n  call the operation.\n",
    "version": "0.1.0"
  },
  "paths": {
    "/api/auth/password/verify": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Verify the caller's own password",
        "operationId": "auth.password.verify",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/auth/password": {
      "put": {
        "tags": [
          "Client"
        ],
        "summary": "Change the caller's own password",
        "operationId": "auth.password.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/auth/password/reset": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Change a password before logging in",
        "description": "Replace the caller's password without a session, or challenge for the second factor.\n\nThe caller has no session, so the challenge for an enrolled second factor\nis issued here, only after the current password has verified, and the\ncaller resubmits the whole request with the code or assertion attached.",
        "operationId": "auth.password.reset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PasswordChanged"
                    },
                    {
                      "$ref": "#/components/schemas/TotpChallenge"
                    },
                    {
                      "$ref": "#/components/schemas/WebAuthnChallenge"
                    }
                  ],
                  "title": "Response Auth.Password.Reset",
                  "discriminator": {
                    "propertyName": "outcome",
                    "mapping": {
                      "password_changed": "#/components/schemas/PasswordChanged",
                      "totp_required": "#/components/schemas/TotpChallenge",
                      "webauthn_required": "#/components/schemas/WebAuthnChallenge"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/login-settings": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Branding, SSO providers and password policy for the login page",
        "description": "Everything the login page renders itself from, for the requested host.",
        "operationId": "auth.loginSettings.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginSettingsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/login": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Log in with a username and password",
        "description": "Mint a session, or challenge for the second factor the account owes.",
        "operationId": "auth.login.password",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SessionResponse"
                    },
                    {
                      "$ref": "#/components/schemas/TotpChallenge"
                    },
                    {
                      "$ref": "#/components/schemas/WebAuthnChallenge"
                    }
                  ],
                  "title": "Response Auth.Login.Password",
                  "discriminator": {
                    "propertyName": "outcome",
                    "mapping": {
                      "session": "#/components/schemas/SessionResponse",
                      "totp_required": "#/components/schemas/TotpChallenge",
                      "webauthn_required": "#/components/schemas/WebAuthnChallenge"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/login/totp": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Finish a login by proving the TOTP second factor",
        "description": "Mint a session for a password plus a valid TOTP code.",
        "operationId": "auth.login.totp",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TotpLoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/login/webauthn": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Finish a login by proving the WebAuthn second factor",
        "description": "Mint a session for a password plus a verified authenticator assertion.",
        "operationId": "auth.login.webauthn",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebAuthnLoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/login/sso-exchange": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Trade the session an SSO callback issued for session cookies",
        "description": "Return the session cookies for a session the identity provider's callback already created.",
        "operationId": "auth.login.ssoExchange",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SsoExchangeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "headers": {
              "Cache-Control": {
                "description": "Always ``no-store``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-store"
                }
              },
              "Pragma": {
                "description": "Always ``no-cache``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-cache"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/totp/enrollment": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Start a TOTP enrollment for the caller",
        "operationId": "auth.totp.enrollment.start",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartTotpEnrollmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TotpEnrollmentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/totp/enrollment/verify": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Confirm a TOTP enrollment with a generated code",
        "operationId": "auth.totp.enrollment.verify",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyTotpEnrollmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/second-factor": {
      "delete": {
        "tags": [
          "Client"
        ],
        "summary": "Clear the caller's enrolled second factor",
        "operationId": "auth.secondFactor.clear",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClearSecondFactorRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/auth/session/refresh": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Extend the caller's session and re-issue its token",
        "operationId": "auth.session.refresh",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/auth/logout": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "End the caller's session, or every session they hold",
        "operationId": "auth.session.logout",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LogoutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogoutResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/auth/sso/login-url": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Where to send the browser to log in at an SSO provider",
        "description": "The provider's authorization URL, for the login page to follow.",
        "operationId": "auth.sso.loginUrl",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SsoLoginUrlRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SsoLoginUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/sso/{sso_id}/login": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Start a login at an SSO provider",
        "description": "Redirect the browser to the provider behind `sso_id`.",
        "operationId": "auth.sso.login",
        "parameters": [
          {
            "name": "sso_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The flow stopped; the body says why, for the person reading it.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "302": {
            "description": "The flow continues at the URL in Location.",
            "headers": {
              "Location": {
                "description": "Where to go next.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "No enabled SSO configuration carries that id."
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/sso/{saml_id}/metadata": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "This deployment's SAML service-provider metadata",
        "description": "The SP metadata document an administrator uploads to their provider.",
        "operationId": "auth.sso.metadata",
        "parameters": [
          {
            "name": "saml_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Saml Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The service-provider metadata document.",
            "content": {
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/webauthn/enrollment": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Start a WebAuthn enrollment for the caller",
        "operationId": "auth.webauthn.enrollment.start",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartWebAuthnEnrollmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebAuthnRegistrationOptionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/webauthn/enrollment/verify": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Confirm a WebAuthn enrollment with the authenticator's attestation",
        "operationId": "auth.webauthn.enrollment.verify",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyWebAuthnEnrollmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/webauthn/challenge": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Issue a WebAuthn assertion challenge for the caller",
        "operationId": "auth.webauthn.challenge",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebAuthnChallengeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/admin/catalog/registries": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List installed image registries (paginated)",
        "operationId": "admin.catalog.registries.list",
        "security": [
          {
            "kasmBearer": [
              "REGISTRIES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REGISTRIES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REGISTRIES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "channel",
                    "do_auto_update",
                    "error_message",
                    "is_verified",
                    "registry_id",
                    "registry_url",
                    "schema_version"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Name"
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Description"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRegistriesResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Install an image registry",
        "operationId": "admin.catalog.registries.create",
        "security": [
          {
            "kasmBearer": [
              "REGISTRIES_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REGISTRIES_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "REGISTRIES_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRegistryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegistrySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/registries/{registry_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single registry by id",
        "operationId": "admin.catalog.registries.get",
        "security": [
          {
            "kasmBearer": [
              "REGISTRIES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REGISTRIES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REGISTRIES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "registry_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Registry Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegistrySummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a registry's auto-update flag and/or channel",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.catalog.registries.patch",
        "security": [
          {
            "kasmBearer": [
              "REGISTRIES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REGISTRIES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "REGISTRIES_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "registry_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Registry Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRegistryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegistrySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Uninstall a registry",
        "operationId": "admin.catalog.registries.delete",
        "security": [
          {
            "kasmBearer": [
              "REGISTRIES_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REGISTRIES_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "REGISTRIES_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "registry_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Registry Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/registries/{registry_id}/refresh": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Refresh a registry from its source",
        "operationId": "admin.catalog.registries.refresh",
        "security": [
          {
            "kasmBearer": [
              "REGISTRIES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REGISTRIES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "REGISTRIES_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "registry_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Registry Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegistrySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/images": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List images visible to the caller (paginated, filtered)",
        "operationId": "admin.catalog.images.list",
        "security": [
          {
            "kasmBearer": [
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "allow_network_selection",
                    "available",
                    "cores",
                    "cpu_allocation_method",
                    "description",
                    "docker_registry",
                    "docker_user",
                    "enabled",
                    "enforce_workspace_persistence",
                    "filter_policy_force_disabled",
                    "filter_policy_id",
                    "friendly_name",
                    "gpu_count",
                    "hidden",
                    "image_id",
                    "image_src",
                    "image_type",
                    "is_remote_app",
                    "link_url",
                    "memory_bytes",
                    "name",
                    "network_policy_id",
                    "notes",
                    "override_egress_gateways",
                    "persistent_profile_path",
                    "rdp_client_type",
                    "remote_app_args",
                    "remote_app_icon",
                    "remote_app_name",
                    "remote_app_program",
                    "require_gpu",
                    "restrict_to_network",
                    "restrict_to_server",
                    "restrict_to_zone",
                    "server_id",
                    "server_pool_id",
                    "session_banner_force_disabled",
                    "session_banner_id",
                    "session_time_limit",
                    "uncompressed_size_bytes",
                    "x_res",
                    "y_res",
                    "zone_id"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "friendly_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Friendly Name"
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Description"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_ImageSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an image",
        "operationId": "admin.catalog.images.create",
        "security": [
          {
            "kasmBearer": [
              "IMAGES_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateImageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/images/{image_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single image by id",
        "operationId": "admin.catalog.images.get",
        "security": [
          {
            "kasmBearer": [
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "image_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Image Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an image",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.catalog.images.patch",
        "security": [
          {
            "kasmBearer": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "IMAGES_MODIFY_RESOURCES"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_MODIFY_RESOURCES"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_MODIFY_RESOURCES"
            ]
          }
        ],
        "parameters": [
          {
            "name": "image_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Image Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateImageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an image",
        "operationId": "admin.catalog.images.delete",
        "security": [
          {
            "kasmBearer": [
              "IMAGES_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "image_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Image Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/images/{image_id}/duplicate": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Duplicate an image",
        "operationId": "admin.catalog.images.duplicate",
        "security": [
          {
            "kasmBearer": [
              "IMAGES_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_CREATE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "image_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Image Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/images/from-session": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an image from a running session",
        "operationId": "admin.catalog.images.createFromSession",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateImageFromSessionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "IMAGES_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_CREATE"
            ]
          }
        ]
      }
    },
    "/api/catalog/user-images": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "List launchable images for the caller (or another user, with elevated perms)",
        "operationId": "catalog.userImages.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "available",
                    "cores",
                    "default_category",
                    "description",
                    "enabled",
                    "enforce_workspace_persistence",
                    "friendly_name",
                    "hidden",
                    "image_id",
                    "image_src",
                    "image_type",
                    "link_url",
                    "memory_bytes",
                    "memory_friendly",
                    "name",
                    "override_egress_gateways",
                    "rdp_client_type",
                    "unavailable_message"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "username",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Username"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUserImagesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/catalog/default-images": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "The authenticated user's default workspace image, from user and group settings",
        "operationId": "catalog.defaultImages.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DefaultImages"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/admin/catalog/server-templates": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List server templates (paginated, filtered)",
        "operationId": "admin.catalog.serverTemplates.list",
        "security": [
          {
            "kasmBearer": [
              "SERVER_TEMPLATES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVER_TEMPLATES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVER_TEMPLATES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "connection_credential_type",
                    "connection_port",
                    "connection_sso_username_domain",
                    "connection_username",
                    "created",
                    "deleted",
                    "expiration",
                    "max_simultaneous_sessions",
                    "max_simultaneous_users",
                    "maximum_uses",
                    "server_pool_id",
                    "server_template_id",
                    "servers_created",
                    "template_enabled",
                    "template_name",
                    "zone_id"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "template_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Template Name"
            }
          },
          {
            "name": "zone_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Zone Id"
            }
          },
          {
            "name": "server_pool_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Server Pool Id"
            }
          },
          {
            "name": "template_enabled",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Template Enabled"
            }
          },
          {
            "name": "show_deleted",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Show Deleted"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_ServerTemplateSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a server template",
        "operationId": "admin.catalog.serverTemplates.create",
        "security": [
          {
            "kasmBearer": [
              "SERVER_TEMPLATES_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVER_TEMPLATES_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVER_TEMPLATES_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateServerTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerTemplateSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/server-templates/{server_template_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single server template by id",
        "operationId": "admin.catalog.serverTemplates.get",
        "security": [
          {
            "kasmBearer": [
              "SERVER_TEMPLATES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVER_TEMPLATES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVER_TEMPLATES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "server_template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Server Template Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerTemplateSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a server template's enabled state",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.catalog.serverTemplates.patch",
        "security": [
          {
            "kasmBearer": [
              "SERVER_TEMPLATES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVER_TEMPLATES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVER_TEMPLATES_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "server_template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Server Template Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateServerTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerTemplateSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a server template",
        "operationId": "admin.catalog.serverTemplates.delete",
        "security": [
          {
            "kasmBearer": [
              "SERVER_TEMPLATES_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVER_TEMPLATES_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVER_TEMPLATES_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "server_template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Server Template Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/staging-configs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List staging configs (paginated, filtered)",
        "operationId": "admin.catalog.stagingConfigs.list",
        "security": [
          {
            "kasmBearer": [
              "STAGING_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "STAGING_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "STAGING_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "allow_kasm_audio",
                    "allow_kasm_clipboard_down",
                    "allow_kasm_clipboard_up",
                    "allow_kasm_downloads",
                    "allow_kasm_gamepad",
                    "allow_kasm_microphone",
                    "allow_kasm_printing",
                    "allow_kasm_rdp_client_file_transfer_clipboard",
                    "allow_kasm_smart_card_passthrough",
                    "allow_kasm_ssh_agent_passthrough",
                    "allow_kasm_uploads",
                    "allow_kasm_webauthn_passthrough",
                    "allow_kasm_webcam",
                    "autoscale_config_id",
                    "autoscale_config_name",
                    "expiration",
                    "image_friendly_name",
                    "image_id",
                    "num_sessions",
                    "server_pool_id",
                    "server_pool_name",
                    "staging_config_id",
                    "zone_id",
                    "zone_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "zone_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Zone Id"
            }
          },
          {
            "name": "image_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Image Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_StagingConfigSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a staging config",
        "operationId": "admin.catalog.stagingConfigs.create",
        "security": [
          {
            "kasmBearer": [
              "STAGING_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "STAGING_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "STAGING_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStagingConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StagingConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "session_staging"
        ]
      }
    },
    "/api/admin/catalog/staging-configs/{staging_config_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single staging config by id",
        "operationId": "admin.catalog.stagingConfigs.get",
        "security": [
          {
            "kasmBearer": [
              "STAGING_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "STAGING_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "STAGING_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "staging_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Staging Config Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StagingConfigSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a staging config",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.catalog.stagingConfigs.patch",
        "security": [
          {
            "kasmBearer": [
              "STAGING_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "STAGING_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "STAGING_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "staging_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Staging Config Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStagingConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StagingConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "session_staging"
        ]
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a staging config",
        "operationId": "admin.catalog.stagingConfigs.delete",
        "security": [
          {
            "kasmBearer": [
              "STAGING_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "STAGING_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "STAGING_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "staging_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Staging Config Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/file-mappings": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List the file mappings owned by a single image, group, or user (paginated)",
        "operationId": "admin.catalog.fileMappings.list",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "image_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Image Id"
            }
          },
          {
            "name": "group_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Group Id"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "description",
                "destination",
                "enabled",
                "file_map_id",
                "file_type",
                "group_id",
                "image_id",
                "is_executable",
                "is_readable",
                "is_writable",
                "name",
                "session_id",
                "user_id"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "include_disabled",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Include Disabled"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_FileMappingSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a file mapping",
        "operationId": "admin.catalog.fileMappings.create",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmBearer": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_MODIFY"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFileMappingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/file-mappings/{file_map_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single file mapping by id",
        "operationId": "admin.catalog.fileMappings.get",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "file_map_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "File Map Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileMappingSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a file mapping",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.catalog.fileMappings.patch",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmBearer": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "file_map_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "File Map Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFileMappingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a file mapping",
        "operationId": "admin.catalog.fileMappings.delete",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmBearer": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "file_map_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "File Map Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/file-mappings/uploads": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a file mapping from an uploaded file (multipart)",
        "operationId": "admin.catalog.fileMappings.uploads.create",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/FileMappingUpload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "413": {
            "description": "Payload too large",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmBearer": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_MODIFY"
            ]
          }
        ]
      }
    },
    "/api/admin/catalog/file-mappings/{file_map_id}/content": {
      "put": {
        "tags": [
          "Admin"
        ],
        "summary": "Replace a file mapping's binary content",
        "operationId": "admin.catalog.fileMappings.content.replace",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmBearer": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "file_map_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "File Map Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/FileMappingContentReplace"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "413": {
            "description": "Payload too large",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/users": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List users (paginated, filtered)",
        "operationId": "admin.identity.users.list",
        "security": [
          {
            "kasmBearer": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "anonymous",
                    "created",
                    "disabled",
                    "first_name",
                    "groups",
                    "last_name",
                    "last_session",
                    "locked",
                    "notes",
                    "organization",
                    "phone",
                    "realm",
                    "user_id",
                    "username"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "anonymous",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Anonymous"
            }
          },
          {
            "name": "anonymous_only",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Anonymous Only"
            }
          },
          {
            "name": "username",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Username"
            }
          },
          {
            "name": "locked",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Locked"
            }
          },
          {
            "name": "disabled",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Disabled"
            }
          },
          {
            "name": "created_from",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created From"
            }
          },
          {
            "name": "created_before",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created Before"
            }
          },
          {
            "name": "exclude_group",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Group"
            }
          },
          {
            "name": "oidc_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Oidc Id"
            }
          },
          {
            "name": "saml_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Saml Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_UserSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a user",
        "operationId": "admin.identity.users.create",
        "security": [
          {
            "kasmBearer": [
              "USERS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/users/{user_id}/effective-settings": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a user's effective (group-resolved) settings",
        "operationId": "admin.identity.users.effectiveSettings.list",
        "security": [
          {
            "kasmBearer": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserEffectiveSetting"
                  },
                  "title": "Response Admin.Identity.Users.Effectivesettings.List"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/identity/users/{user_id}": {
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a user",
        "operationId": "admin.identity.users.delete",
        "security": [
          {
            "kasmBearer": [
              "USERS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          },
          {
            "name": "force",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Force"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/users/{user_id}/logout": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Log a user out of every session",
        "operationId": "admin.identity.users.logout",
        "security": [
          {
            "kasmBearer": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_AUTH_SESSION"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/users/{user_id}/login-urls": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Issue a login URL that signs a user into their dashboard",
        "description": "Mints a new login-session JWT for the user and returns it with the browser ``connect_url``, a path to append to the Kasm server address. Every call persists a new revocable session token; revoke them all with ``admin.identity.users.logout``.",
        "operationId": "admin.identity.users.loginUrls.create",
        "security": [
          {
            "kasmBearer": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_AUTH_SESSION"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserLoginUrlResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "description": "Always ``no-store``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-store"
                }
              },
              "Pragma": {
                "description": "Always ``no-cache``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-cache"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/users/batch": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Batch-create users from an uploaded CSV file",
        "description": "Accepts a single CSV file as a multipart/form-data upload (field name 'file_content'). The response always carries the full per-row validation report and the created users: row-level validation failures are reported at HTTP 200 with csv_validation_data populated and error_message set -- they are not a request-shape error, since the upload itself was handled successfully. 400 means the multipart body could not be parsed; 422 means the file part is missing; 403 means the file was valid but assigned a row to a group the caller cannot modify, which rolls back the whole import.",
        "operationId": "admin.identity.users.batchCreate",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/UserBatchImport"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchCreateUsersResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USERS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_CREATE"
            ]
          }
        ]
      }
    },
    "/api/admin/identity/passwords/resetAll": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Require every local user, admins included, to set a new password at next login",
        "operationId": "admin.identity.passwords.resetAll",
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "SETTINGS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_AUTH"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_AUTH"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_AUTH"
            ]
          }
        ]
      }
    },
    "/api/identity/users/{user_id}": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Get a user by id",
        "operationId": "identity.users.get",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Client"
        ],
        "summary": "Update a user",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "identity.users.patch",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/identity/users": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "List users matching a username (zero or one)",
        "operationId": "identity.users.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Username"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_UserDetail_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/identity/users/{user_id}/attributes": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Get a user's self-service profile attributes",
        "operationId": "identity.users.attributes.get",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserAttributesDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Client"
        ],
        "summary": "Update a user's self-service profile attributes",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "identity.users.attributes.patch",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserAttributesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserAttributesDetail"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/identity/users/{user_id}/permissions": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Get a user's resolved group permissions",
        "operationId": "identity.users.permissions.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserPermissionSummary"
                  },
                  "title": "Response Identity.Users.Permissions.List"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/identity/user-auth-settings": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Get the caller's own auth/2FA settings",
        "operationId": "identity.userAuthSettings.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserAuthSettings"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/admin/identity/permissions": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List the permission catalog (paginated)",
        "operationId": "admin.identity.permissions.list",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "description": "Zero-based page index: `0` is the first page.",
              "default": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "default": 50,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "description",
                    "friendly_name",
                    "name",
                    "permission_id"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_PermissionDefinition_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/identity/groups/{group_id}/permissions": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a group's granted permissions",
        "operationId": "admin.identity.groups.permissions.list",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionGrant"
                  },
                  "title": "Response Admin.Identity.Groups.Permissions.List"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Grant additional permissions to a group",
        "operationId": "admin.identity.groups.permissions.grant",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GrantPermissionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionGrant"
                  },
                  "title": "Response Admin.Identity.Groups.Permissions.Grant"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Admin"
        ],
        "summary": "Replace a group's whole permission set",
        "operationId": "admin.identity.groups.permissions.replace",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupPermissionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionGrant"
                  },
                  "title": "Response Admin.Identity.Groups.Permissions.Replace"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/groups/{group_id}/permissions/{group_permission_id}": {
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Revoke one permission grant from a group",
        "operationId": "admin.identity.groups.permissions.revoke",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          },
          {
            "name": "group_permission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Permission Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/groups/{group_id}/settings/defaults": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List the default settings a group can override (paginated)",
        "operationId": "admin.identity.groups.settings.defaults.list",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "description": "Zero-based page index: `0` is the first page.",
              "default": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "default": 20,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "description",
                "group_id",
                "group_setting_id",
                "name",
                "value",
                "value_type"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Name"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_GroupSettingSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/identity/groups/{group_id}/settings": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List a group's setting overrides (paginated)",
        "operationId": "admin.identity.groups.settings.list",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "description": "Zero-based page index: `0` is the first page.",
              "default": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "default": 20,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "description",
                "group_id",
                "group_setting_id",
                "name",
                "value",
                "value_type"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Name"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_GroupSettingSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Override a default setting for a group",
        "operationId": "admin.identity.groups.settings.create",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGroupSettingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupSettingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/groups/{group_id}/settings/{group_setting_id}": {
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a group's setting override",
        "description": "Sets the group setting's value. `value` is required.",
        "operationId": "admin.identity.groups.settings.patch",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          },
          {
            "name": "group_setting_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Setting Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGroupSettingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupSettingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Remove a group's setting override",
        "operationId": "admin.identity.groups.settings.delete",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          },
          {
            "name": "group_setting_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Setting Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/groups": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List groups (paginated)",
        "operationId": "admin.identity.groups.list",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "description": "Zero-based page index: `0` is the first page.",
              "default": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "default": 20,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "description",
                "group_id",
                "is_system",
                "name",
                "priority"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Name"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_GroupSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a group",
        "operationId": "admin.identity.groups.create",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGroupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/groups/{group_id}": {
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a group",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.identity.groups.patch",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGroupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a group",
        "operationId": "admin.identity.groups.delete",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          },
          {
            "name": "force",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Force"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/groups/{group_id}/users": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List a group's members (paginated)",
        "operationId": "admin.identity.groups.users.list",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "description": "Zero-based page index: `0` is the first page.",
              "default": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "default": 20,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "user_id",
                "username"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "username",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Username"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_UserRef_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Add a user to a group",
        "operationId": "admin.identity.groups.users.add",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddGroupMemberRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserRef"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/groups/{group_id}/users/{user_id}": {
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Remove a user from a group",
        "operationId": "admin.identity.groups.users.remove",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/groups/{group_id}/images": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List the images assigned to a group (paginated)",
        "operationId": "admin.identity.groups.images.list",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "description": "Zero-based page index: `0` is the first page.",
              "default": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "default": 20,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "group_id",
                "group_image_id",
                "image_friendly_name",
                "image_id",
                "image_name",
                "image_src"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "friendly_name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Friendly Name"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_GroupImageRef_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Assign an image to a group",
        "operationId": "admin.identity.groups.images.create",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddGroupImageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupImageRef"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/groups/{group_id}/images/{image_id}": {
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Unassign an image from a group",
        "operationId": "admin.identity.groups.images.delete",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          },
          {
            "name": "image_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Image Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/api-configs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List developer API key configs (paginated)",
        "operationId": "admin.identity.apiConfigs.list",
        "security": [
          {
            "kasmBearer": [
              "DEVAPI_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "DEVAPI_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "DEVAPI_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "api_id",
                "created",
                "enabled",
                "expires",
                "last_used",
                "name",
                "read_only"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Name"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_ApiConfigSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a developer API key config (secret returned once)",
        "operationId": "admin.identity.apiConfigs.create",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateApiConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiConfigCreated"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "developer_api"
        ]
      }
    },
    "/api/admin/identity/api-configs/{api_id}": {
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a developer API key config",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.identity.apiConfigs.patch",
        "security": [
          {
            "kasmBearer": [
              "DEVAPI_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "DEVAPI_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "DEVAPI_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "api_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Api Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateApiConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "developer_api"
        ]
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a developer API key config",
        "operationId": "admin.identity.apiConfigs.delete",
        "security": [
          {
            "kasmBearer": [
              "DEVAPI_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "DEVAPI_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "DEVAPI_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "api_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Api Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/api-configs/{api_id}/permissions": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get an API config's granted permissions",
        "operationId": "admin.identity.apiConfigs.permissions.list",
        "security": [
          {
            "kasmBearer": [
              "DEVAPI_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "DEVAPI_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "DEVAPI_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "api_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Api Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiConfigPermissionGrant"
                  },
                  "title": "Response Admin.Identity.Apiconfigs.Permissions.List"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Grant additional permissions to an API config",
        "operationId": "admin.identity.apiConfigs.permissions.grant",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "api_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Api Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GrantPermissionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiConfigPermissionGrant"
                  },
                  "title": "Response Admin.Identity.Apiconfigs.Permissions.Grant"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Admin"
        ],
        "summary": "Replace an API config's whole permission set",
        "operationId": "admin.identity.apiConfigs.permissions.replace",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "api_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Api Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupPermissionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiConfigPermissionGrant"
                  },
                  "title": "Response Admin.Identity.Apiconfigs.Permissions.Replace"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/api-configs/{api_id}/permissions/{group_permission_id}": {
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Revoke one permission grant from an API config",
        "operationId": "admin.identity.apiConfigs.permissions.revoke",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "api_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Api Id"
            }
          },
          {
            "name": "group_permission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Permission Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/session-tokens": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List a user's session tokens (paginated; no JWTs)",
        "operationId": "admin.identity.sessionTokens.list",
        "security": [
          {
            "kasmBearer": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_AUTH_SESSION"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_SessionTokenSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a session token for a user (returns a session JWT)",
        "operationId": "admin.identity.sessionTokens.create",
        "security": [
          {
            "kasmBearer": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_AUTH_SESSION"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSessionTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionTokenDetail"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/session-tokens/{session_token_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a session token (returns a fresh session JWT)",
        "operationId": "admin.identity.sessionTokens.get",
        "security": [
          {
            "kasmBearer": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_AUTH_SESSION"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Token Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionTokenDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Revoke a session token",
        "operationId": "admin.identity.sessionTokens.delete",
        "security": [
          {
            "kasmBearer": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_AUTH_SESSION"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Token Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/session-tokens/{session_token_id}/refresh": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Refresh a session token's activity date (returns a fresh session JWT)",
        "operationId": "admin.identity.sessionTokens.refresh",
        "security": [
          {
            "kasmBearer": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_AUTH_SESSION"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Token Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionTokenDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/physical-tokens": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List physical tokens (paginated, filtered)",
        "operationId": "admin.identity.physicalTokens.list",
        "security": [
          {
            "kasmBearer": [
              "PHYSICAL_TOKENS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "PHYSICAL_TOKENS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "PHYSICAL_TOKENS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "created",
                    "seed_filename",
                    "serial_number",
                    "token_id",
                    "user_id"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "serial_number",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Serial Number"
            }
          },
          {
            "name": "seed_filename",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Seed Filename"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_PhysicalTokenSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Import physical tokens from a vendor seed zip (multipart)",
        "operationId": "admin.identity.physicalTokens.upload",
        "security": [
          {
            "kasmBearer": [
              "PHYSICAL_TOKENS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "PHYSICAL_TOKENS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "PHYSICAL_TOKENS_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/PhysicalTokenSeedUpload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhysicalTokenUploadResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete all physical tokens imported from a seed file",
        "operationId": "admin.identity.physicalTokens.deleteBySeedFile",
        "security": [
          {
            "kasmBearer": [
              "PHYSICAL_TOKENS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "PHYSICAL_TOKENS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "PHYSICAL_TOKENS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "seed_filename",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "title": "Seed Filename"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/physical-tokens/{token_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single physical token by id",
        "operationId": "admin.identity.physicalTokens.get",
        "security": [
          {
            "kasmBearer": [
              "PHYSICAL_TOKENS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "PHYSICAL_TOKENS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "PHYSICAL_TOKENS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Token Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhysicalTokenSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a physical token",
        "operationId": "admin.identity.physicalTokens.delete",
        "security": [
          {
            "kasmBearer": [
              "PHYSICAL_TOKENS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "PHYSICAL_TOKENS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "PHYSICAL_TOKENS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Token Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/physical-tokens/{token_id}/assignment": {
      "put": {
        "tags": [
          "Admin"
        ],
        "summary": "Assign a physical token to a user",
        "operationId": "admin.identity.physicalTokens.assign",
        "security": [
          {
            "kasmBearer": [
              "PHYSICAL_TOKENS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "PHYSICAL_TOKENS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "PHYSICAL_TOKENS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Token Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignPhysicalTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhysicalTokenSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Unassign a physical token from its user",
        "operationId": "admin.identity.physicalTokens.unassign",
        "security": [
          {
            "kasmBearer": [
              "PHYSICAL_TOKENS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "PHYSICAL_TOKENS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "PHYSICAL_TOKENS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Token Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhysicalTokenSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/saml-configs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List SAML configs (paginated)",
        "operationId": "admin.identity.samlConfigs.list",
        "security": [
          {
            "kasmBearer": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "adfs",
                    "authn_request_signed",
                    "auto_login",
                    "debug",
                    "digest_algorithm",
                    "display_name",
                    "enabled",
                    "group_attribute",
                    "hostname",
                    "idp_entity_id",
                    "idp_slo_url",
                    "idp_sso_url",
                    "idp_x509_cert",
                    "is_default",
                    "logo_url",
                    "logout_request_signed",
                    "logout_response_signed",
                    "name_id_encrypted",
                    "requested_authn_context",
                    "saml_id",
                    "sign_metadata",
                    "signature_algorithm",
                    "sp_acs_url",
                    "sp_entity_id",
                    "sp_name_id",
                    "sp_slo_url",
                    "sp_x509_cert",
                    "strict",
                    "want_assertions_encrypted",
                    "want_assertions_signed",
                    "want_attribute_statement",
                    "want_messages_signed",
                    "want_name_id",
                    "want_name_id_encrypted"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_SamlConfigSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a SAML config",
        "operationId": "admin.identity.samlConfigs.create",
        "security": [
          {
            "kasmBearer": [
              "AUTH_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSamlConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SamlConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          [
            "saml",
            "oidc",
            "ldap",
            "sso"
          ]
        ]
      }
    },
    "/api/admin/identity/saml-configs/{saml_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single SAML config by id",
        "operationId": "admin.identity.samlConfigs.get",
        "security": [
          {
            "kasmBearer": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "saml_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Saml Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SamlConfigSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a SAML config",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.identity.samlConfigs.patch",
        "security": [
          {
            "kasmBearer": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "saml_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Saml Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSamlConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SamlConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          [
            "saml",
            "oidc",
            "ldap",
            "sso"
          ]
        ]
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a SAML config",
        "operationId": "admin.identity.samlConfigs.delete",
        "security": [
          {
            "kasmBearer": [
              "AUTH_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "saml_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Saml Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/ldap-configs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List LDAP configs (paginated)",
        "operationId": "admin.identity.ldapConfigs.list",
        "security": [
          {
            "kasmBearer": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "auto_create_app_user",
                    "email_attribute",
                    "enabled",
                    "group_membership_filter",
                    "ldap_id",
                    "name",
                    "search_base",
                    "search_filter",
                    "search_subtree",
                    "service_account_dn",
                    "url",
                    "username_domain_match"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_LdapConfigSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an LDAP config",
        "operationId": "admin.identity.ldapConfigs.create",
        "security": [
          {
            "kasmBearer": [
              "AUTH_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLdapConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LdapConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          [
            "saml",
            "oidc",
            "ldap",
            "sso"
          ]
        ]
      }
    },
    "/api/admin/identity/ldap-configs/{ldap_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single LDAP config by id",
        "operationId": "admin.identity.ldapConfigs.get",
        "security": [
          {
            "kasmBearer": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "ldap_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Ldap Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LdapConfigSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an LDAP config",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.identity.ldapConfigs.patch",
        "security": [
          {
            "kasmBearer": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "ldap_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Ldap Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLdapConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LdapConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          [
            "saml",
            "oidc",
            "ldap",
            "sso"
          ]
        ]
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an LDAP config",
        "operationId": "admin.identity.ldapConfigs.delete",
        "security": [
          {
            "kasmBearer": [
              "AUTH_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "ldap_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Ldap Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/ldap-configs/{ldap_id}/test": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Test a directory login against an LDAP config",
        "operationId": "admin.identity.ldapConfigs.test",
        "security": [
          {
            "kasmBearer": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "ldap_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Ldap Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TestLdapConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LdapTestResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/identity/oidc-configs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List OIDC configs (paginated)",
        "operationId": "admin.identity.oidcConfigs.list",
        "security": [
          {
            "kasmBearer": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "auth_url",
                    "auto_login",
                    "client_id",
                    "debug",
                    "display_name",
                    "enable_frontchannel_logout",
                    "enabled",
                    "groups_attribute",
                    "hostname",
                    "is_default",
                    "issuer",
                    "logo_url",
                    "logout_with_oidc_provider",
                    "oidc_id",
                    "redirect_url",
                    "token_url",
                    "user_info_url",
                    "username_attribute"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_OidcConfigSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an OIDC config",
        "operationId": "admin.identity.oidcConfigs.create",
        "security": [
          {
            "kasmBearer": [
              "AUTH_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOidcConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OidcConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          [
            "saml",
            "oidc",
            "ldap",
            "sso"
          ]
        ]
      }
    },
    "/api/admin/identity/oidc-configs/{oidc_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single OIDC config by id",
        "operationId": "admin.identity.oidcConfigs.get",
        "security": [
          {
            "kasmBearer": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "oidc_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Oidc Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OidcConfigSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an OIDC config",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.identity.oidcConfigs.patch",
        "security": [
          {
            "kasmBearer": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "oidc_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Oidc Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOidcConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OidcConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          [
            "saml",
            "oidc",
            "ldap",
            "sso"
          ]
        ]
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an OIDC config",
        "operationId": "admin.identity.oidcConfigs.delete",
        "security": [
          {
            "kasmBearer": [
              "AUTH_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "oidc_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Oidc Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/sso-configs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List all configured SSO providers (LDAP+SAML+OIDC, paginated)",
        "operationId": "admin.identity.ssoConfigs.list",
        "security": [
          {
            "kasmBearer": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "name",
                    "sso_id",
                    "sso_type"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_SsoRef_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/identity/sso-configs/{sso_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single configured SSO provider by id",
        "operationId": "admin.identity.ssoConfigs.get",
        "security": [
          {
            "kasmBearer": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sso_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SsoRef"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/identity/sso-configs/{sso_id}/attribute-mappings": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List attribute mappings for one SSO config (paginated)",
        "operationId": "admin.identity.ssoConfigs.attributeMappings.list",
        "security": [
          {
            "kasmBearer": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sso_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "attribute_name",
                    "ldap_id",
                    "oidc_id",
                    "saml_id",
                    "sso_attribute_id",
                    "user_field"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_SsoAttributeMappingSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an SSO attribute mapping",
        "operationId": "admin.identity.ssoConfigs.attributeMappings.create",
        "security": [
          {
            "kasmBearer": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sso_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSsoAttributeMappingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SsoAttributeMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/sso-configs/{sso_id}/attribute-mappings/{sso_attribute_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single attribute mapping for one SSO config",
        "operationId": "admin.identity.ssoConfigs.attributeMappings.get",
        "security": [
          {
            "kasmBearer": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sso_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Id"
            }
          },
          {
            "name": "sso_attribute_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Attribute Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SsoAttributeMappingSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an SSO attribute mapping",
        "description": "Replaces the mapping: both `attribute_name` and `user_field` are required.",
        "operationId": "admin.identity.ssoConfigs.attributeMappings.patch",
        "security": [
          {
            "kasmBearer": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sso_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Id"
            }
          },
          {
            "name": "sso_attribute_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Attribute Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSsoAttributeMappingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SsoAttributeMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an SSO attribute mapping",
        "operationId": "admin.identity.ssoConfigs.attributeMappings.delete",
        "security": [
          {
            "kasmBearer": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTH_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTH_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sso_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Id"
            }
          },
          {
            "name": "sso_attribute_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Attribute Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/sso-group-mappings": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List SSO group mappings for one group (paginated)",
        "operationId": "admin.identity.ssoGroupMappings.list",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "group_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "apply_to_all_users",
                    "group_id",
                    "ldap_id",
                    "oidc_id",
                    "saml_id",
                    "sso_group_attributes",
                    "sso_group_id",
                    "sso_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_SsoGroupMappingSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Map an SSO provider onto a group",
        "operationId": "admin.identity.ssoGroupMappings.create",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSsoGroupMappingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SsoGroupMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/sso-group-mappings/{sso_group_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single SSO group mapping by id",
        "operationId": "admin.identity.ssoGroupMappings.get",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_VIEW_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_VIEW_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sso_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Group Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SsoGroupMappingSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an SSO group mapping",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.identity.ssoGroupMappings.patch",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sso_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Group Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSsoGroupMappingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SsoGroupMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an SSO group mapping",
        "operationId": "admin.identity.ssoGroupMappings.delete",
        "security": [
          {
            "kasmBearer": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmBearer": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_IFMEMBER"
            ]
          },
          {
            "kasmSessionToken": [
              "GROUPS_MODIFY_SYSTEM"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sso_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sso Group Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/ad-user-management-configs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List AD user-management configs (paginated, filtered)",
        "operationId": "admin.identity.adUserManagementConfigs.list",
        "security": [
          {
            "kasmBearer": [
              "AD_USER_MANAGEMENT_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AD_USER_MANAGEMENT_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AD_USER_MANAGEMENT_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "ad_user_mgmt_config_id",
                    "enable_ad_group_management",
                    "enable_create_user",
                    "enable_random_password_on_login",
                    "ldap_id",
                    "local_accounts",
                    "oidc_id",
                    "password_len",
                    "saml_id",
                    "user_container_dn"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "ldap_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Ldap Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_AdUserManagementConfigSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an AD user-management config",
        "operationId": "admin.identity.adUserManagementConfigs.create",
        "security": [
          {
            "kasmBearer": [
              "AD_USER_MANAGEMENT_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AD_USER_MANAGEMENT_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "AD_USER_MANAGEMENT_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAdUserManagementConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdUserManagementConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/identity/ad-user-management-configs/{ad_user_mgmt_config_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single AD user-management config by id",
        "operationId": "admin.identity.adUserManagementConfigs.get",
        "security": [
          {
            "kasmBearer": [
              "AD_USER_MANAGEMENT_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AD_USER_MANAGEMENT_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AD_USER_MANAGEMENT_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "ad_user_mgmt_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Ad User Mgmt Config Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdUserManagementConfigSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an AD user-management config",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.identity.adUserManagementConfigs.patch",
        "security": [
          {
            "kasmBearer": [
              "AD_USER_MANAGEMENT_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AD_USER_MANAGEMENT_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "AD_USER_MANAGEMENT_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "ad_user_mgmt_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Ad User Mgmt Config Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAdUserManagementConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdUserManagementConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an AD user-management config",
        "operationId": "admin.identity.adUserManagementConfigs.delete",
        "security": [
          {
            "kasmBearer": [
              "AD_USER_MANAGEMENT_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AD_USER_MANAGEMENT_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "AD_USER_MANAGEMENT_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "ad_user_mgmt_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Ad User Mgmt Config Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/api-instances": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List API instances (paginated, filtered) with their servers",
        "operationId": "admin.infrastructure.apiInstances.list",
        "security": [
          {
            "kasmBearer": [
              "MANAGERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "MANAGERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "MANAGERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "cores",
                    "cpu_percent",
                    "enabled",
                    "first_reported",
                    "gpu_memory_used_percent",
                    "gpu_percent",
                    "gpu_temp",
                    "last_reported",
                    "manager_hostname",
                    "manager_id",
                    "manager_version",
                    "operational_status",
                    "zone_id",
                    "zone_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "zone_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Zone Id"
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Enabled"
            }
          },
          {
            "name": "operational_status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Operational Status"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          },
          {
            "name": "search_term_columns",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term Columns"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_ApiInstanceSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/infrastructure/api-instances/{api_instance_id}": {
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Enable or disable an API instance",
        "description": "`enabled` is the only patchable field, so it is required; null is rejected with 422.",
        "operationId": "admin.infrastructure.apiInstances.patch",
        "security": [
          {
            "kasmBearer": [
              "MANAGERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "MANAGERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "MANAGERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "api_instance_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Api Instance Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateApiInstanceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiInstanceSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an API instance",
        "operationId": "admin.infrastructure.apiInstances.delete",
        "security": [
          {
            "kasmBearer": [
              "MANAGERS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "MANAGERS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "MANAGERS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "api_instance_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Api Instance Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/autoscale-configs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List autoscale configs (paginated, filtered)",
        "operationId": "admin.infrastructure.autoscaleConfigs.list",
        "security": [
          {
            "kasmBearer": [
              "AUTOSCALE_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTOSCALE_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTOSCALE_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "ad_computer_container_dn",
                    "ad_create_machine_record",
                    "ad_recursive_machine_record_cleanup",
                    "agent_cores_override",
                    "agent_gpus_override",
                    "agent_memory_override_bytes",
                    "autoscale_config_id",
                    "autoscale_config_name",
                    "autoscale_type",
                    "azure_dns_config_id",
                    "connection_port",
                    "connection_username",
                    "downscale_backoff",
                    "enabled",
                    "last_provision",
                    "ldap_id",
                    "register_dns",
                    "request_downscale_at",
                    "rotate_servers_in_days",
                    "rotate_servers_pre_warm_minutes",
                    "server_pool_id",
                    "standby_cores",
                    "standby_gpus",
                    "standby_memory_bytes",
                    "vm_provider_config.vm_provider_display_name",
                    "zone_id",
                    "zone_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "autoscale_config_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Autoscale Config Name"
            }
          },
          {
            "name": "autoscale_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Autoscale Type"
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Enabled"
            }
          },
          {
            "name": "zone_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Zone Id"
            }
          },
          {
            "name": "server_pool_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Server Pool Id"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          },
          {
            "name": "exclude_server_pool_ids",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Server Pool Ids"
            }
          },
          {
            "name": "search_term_columns",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term Columns"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_AutoscaleConfigSummary_"
                }
              }
            },
            "links": {
              "GetConfigFromList": {
                "operationId": "admin.infrastructure.autoscaleConfigs.get",
                "parameters": {
                  "autoscale_config_id": "$response.body#/data/0/autoscale_config_id"
                },
                "description": "Fetch the full record for the first config in this page."
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an autoscale config",
        "operationId": "admin.infrastructure.autoscaleConfigs.create",
        "security": [
          {
            "kasmBearer": [
              "AUTOSCALE_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTOSCALE_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTOSCALE_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAutoscaleConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutoscaleConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "auto_scaling"
        ]
      }
    },
    "/api/admin/infrastructure/autoscale-configs/{autoscale_config_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Fetch a single autoscale config by id",
        "operationId": "admin.infrastructure.autoscaleConfigs.get",
        "security": [
          {
            "kasmBearer": [
              "AUTOSCALE_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTOSCALE_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTOSCALE_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "autoscale_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Autoscale Config Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutoscaleConfigSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an autoscale config",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.infrastructure.autoscaleConfigs.patch",
        "security": [
          {
            "kasmBearer": [
              "AUTOSCALE_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTOSCALE_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTOSCALE_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "autoscale_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Autoscale Config Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAutoscaleConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutoscaleConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "auto_scaling"
        ]
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an autoscale config",
        "operationId": "admin.infrastructure.autoscaleConfigs.delete",
        "security": [
          {
            "kasmBearer": [
              "AUTOSCALE_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTOSCALE_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTOSCALE_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "autoscale_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Autoscale Config Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/autoscale-configs/{autoscale_config_id}/duplicate": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Duplicate an autoscale config",
        "operationId": "admin.infrastructure.autoscaleConfigs.duplicate",
        "security": [
          {
            "kasmBearer": [
              "AUTOSCALE_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTOSCALE_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTOSCALE_CREATE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "autoscale_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Autoscale Config Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutoscaleConfigSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "auto_scaling"
        ]
      }
    },
    "/api/admin/infrastructure/autoscale-schedules": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List schedules for an autoscale config (paginated)",
        "operationId": "admin.infrastructure.autoscaleSchedules.list",
        "security": [
          {
            "kasmBearer": [
              "AUTOSCALE_SCHEDULE_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTOSCALE_SCHEDULE_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTOSCALE_SCHEDULE_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "autoscale_config_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Autoscale Config Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "active_end_time",
                    "active_start_time",
                    "autoscale_config_id",
                    "schedule_id",
                    "timezone"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_ScheduleSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an autoscale schedule",
        "operationId": "admin.infrastructure.autoscaleSchedules.create",
        "security": [
          {
            "kasmBearer": [
              "AUTOSCALE_SCHEDULE_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTOSCALE_SCHEDULE_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTOSCALE_SCHEDULE_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScheduleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "auto_scaling"
        ]
      }
    },
    "/api/admin/infrastructure/autoscale-schedules/{schedule_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single schedule by id",
        "operationId": "admin.infrastructure.autoscaleSchedules.get",
        "security": [
          {
            "kasmBearer": [
              "AUTOSCALE_SCHEDULE_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTOSCALE_SCHEDULE_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTOSCALE_SCHEDULE_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "schedule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Schedule Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an autoscale schedule",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.infrastructure.autoscaleSchedules.patch",
        "security": [
          {
            "kasmBearer": [
              "AUTOSCALE_SCHEDULE_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTOSCALE_SCHEDULE_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTOSCALE_SCHEDULE_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "schedule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Schedule Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateScheduleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "auto_scaling"
        ]
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an autoscale schedule",
        "operationId": "admin.infrastructure.autoscaleSchedules.delete",
        "security": [
          {
            "kasmBearer": [
              "AUTOSCALE_SCHEDULE_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AUTOSCALE_SCHEDULE_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "AUTOSCALE_SCHEDULE_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "schedule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Schedule Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/server-pools": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List server pools (paginated, filtered)",
        "operationId": "admin.infrastructure.serverPools.list",
        "security": [
          {
            "kasmBearer": [
              "SERVER_POOLS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVER_POOLS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVER_POOLS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "server_assignment_enabled",
                    "server_pool_id",
                    "server_pool_name",
                    "server_pool_type",
                    "servers_count"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "server_pool_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Server Pool Name"
            }
          },
          {
            "name": "server_pool_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Server Pool Type"
            }
          },
          {
            "name": "server_assignment_enabled",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Server Assignment Enabled"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          },
          {
            "name": "search_term_columns",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term Columns"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_ServerPoolListItem_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a server pool",
        "operationId": "admin.infrastructure.serverPools.create",
        "security": [
          {
            "kasmBearer": [
              "SERVER_POOLS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVER_POOLS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVER_POOLS_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateServerPoolRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerPoolDetail"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/server-pools/{server_pool_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Fetch a single server pool, with its member servers",
        "operationId": "admin.infrastructure.serverPools.get",
        "security": [
          {
            "kasmBearer": [
              "SERVER_POOLS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVER_POOLS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVER_POOLS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "server_pool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Server Pool Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerPoolDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a server pool",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.infrastructure.serverPools.patch",
        "security": [
          {
            "kasmBearer": [
              "SERVER_POOLS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVER_POOLS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVER_POOLS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "server_pool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Server Pool Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateServerPoolRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerPoolDetail"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a server pool",
        "operationId": "admin.infrastructure.serverPools.delete",
        "security": [
          {
            "kasmBearer": [
              "SERVER_POOLS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVER_POOLS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVER_POOLS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "server_pool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Server Pool Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/zones": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List zones (paginated, filtered) with live resource usage",
        "operationId": "admin.infrastructure.zones.list",
        "security": [
          {
            "kasmBearer": [
              "ZONES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "ZONES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "ZONES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "allow_origin_domain",
                    "enable_rdp_direct_login",
                    "enable_rdp_https_gw",
                    "enable_rdp_https_gw_dlp",
                    "load_strategy",
                    "prioritize_static_agents",
                    "proxy_connections",
                    "proxy_hostname",
                    "proxy_load_strategy",
                    "proxy_path",
                    "proxy_port",
                    "proxy_rdp_client_connections",
                    "proxy_rdp_hostname",
                    "proxy_rdp_port",
                    "search_alternate_zones",
                    "upstream_auth_address",
                    "verify_rdp_client_ip",
                    "zone_id",
                    "zone_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "brief",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Brief"
            }
          },
          {
            "name": "zone_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Zone Name"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          },
          {
            "name": "search_term_columns",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term Columns"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_ZoneListItem_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a single zone",
        "operationId": "admin.infrastructure.zones.create",
        "security": [
          {
            "kasmBearer": [
              "ZONES_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "ZONES_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "ZONES_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateZoneRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoneSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/zones/{zone_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single zone",
        "operationId": "admin.infrastructure.zones.get",
        "security": [
          {
            "kasmBearer": [
              "ZONES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "ZONES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "ZONES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "zone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Zone Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoneSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a single zone",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.infrastructure.zones.patch",
        "security": [
          {
            "kasmBearer": [
              "ZONES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "ZONES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "ZONES_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "zone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Zone Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateZoneRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoneSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a single zone",
        "operationId": "admin.infrastructure.zones.delete",
        "security": [
          {
            "kasmBearer": [
              "ZONES_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "ZONES_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "ZONES_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "zone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Zone Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/infrastructure/zone-options": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "List deployment-zone selector options (paginated)",
        "operationId": "infrastructure.zoneOptions.list",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "host",
                    "id"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "zone_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Zone Name"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          },
          {
            "name": "search_term_columns",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term Columns"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_ZoneOption_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/servers": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List servers (paginated, filtered)",
        "operationId": "admin.infrastructure.servers.list",
        "security": [
          {
            "kasmBearer": [
              "SERVERS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "AGENTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AGENTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AGENTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "agent_installed",
                    "agent_version",
                    "autoscale_config.autoscale_config_name",
                    "connection_credential_type",
                    "connection_port",
                    "connection_sso_username_domain",
                    "connection_type",
                    "connection_username",
                    "container_limit",
                    "core_calculations.percentage",
                    "cores",
                    "cores_override",
                    "cpu_percent",
                    "created",
                    "drain_time",
                    "enabled",
                    "friendly_name",
                    "gpus",
                    "gpus_override",
                    "hostname",
                    "instance_id",
                    "intent",
                    "intent_reason",
                    "last_reported",
                    "last_reported_elapsed",
                    "liveness",
                    "manager.manager_hostname",
                    "manager_id",
                    "max_simultaneous_sessions",
                    "max_simultaneous_users",
                    "memory_bytes",
                    "memory_calculations.percentage",
                    "memory_override_bytes",
                    "operational_status",
                    "provider",
                    "prune_images_mode",
                    "public_ip",
                    "server_id",
                    "server_pool_id",
                    "server_pool_name",
                    "server_template_id",
                    "server_type",
                    "sessions_count",
                    "use_user_private_key",
                    "zone.zone_name",
                    "zone_id",
                    "zone_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "hostname",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Hostname"
            }
          },
          {
            "name": "friendly_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Friendly Name"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          },
          {
            "name": "server_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ServerType"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Server Type"
            }
          },
          {
            "name": "liveness",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Liveness"
            }
          },
          {
            "name": "intent",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Intent"
            }
          },
          {
            "name": "intent_reason",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Intent Reason"
            }
          },
          {
            "name": "provider",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Provider"
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Enabled"
            }
          },
          {
            "name": "agent_installed",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Agent Installed"
            }
          },
          {
            "name": "zone_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Zone Id"
            }
          },
          {
            "name": "zone_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Zone Name"
            }
          },
          {
            "name": "search_alternate_zones",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Alternate Zones"
            }
          },
          {
            "name": "server_pool_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Server Pool Id"
            }
          },
          {
            "name": "exclude_server_pool_ids",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Server Pool Ids"
            }
          },
          {
            "name": "exclude_server_ids",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Server Ids"
            }
          },
          {
            "name": "manager_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Manager Id"
            }
          },
          {
            "name": "instance_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Instance Id"
            }
          },
          {
            "name": "autoscale_config_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Autoscale Config Id"
            }
          },
          {
            "name": "is_autoscaled",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Autoscaled"
            }
          },
          {
            "name": "server_assignment_enabled",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Server Assignment Enabled"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_ServerSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a server",
        "operationId": "admin.infrastructure.servers.create",
        "security": [
          {
            "kasmBearer": [
              "SERVERS_CREATE"
            ]
          },
          {
            "kasmBearer": [
              "AGENTS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVERS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AGENTS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVERS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "AGENTS_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateServerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerDetail"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/servers/batch": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Batch-create servers from an uploaded CSV file",
        "description": "Accepts a single CSV file as a multipart/form-data upload (field name 'file_content'). The response always carries the full per-row validation report and the created servers: row-level validation failures are reported at HTTP 200 with csv_validation_data populated and error_message set -- they are not a request-shape error, since the upload itself was handled successfully. 400 means the multipart body could not be parsed; 422 means the file part is missing; 403 means the file was valid but assigned a row to a user the caller cannot modify, which rolls back the whole import.",
        "operationId": "admin.infrastructure.servers.batchCreate",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ServerBatchImport"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchCreateServersResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "SERVERS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVERS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVERS_CREATE"
            ]
          }
        ]
      }
    },
    "/api/admin/infrastructure/servers/{server_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single server by id",
        "operationId": "admin.infrastructure.servers.get",
        "security": [
          {
            "kasmBearer": [
              "SERVERS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "AGENTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AGENTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AGENTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "server_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Server Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a server (also used to drain/undrain it)",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.infrastructure.servers.patch",
        "security": [
          {
            "kasmBearer": [
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "AGENTS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AGENTS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "AGENTS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "server_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Server Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateServerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a server (or order its teardown, if autoscaled)",
        "operationId": "admin.infrastructure.servers.delete",
        "security": [
          {
            "kasmBearer": [
              "SERVERS_DELETE"
            ]
          },
          {
            "kasmBearer": [
              "AGENTS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVERS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AGENTS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVERS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "AGENTS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "server_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Server Id"
            }
          },
          {
            "name": "force",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Force"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/servers/{server_id}/assigned-users": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Assign a user to a server",
        "operationId": "admin.infrastructure.servers.assignedUsers.add",
        "security": [
          {
            "kasmBearer": [
              "USERS_MODIFY",
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY_ADMIN",
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY",
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY_ADMIN",
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY",
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY_ADMIN",
              "SERVERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "server_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Server Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignServerUserRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserServerAssignment"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/servers/{server_id}/assigned-users/{user_id}": {
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Unassign a user from a server",
        "operationId": "admin.infrastructure.servers.assignedUsers.remove",
        "security": [
          {
            "kasmBearer": [
              "USERS_MODIFY",
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "USERS_MODIFY_ADMIN",
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY",
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_MODIFY_ADMIN",
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY",
              "SERVERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_MODIFY_ADMIN",
              "SERVERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "server_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Server Id"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/infrastructure/server-network-names": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List selectable custom docker network names across all agents (paginated)",
        "operationId": "admin.infrastructure.serverNetworkNames.list",
        "security": [
          {
            "kasmBearer": [
              "AGENTS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "SERVERS_VIEW"
            ]
          },
          {
            "kasmBearer": [
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "AGENTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SERVERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "AGENTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SERVERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "IMAGES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_str_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/settings": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List config settings (paginated, filtered)",
        "operationId": "admin.platform.settings.list",
        "security": [
          {
            "kasmBearer": [
              "SETTINGS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "category",
                    "description",
                    "name",
                    "services_restart",
                    "setting_id",
                    "title",
                    "value_type"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Category"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Name"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_SettingSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/settings/{setting_id}": {
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a config setting",
        "description": "Sets the setting's value. `value` is required; send an empty string to clear it.",
        "operationId": "admin.platform.settings.patch",
        "security": [
          {
            "kasmBearer": [
              "SETTINGS_MODIFY"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_AUTH"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_CAST"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_IMAGES"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_LICENSE"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_LOGGING"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_MANAGER"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_SCALE"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_SUBSCRIPTION"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_FILTER"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_STORAGE"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_CONNECTIONS"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_THEME"
            ]
          },
          {
            "kasmBearer": [
              "SETTINGS_MODIFY_AUTH_CAPTCHA"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_AUTH"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_CAST"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_IMAGES"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_LICENSE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_LOGGING"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_MANAGER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_SCALE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_SUBSCRIPTION"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_FILTER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_STORAGE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_CONNECTIONS"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_THEME"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_MODIFY_AUTH_CAPTCHA"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_AUTH"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_CAST"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_IMAGES"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_LICENSE"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_LOGGING"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_MANAGER"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_SCALE"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_SUBSCRIPTION"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_FILTER"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_STORAGE"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_CONNECTIONS"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_THEME"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_MODIFY_AUTH_CAPTCHA"
            ]
          }
        ],
        "parameters": [
          {
            "name": "setting_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Setting Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSettingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/platform/experimental-features": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Whether experimental features are enabled for this deployment",
        "operationId": "admin.platform.experimentalFeatures.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExperimentalFeatures"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "SETTINGS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_VIEW"
            ]
          }
        ],
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/banners": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List banners (paginated, filtered)",
        "operationId": "admin.platform.banners.list",
        "security": [
          {
            "kasmBearer": [
              "BANNERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "BANNERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "BANNERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "banner_id",
                    "name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Name"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_BannerSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a banner",
        "operationId": "admin.platform.banners.create",
        "security": [
          {
            "kasmBearer": [
              "BANNERS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "BANNERS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "BANNERS_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBannerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BannerSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/platform/banners/{banner_id}": {
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a banner",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.platform.banners.patch",
        "security": [
          {
            "kasmBearer": [
              "BANNERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "BANNERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "BANNERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "banner_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Banner Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBannerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BannerSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a banner",
        "operationId": "admin.platform.banners.delete",
        "security": [
          {
            "kasmBearer": [
              "BANNERS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "BANNERS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "BANNERS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "banner_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Banner Id"
            }
          },
          {
            "name": "force",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Force"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/platform/labels": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List labels (paginated, filtered)",
        "operationId": "admin.platform.labels.list",
        "security": [
          {
            "kasmBearer": [
              "LABELS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "LABELS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "LABELS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "label_id",
                    "name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Name"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          },
          {
            "name": "search_term_columns",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term Columns"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_LabelSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/support-bundles": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List support bundles (paginated, filtered by state)",
        "operationId": "admin.platform.supportBundles.list",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "bundle_expiration",
                    "bundle_size",
                    "collection_timeout",
                    "completed",
                    "deleted",
                    "processed",
                    "requested",
                    "support_bundle_id",
                    "target_session_id"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "show_processed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Show Processed"
            }
          },
          {
            "name": "show_completed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Show Completed"
            }
          },
          {
            "name": "show_deleted",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Show Deleted"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_SupportBundleSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Request a new support bundle",
        "operationId": "admin.platform.supportBundles.create",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSupportBundleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportBundleSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/platform/support-bundles/{support_bundle_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a support bundle",
        "operationId": "admin.platform.supportBundles.get",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "support_bundle_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Support Bundle Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportBundleSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a support bundle",
        "operationId": "admin.platform.supportBundles.delete",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "support_bundle_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Support Bundle Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/platform/support-bundles/{support_bundle_id}/password": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get the password that decrypts a support bundle's archive",
        "operationId": "admin.platform.supportBundles.password.get",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "support_bundle_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Support Bundle Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "title": "Response Admin.Platform.Supportbundles.Password.Get"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "description": "Always ``no-store``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-store"
                }
              },
              "Pragma": {
                "description": "Always ``no-cache``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-cache"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/support-bundles/{support_bundle_id}/archive": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Download a completed support bundle's encrypted archive",
        "description": "Streams raw ``application/octet-stream`` zip bytes, not JSON.",
        "operationId": "admin.platform.supportBundles.archive.get",
        "security": [
          {
            "kasmBearer": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "GLOBAL_ADMIN"
            ]
          },
          {
            "kasmSessionToken": [
              "GLOBAL_ADMIN"
            ]
          }
        ],
        "parameters": [
          {
            "name": "support_bundle_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Support Bundle Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The encrypted zip archive",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/platform/logs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Filtered/paginated list of diagnostic log records, newest first",
        "operationId": "admin.platform.logs.list",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          },
          {
            "name": "search_mode",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "contains",
                "regex"
              ],
              "type": "string",
              "default": "contains",
              "title": "Search Mode"
            }
          },
          {
            "name": "levelname",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Levelname"
            }
          },
          {
            "name": "level",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exact log level, repeatable; matches SeverityText case-insensitively. Unlike `levelname`, which keeps the given level and above, `level` keeps only the listed levels. Both apply when both are given.",
              "title": "Level"
            },
            "description": "Exact log level, repeatable; matches SeverityText case-insensitively. Unlike `levelname`, which keeps the given level and above, `level` keeps only the listed levels. Both apply when both are given."
          },
          {
            "name": "application",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Application"
            }
          },
          {
            "name": "process",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Process"
            }
          },
          {
            "name": "host",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Host"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search"
            }
          },
          {
            "name": "search_user",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search User"
            }
          },
          {
            "name": "metric_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Metric Name"
            }
          },
          {
            "name": "allowed",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Allowed"
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Category"
            }
          },
          {
            "name": "site",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Site"
            }
          },
          {
            "name": "exclude",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exclusion rule, repeatable. Format `<field>:<op>:<value>`. `field` is one of application, process, host, level, user, funcname, message, site, category, url. `op` is `eq` (exact), `contains` (case-insensitive substring) or `regex` (case-insensitive RE2). Only the first two colons delimit, so the value may contain colons. Rows matching any rule are hidden. Examples: `message:contains:healthcheck`, `message:regex:^GET /api/status`, `user:eq:alice@example.com`.",
              "title": "Exclude"
            },
            "description": "Exclusion rule, repeatable. Format `<field>:<op>:<value>`. `field` is one of application, process, host, level, user, funcname, message, site, category, url. `op` is `eq` (exact), `contains` (case-insensitive substring) or `regex` (case-insensitive RE2). Only the first two colons delimit, so the value may contain colons. Rows matching any rule are hidden. Examples: `message:contains:healthcheck`, `message:regex:^GET /api/status`, `user:eq:alice@example.com`."
          },
          {
            "name": "exclude_search",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Search"
            }
          },
          {
            "name": "exclude_application",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Application"
            }
          },
          {
            "name": "exclude_process",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Process"
            }
          },
          {
            "name": "exclude_host",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Host"
            }
          },
          {
            "name": "exclude_metric_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Metric Name"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 1000,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_LogRecord_"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/logs/facets": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Distinct-value counts per filter, over the list window",
        "operationId": "admin.platform.logs.facets.list",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          },
          {
            "name": "search_mode",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "contains",
                "regex"
              ],
              "type": "string",
              "default": "contains",
              "title": "Search Mode"
            }
          },
          {
            "name": "levelname",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Levelname"
            }
          },
          {
            "name": "level",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exact log level, repeatable; matches SeverityText case-insensitively. Unlike `levelname`, which keeps the given level and above, `level` keeps only the listed levels. Both apply when both are given.",
              "title": "Level"
            },
            "description": "Exact log level, repeatable; matches SeverityText case-insensitively. Unlike `levelname`, which keeps the given level and above, `level` keeps only the listed levels. Both apply when both are given."
          },
          {
            "name": "application",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Application"
            }
          },
          {
            "name": "process",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Process"
            }
          },
          {
            "name": "host",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Host"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search"
            }
          },
          {
            "name": "search_user",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search User"
            }
          },
          {
            "name": "metric_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Metric Name"
            }
          },
          {
            "name": "allowed",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Allowed"
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Category"
            }
          },
          {
            "name": "site",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Site"
            }
          },
          {
            "name": "exclude",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exclusion rule, repeatable. Format `<field>:<op>:<value>`. `field` is one of application, process, host, level, user, funcname, message, site, category, url. `op` is `eq` (exact), `contains` (case-insensitive substring) or `regex` (case-insensitive RE2). Only the first two colons delimit, so the value may contain colons. Rows matching any rule are hidden. Examples: `message:contains:healthcheck`, `message:regex:^GET /api/status`, `user:eq:alice@example.com`.",
              "title": "Exclude"
            },
            "description": "Exclusion rule, repeatable. Format `<field>:<op>:<value>`. `field` is one of application, process, host, level, user, funcname, message, site, category, url. `op` is `eq` (exact), `contains` (case-insensitive substring) or `regex` (case-insensitive RE2). Only the first two colons delimit, so the value may contain colons. Rows matching any rule are hidden. Examples: `message:contains:healthcheck`, `message:regex:^GET /api/status`, `user:eq:alice@example.com`."
          },
          {
            "name": "exclude_search",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Search"
            }
          },
          {
            "name": "exclude_application",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Application"
            }
          },
          {
            "name": "exclude_process",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Process"
            }
          },
          {
            "name": "exclude_host",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Host"
            }
          },
          {
            "name": "exclude_metric_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Exclude Metric Name"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogFacets"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/logs/hosts": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Distinct hosts seen in log records (paginated)",
        "operationId": "admin.platform.logs.hosts.list",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_str_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/logs/exports": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an encrypted zip export of diagnostic log records",
        "operationId": "admin.platform.logs.exports.create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LogExportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Encrypted zip archive",
            "content": {
              "application/zip": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "SYSTEM_EXPORT_DATA"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SYSTEM_EXPORT_DATA"
            ]
          },
          {
            "kasmSessionToken": [
              "SYSTEM_EXPORT_DATA"
            ]
          }
        ],
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/current-sessions": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Current live session count (point-in-time, PostgreSQL)",
        "operationId": "admin.platform.reports.currentSessions.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScalarReport"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/current-users": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Distinct users active in the last 5 minutes",
        "operationId": "admin.platform.reports.currentUsers.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScalarReport"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/created-sessions": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Sessions created in the given window",
        "operationId": "admin.platform.reports.createdSessions.get",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScalarReport"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/errors": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Error count in the given window",
        "operationId": "admin.platform.reports.errors.get",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScalarReport"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/average-session-length": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Average session length in the given window",
        "operationId": "admin.platform.reports.averageSessionLength.get",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScalarReport"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/logins": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Login success/failure counts over time",
        "operationId": "admin.platform.reports.logins.get",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          },
          {
            "name": "resolution",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                1,
                10,
                60,
                1440
              ],
              "type": "integer",
              "default": 10,
              "title": "Resolution"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginsTimeSeries"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/active-users": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Distinct active users over time",
        "operationId": "admin.platform.reports.activeUsers.get",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          },
          {
            "name": "resolution",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                1,
                10,
                60,
                1440
              ],
              "type": "integer",
              "default": 10,
              "title": "Resolution"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActiveUsersTimeSeries"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/sessions": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Session creation/destruction counts over time",
        "operationId": "admin.platform.reports.sessions.get",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          },
          {
            "name": "resolution",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                1,
                10,
                60,
                1440
              ],
              "type": "integer",
              "default": 10,
              "title": "Resolution"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionsTimeSeries"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/agent-resource-utilization": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Agent resource utilization over time, optionally for a single agent",
        "operationId": "admin.platform.reports.agentResourceUtilization.get",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          },
          {
            "name": "resolution",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                1,
                10,
                60,
                1440
              ],
              "type": "integer",
              "default": 10,
              "title": "Resolution"
            }
          },
          {
            "name": "server_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Server Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentUtilizationTimeSeries"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/image-usage": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Image provisioning counts in the given window (paginated)",
        "operationId": "admin.platform.reports.imageUsage.list",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "count",
                    "friendly_name",
                    "image_src"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_ImageUsageRow_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/user-session-usage": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Per-user session length aggregates in the given window (paginated)",
        "operationId": "admin.platform.reports.userSessionUsage.list",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "avg_session_length",
                    "longest_session",
                    "name",
                    "session_length",
                    "shortest_session"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_UserSessionUsageRow_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/domain-usage": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Web filter domain usage in the given window (paginated)",
        "operationId": "admin.platform.reports.domainUsage.list",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "allowed",
                    "denied",
                    "domain",
                    "requests"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "Start Date"
            },
            "description": "Window start. Required together with `end_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`.",
              "title": "End Date"
            },
            "description": "Window end, not before `start_date`. Required together with `start_date` unless `delta` is given; cannot be combined with `delta`."
          },
          {
            "name": "delta",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 5256000,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them.",
              "title": "Delta"
            },
            "description": "Minutes back from now. Required unless both `start_date` and `end_date` are given; cannot be combined with them."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_DomainUsageRow_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/reports/agents": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Per-agent disk/memory health snapshot (paginated)",
        "operationId": "admin.platform.reports.agents.list",
        "security": [
          {
            "kasmBearer": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "REPORTS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "REPORTS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "disk_space",
                    "disk_space_free",
                    "disk_space_used",
                    "health",
                    "memory_free",
                    "memory_total",
                    "memory_used",
                    "name",
                    "server_id",
                    "sessions"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_AgentReportRow_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/system-metrics": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Health-monitoring overview, per top-level component (paginated)",
        "operationId": "admin.platform.systemMetrics.list",
        "security": [
          {
            "kasmBearer": [
              "SYSTEM_METRICS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SYSTEM_METRICS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SYSTEM_METRICS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "category",
                    "description",
                    "firstRecordedAt",
                    "id",
                    "lastRecordedAt",
                    "name",
                    "status",
                    "title"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "start_datetime",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Start Datetime"
            }
          },
          {
            "name": "end_datetime",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "End Datetime"
            }
          },
          {
            "name": "local_timezone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "UTC",
              "title": "Local Timezone"
            }
          },
          {
            "name": "scopes",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Scopes"
            }
          },
          {
            "name": "zone_ids",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Zone Ids"
            }
          },
          {
            "name": "include_health_summaries",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Include Health Summaries"
            }
          },
          {
            "name": "include_metrics_group",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Include Metrics Group"
            }
          },
          {
            "name": "include_metrics",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Include Metrics"
            }
          },
          {
            "name": "include_raw_data",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Include Raw Data"
            }
          },
          {
            "name": "metrics_limit",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "exclusiveMinimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Metrics Limit"
            }
          },
          {
            "name": "metrics_statuses",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Metrics Statuses"
            }
          },
          {
            "name": "metrics_search_query",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Metrics Search Query"
            }
          },
          {
            "name": "metrics_sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "default": "desc",
              "title": "Metrics Sort Order"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_SystemMetricsComponent_"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/system-metrics/catalog": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Catalog of monitorable components, grouped by parent (paginated)",
        "operationId": "admin.platform.systemMetrics.catalog.list",
        "security": [
          {
            "kasmBearer": [
              "SYSTEM_METRICS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SYSTEM_METRICS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SYSTEM_METRICS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "category",
                    "description",
                    "id",
                    "name",
                    "title"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_MetricsCatalogGroup_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/system-metrics/settings": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "System-metrics collection settings (enabled, poll interval, retention)",
        "operationId": "admin.platform.systemMetrics.settings.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SystemMetricsSettings"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "SYSTEM_METRICS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SYSTEM_METRICS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SYSTEM_METRICS_VIEW"
            ]
          }
        ],
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/system-metrics/{metric_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "One stored system-metric sample",
        "operationId": "admin.platform.systemMetrics.get",
        "security": [
          {
            "kasmBearer": [
              "SYSTEM_METRICS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SYSTEM_METRICS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SYSTEM_METRICS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "metric_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Metric Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SystemMetricSample"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/system-info": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Deployment identity: DB, API, license, and update-availability facts",
        "operationId": "admin.platform.systemInfo.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SystemInfo"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "SYSTEM_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SYSTEM_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SYSTEM_VIEW"
            ]
          }
        ],
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/identity/users/{user_id}/usage-summary": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "A target user's usage-limit setting and hours used against it",
        "operationId": "admin.identity.users.usageSummary.get",
        "security": [
          {
            "kasmBearer": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsageSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/identity/users/{user_id}/usage-sessions": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "A target user's session history over the trailing 30 days (paginated)",
        "operationId": "admin.identity.users.usageSessions.list",
        "security": [
          {
            "kasmBearer": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "account_id",
                    "cast_link_id",
                    "container_id",
                    "container_ip",
                    "created_date",
                    "destroy_reason",
                    "destroyed_date",
                    "docker_network",
                    "image_friendly_name",
                    "image_id",
                    "image_name",
                    "image_src",
                    "is_queued",
                    "server_hostname",
                    "server_id",
                    "session_id",
                    "staging_config_id",
                    "start_date",
                    "usage_hours",
                    "user_id",
                    "user_ip",
                    "user_name",
                    "zone_id",
                    "zone_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_AccountingSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/identity/users/{user_id}/usage-summary": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "The caller's usage-limit setting and hours used against it",
        "operationId": "identity.users.usageSummary.get",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsageSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/identity/users/{user_id}/usage-sessions": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "The caller's session history over the trailing 30 days (paginated)",
        "operationId": "identity.users.usageSessions.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "account_id",
                    "cast_link_id",
                    "container_id",
                    "container_ip",
                    "created_date",
                    "destroy_reason",
                    "destroyed_date",
                    "docker_network",
                    "image_friendly_name",
                    "image_id",
                    "image_name",
                    "image_src",
                    "is_queued",
                    "server_hostname",
                    "server_id",
                    "session_id",
                    "staging_config_id",
                    "start_date",
                    "usage_hours",
                    "user_id",
                    "user_ip",
                    "user_name",
                    "zone_id",
                    "zone_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_AccountingSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/platform/version": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Server version, for selecting a matching generated SDK",
        "operationId": "platform.version.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformVersion"
                }
              }
            }
          }
        }
      }
    },
    "/api/__healthcheck": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Readiness probe: can this process serve a request right now",
        "operationId": "platform.readiness.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadinessStatus"
                }
              }
            }
          }
        }
      }
    },
    "/api/platform/client-settings": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Effective client-facing session settings for the authenticated user",
        "operationId": "platform.clientSettings.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientSettings"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/platform/languages": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Supported UI languages, for the client's language dropdown",
        "operationId": "platform.languages.list",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "label",
                    "value"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_LabeledOption_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/platform/timezones": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Supported UI timezones, for the client's timezone dropdown",
        "operationId": "platform.timezones.list",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "label",
                    "value"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_LabeledOption_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/platform/help-links/{doc_id}": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Resolve a documentation link, falling back to the generic admin guide on failure",
        "operationId": "platform.helpLinks.get",
        "parameters": [
          {
            "name": "doc_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[A-Za-z0-9._-]+$",
              "title": "Doc Id"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[A-Za-z0-9._-]+$",
              "title": "Version"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HelpLink"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/platform/config-exports": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Export system configuration",
        "operationId": "admin.platform.configExports.create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConfigExportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigExport"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "SYSTEM_EXPORT_DATA"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SYSTEM_EXPORT_DATA"
            ]
          },
          {
            "kasmSessionToken": [
              "SYSTEM_EXPORT_DATA"
            ]
          }
        ],
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/config-schema": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Export the system configuration schema",
        "operationId": "admin.platform.configSchema.get",
        "security": [
          {
            "kasmBearer": [
              "SYSTEM_EXPORT_SCHEMA"
            ]
          },
          {
            "kasmBearer": [
              "SYSTEM_EXPORT_DATA"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SYSTEM_EXPORT_SCHEMA"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SYSTEM_EXPORT_DATA"
            ]
          },
          {
            "kasmSessionToken": [
              "SYSTEM_EXPORT_SCHEMA"
            ]
          },
          {
            "kasmSessionToken": [
              "SYSTEM_EXPORT_DATA"
            ]
          }
        ],
        "parameters": [
          {
            "name": "tables",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Restrict the dump to these tables. Repeat the parameter for each table. Omit it to describe every exportable table.",
              "title": "Tables"
            },
            "description": "Restrict the dump to these tables. Repeat the parameter for each table. Omit it to describe every exportable table."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/platform/config-imports": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Import system configuration",
        "operationId": "admin.platform.configImports.create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConfigImportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "SYSTEM_IMPORT_DATA"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SYSTEM_IMPORT_DATA"
            ]
          },
          {
            "kasmSessionToken": [
              "SYSTEM_IMPORT_DATA"
            ]
          }
        ]
      }
    },
    "/api/admin/platform/config-imports/preview": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Preview a system configuration import",
        "operationId": "admin.platform.configImports.preview",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PreviewConfigImportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigImportPreview"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "SYSTEM_IMPORT_DATA"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SYSTEM_IMPORT_DATA"
            ]
          },
          {
            "kasmSessionToken": [
              "SYSTEM_IMPORT_DATA"
            ]
          }
        ]
      }
    },
    "/api/platform/rdp-client-connections/file": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Signed .rdp file for a session",
        "operationId": "platform.rdpClientConnections.file.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "kasm_client_key",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Kasm Client Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RdpClientFileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RdpClientFileResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/platform/rdp-client-connections/url": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "rdp:// URL for a session",
        "operationId": "platform.rdpClientConnections.url.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "kasm_client_key",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Kasm Client Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RdpClientUrlRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "title": "Response Platform.Rdpclientconnections.Url.Create"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/platform/rdp-client-connections/settings": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "RDP client settings for a session, creating one if needed",
        "operationId": "platform.rdpClientConnections.settings.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "kasm_client_key",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Kasm Client Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RdpClientSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RdpClientSettingsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict. Typed problems: ``session-starting``",
            "content": {
              "application/problem+json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionStartingProblem"
                    },
                    {
                      "$ref": "#/components/schemas/ProblemDetail"
                    }
                  ],
                  "title": "Response 409 Platform.Rdpclientconnections.Settings.Create"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/egress-providers": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List egress providers visible to the caller (paginated, filtered)",
        "operationId": "admin.providers.egressProviders.list",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "egress_plugin_id",
                "egress_provider_id",
                "egress_provider_type",
                "enable_new_managed_gateways",
                "enabled",
                "external_id",
                "name",
                "version"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: case-insensitive substring match on the provider name.",
              "type": "string",
              "title": "Name"
            },
            "description": "Filter: case-insensitive substring match on the provider name."
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on whether the configuration is enabled.",
              "type": "boolean",
              "title": "Enabled"
            },
            "description": "Filter: exact match on whether the configuration is enabled."
          },
          {
            "name": "egress_provider_type",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on the Egress Provider type.",
              "$ref": "#/components/schemas/EgressProviderType"
            },
            "description": "Filter: exact match on the Egress Provider type."
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Case-insensitive substring search across the provider name.",
              "type": "string",
              "title": "Search Term"
            },
            "description": "Case-insensitive substring search across the provider name."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_EgressProviderSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an egress provider",
        "operationId": "admin.providers.egressProviders.create",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEgressProviderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EgressProviderSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/egress-providers/{egress_provider_id}": {
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an egress provider",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.providers.egressProviders.patch",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_provider_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress provider to operate on.",
              "title": "Egress Provider Id"
            },
            "description": "Unique identifier of the egress provider to operate on."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEgressProviderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EgressProviderSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an egress provider",
        "operationId": "admin.providers.egressProviders.delete",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_provider_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress provider to operate on.",
              "title": "Egress Provider Id"
            },
            "description": "Unique identifier of the egress provider to operate on."
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/egress-providers/{egress_provider_id}/ziti-config": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get the OpenZiti admin identity configuration for an egress provider",
        "operationId": "admin.providers.egressProviders.getZitiConfig",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_provider_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress provider to operate on.",
              "title": "Egress Provider Id"
            },
            "description": "Unique identifier of the egress provider to operate on."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EgressProviderZitiConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Set the OpenZiti admin identity configuration for an egress provider",
        "operationId": "admin.providers.egressProviders.createZitiConfig",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_CREATE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_provider_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress provider to operate on.",
              "title": "Egress Provider Id"
            },
            "description": "Unique identifier of the egress provider to operate on."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ZitiAdminIdentity"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EgressProviderZitiConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Admin"
        ],
        "summary": "Replace the OpenZiti admin identity configuration for an egress provider",
        "operationId": "admin.providers.egressProviders.replaceZitiConfig",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_provider_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress provider to operate on.",
              "title": "Egress Provider Id"
            },
            "description": "Unique identifier of the egress provider to operate on."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ZitiAdminIdentity"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EgressProviderZitiConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete the OpenZiti admin identity configuration for an egress provider",
        "operationId": "admin.providers.egressProviders.deleteZitiConfig",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_provider_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress provider to operate on.",
              "title": "Egress Provider Id"
            },
            "description": "Unique identifier of the egress provider to operate on."
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/egress-gateways": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List egress gateways visible to the caller (paginated, filtered)",
        "operationId": "admin.providers.egressGateways.list",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_GATEWAYS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_GATEWAYS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_GATEWAYS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "city",
                "country",
                "egress_gateway_id",
                "egress_provider_id",
                "enabled",
                "name"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "egress_provider_id",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on the owning egress provider.",
              "type": "string",
              "format": "uuid",
              "title": "Egress Provider Id"
            },
            "description": "Filter: exact match on the owning egress provider."
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: case-insensitive substring match on the gateway name.",
              "type": "string",
              "title": "Name"
            },
            "description": "Filter: case-insensitive substring match on the gateway name."
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on whether the configuration is enabled.",
              "type": "boolean",
              "title": "Enabled"
            },
            "description": "Filter: exact match on whether the configuration is enabled."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on country.",
              "type": "string",
              "title": "Country"
            },
            "description": "Filter: exact match on country."
          },
          {
            "name": "city",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on city.",
              "type": "string",
              "title": "City"
            },
            "description": "Filter: exact match on city."
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Case-insensitive substring search across the gateway name.",
              "type": "string",
              "title": "Search Term"
            },
            "description": "Case-insensitive substring search across the gateway name."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_EgressGatewaySummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an egress gateway",
        "operationId": "admin.providers.egressGateways.create",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_GATEWAYS_CREATE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_GATEWAYS_CREATE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_GATEWAYS_CREATE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEgressGatewayRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EgressGatewaySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/egress-gateways/{egress_gateway_id}": {
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an egress gateway",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.providers.egressGateways.patch",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_GATEWAYS_MODIFY",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_GATEWAYS_MODIFY",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_GATEWAYS_MODIFY",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_gateway_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress gateway to operate on.",
              "title": "Egress Gateway Id"
            },
            "description": "Unique identifier of the egress gateway to operate on."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEgressGatewayRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EgressGatewaySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an egress gateway",
        "operationId": "admin.providers.egressGateways.delete",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_GATEWAYS_DELETE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_GATEWAYS_DELETE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_GATEWAYS_DELETE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_gateway_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress gateway to operate on.",
              "title": "Egress Gateway Id"
            },
            "description": "Unique identifier of the egress gateway to operate on."
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/egress-provider-mappings": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List egress provider mappings visible to the caller (paginated, filtered)",
        "operationId": "admin.providers.egressProviderMappings.list",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "allow_all_gateways",
                "created",
                "egress_provider_id",
                "egress_provider_mapping_id",
                "enabled",
                "group_id",
                "image_id",
                "user_id"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on whether the configuration is enabled.",
              "type": "boolean",
              "title": "Enabled"
            },
            "description": "Filter: exact match on whether the configuration is enabled."
          },
          {
            "name": "egress_provider_id",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on the mapped provider.",
              "type": "string",
              "format": "uuid",
              "title": "Egress Provider Id"
            },
            "description": "Filter: exact match on the mapped provider."
          },
          {
            "name": "allow_all_gateways",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on the allow-all-gateways flag.",
              "type": "boolean",
              "title": "Allow All Gateways"
            },
            "description": "Filter: exact match on the allow-all-gateways flag."
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on the bound user.",
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            },
            "description": "Filter: exact match on the bound user."
          },
          {
            "name": "group_id",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on the bound group.",
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            },
            "description": "Filter: exact match on the bound group."
          },
          {
            "name": "image_id",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on the bound image.",
              "type": "string",
              "format": "uuid",
              "title": "Image Id"
            },
            "description": "Filter: exact match on the bound image."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_EgressProviderMappingListItem_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an egress provider mapping",
        "operationId": "admin.providers.egressProviderMappings.create",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEgressProviderMappingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EgressProviderMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/egress-provider-mappings/{egress_provider_mapping_id}": {
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an egress provider mapping",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.providers.egressProviderMappings.patch",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_provider_mapping_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress provider mapping to operate on.",
              "title": "Egress Provider Mapping Id"
            },
            "description": "Unique identifier of the egress provider mapping to operate on."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEgressProviderMappingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EgressProviderMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an egress provider mapping",
        "operationId": "admin.providers.egressProviderMappings.delete",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_provider_mapping_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress provider mapping to operate on.",
              "title": "Egress Provider Mapping Id"
            },
            "description": "Unique identifier of the egress provider mapping to operate on."
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/egress-credentials": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List egress credentials visible to the caller (paginated, filtered)",
        "operationId": "admin.providers.egressCredentials.list",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_CREDENTIALS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_CREDENTIALS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_CREDENTIALS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "active_connection_limit",
                "allow_all_gateways",
                "egress_credential_id",
                "egress_provider_id",
                "enabled",
                "group_id",
                "image_id",
                "limit_active_connections",
                "name",
                "user_id",
                "username"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on whether the configuration is enabled.",
              "type": "boolean",
              "title": "Enabled"
            },
            "description": "Filter: exact match on whether the configuration is enabled."
          },
          {
            "name": "egress_provider_id",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on the owning provider.",
              "type": "string",
              "format": "uuid",
              "title": "Egress Provider Id"
            },
            "description": "Filter: exact match on the owning provider."
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on the bound user.",
              "type": "string",
              "format": "uuid",
              "title": "User Id"
            },
            "description": "Filter: exact match on the bound user."
          },
          {
            "name": "group_id",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on the bound group.",
              "type": "string",
              "format": "uuid",
              "title": "Group Id"
            },
            "description": "Filter: exact match on the bound group."
          },
          {
            "name": "image_id",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Filter: exact match on the bound image.",
              "type": "string",
              "format": "uuid",
              "title": "Image Id"
            },
            "description": "Filter: exact match on the bound image."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_EgressCredentialListItem_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create an egress credential",
        "operationId": "admin.providers.egressCredentials.create",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_CREDENTIALS_CREATE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_CREDENTIALS_CREATE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_CREDENTIALS_CREATE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEgressCredentialRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EgressCredentialSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/egress-credentials/{egress_credential_id}": {
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update an egress credential",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.providers.egressCredentials.patch",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_CREDENTIALS_MODIFY",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_CREDENTIALS_MODIFY",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_CREDENTIALS_MODIFY",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_credential_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress credential to operate on.",
              "title": "Egress Credential Id"
            },
            "description": "Unique identifier of the egress credential to operate on."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEgressCredentialRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EgressCredentialSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete an egress credential",
        "operationId": "admin.providers.egressCredentials.delete",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_CREDENTIALS_DELETE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_CREDENTIALS_DELETE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_CREDENTIALS_DELETE",
              "EGRESS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "egress_credential_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier of the egress credential to operate on.",
              "title": "Egress Credential Id"
            },
            "description": "Unique identifier of the egress credential to operate on."
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/providers/egress-gateway-options": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "List the egress-gateway options available to the caller for a workspace image (paginated)",
        "description": "Computed for the calling user. An API key has no user and is refused (403); the /api/admin/providers option lists take the user explicitly.",
        "operationId": "providers.egressGatewayOptions.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "image_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The workspace image to list available egress options for.",
              "title": "Image Id"
            },
            "description": "The workspace image to list available egress options for."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "city",
                "country",
                "egress_credential_id",
                "egress_gateway_id",
                "egress_gateway_name",
                "egress_provider_name"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_EgressGatewayOption_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/providers/egress-provider-options": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "List the gateway-less egress-provider options available to the caller for a workspace image (paginated)",
        "description": "Computed for the calling user. An API key has no user and is refused (403); the /api/admin/providers option lists take the user explicitly.",
        "operationId": "providers.egressProviderOptions.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "image_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The workspace image to list available egress options for.",
              "title": "Image Id"
            },
            "description": "The workspace image to list available egress options for."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "egress_provider_id",
                "egress_provider_name",
                "egress_provider_type"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_EgressProviderOption_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/egress-gateway-options": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List the egress-gateway options available to a given user for a workspace image (paginated)",
        "operationId": "admin.providers.egressGatewayOptions.list",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_GATEWAYS_VIEW",
              "USERS_VIEW",
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_GATEWAYS_VIEW",
              "USERS_VIEW",
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_GATEWAYS_VIEW",
              "USERS_VIEW",
              "IMAGES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "image_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The workspace image to list available egress options for.",
              "title": "Image Id"
            },
            "description": "The workspace image to list available egress options for."
          },
          {
            "name": "user_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The user to list available egress options for.",
              "title": "User Id"
            },
            "description": "The user to list available egress options for."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "city",
                "country",
                "egress_credential_id",
                "egress_gateway_id",
                "egress_gateway_name",
                "egress_provider_name"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_EgressGatewayOption_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/providers/egress-provider-options": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List the gateway-less egress-provider options available to a given user for a workspace image (paginated)",
        "operationId": "admin.providers.egressProviderOptions.list",
        "security": [
          {
            "kasmBearer": [
              "EGRESS_PROVIDERS_VIEW",
              "USERS_VIEW",
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "EGRESS_PROVIDERS_VIEW",
              "USERS_VIEW",
              "IMAGES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "EGRESS_PROVIDERS_VIEW",
              "USERS_VIEW",
              "IMAGES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "image_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The workspace image to list available egress options for.",
              "title": "Image Id"
            },
            "description": "The workspace image to list available egress options for."
          },
          {
            "name": "user_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The user to list available egress options for.",
              "title": "User Id"
            },
            "description": "The user to list available egress options for."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "egress_provider_id",
                "egress_provider_name",
                "egress_provider_type"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_EgressProviderOption_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/providers/vm-configs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List VM provider configs (paginated, filtered)",
        "operationId": "admin.providers.vmConfigs.list",
        "security": [
          {
            "kasmBearer": [
              "VM_PROVIDER_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "VM_PROVIDER_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "VM_PROVIDER_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Maximum number of results to return per page.",
              "title": "Page Size"
            },
            "description": "Maximum number of results to return per page."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "config_name",
                    "max_instances",
                    "vm_provider_config_id",
                    "vm_provider_config_name",
                    "vm_provider_display_name",
                    "vm_provider_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort results by. Defaults to `vm_provider_config_name`.",
              "title": "Sort By"
            },
            "description": "Field to sort results by. Defaults to `vm_provider_config_name`."
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort direction: `asc` or `desc`.",
              "title": "Sort Direction"
            },
            "description": "Sort direction: `asc` or `desc`."
          },
          {
            "name": "vm_provider_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/VmProviderName"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exact-match filter on the provider, e.g. `AZURE`.",
              "title": "Vm Provider Name"
            },
            "description": "Exact-match filter on the provider, e.g. `AZURE`."
          },
          {
            "name": "vm_provider_config_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Case-insensitive substring match on the config name.",
              "title": "Vm Provider Config Name"
            },
            "description": "Case-insensitive substring match on the config name."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_VmProviderConfigResponse_"
                }
              }
            },
            "links": {
              "GetConfigFromList": {
                "operationId": "admin.providers.vmConfigs.get",
                "parameters": {
                  "vm_provider_config_id": "$response.body#/data/0/vm_provider_config_id",
                  "vm_provider_name": "$response.body#/data/0/vm_provider_name"
                },
                "description": "Fetch the full record for a config returned in this list. vm_provider_name is required because each provider has its own table and primary key."
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a VM provider config",
        "operationId": "admin.providers.vmConfigs.create",
        "security": [
          {
            "kasmBearer": [
              "VM_PROVIDER_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "VM_PROVIDER_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "VM_PROVIDER_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVmProviderConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VmProviderConfigResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "auto_scaling"
        ]
      }
    },
    "/api/admin/providers/vm-configs/{vm_provider_config_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Fetch a single VM provider config by id",
        "operationId": "admin.providers.vmConfigs.get",
        "security": [
          {
            "kasmBearer": [
              "VM_PROVIDER_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "VM_PROVIDER_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "VM_PROVIDER_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "vm_provider_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Primary key of the backing provider-specific config row.",
              "title": "Vm Provider Config Id"
            },
            "description": "Primary key of the backing provider-specific config row."
          },
          {
            "name": "vm_provider_name",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/VmProviderName",
              "description": "Provider the config belongs to, e.g. `AWS`. Required because each provider stores its configs in a separate table with its own primary key."
            },
            "description": "Provider the config belongs to, e.g. `AWS`. Required because each provider stores its configs in a separate table with its own primary key."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VmProviderConfigResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a VM provider config",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.providers.vmConfigs.patch",
        "security": [
          {
            "kasmBearer": [
              "VM_PROVIDER_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "VM_PROVIDER_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "VM_PROVIDER_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "vm_provider_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Primary key of the backing provider-specific config row.",
              "title": "Vm Provider Config Id"
            },
            "description": "Primary key of the backing provider-specific config row."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVmProviderConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VmProviderConfigResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "auto_scaling"
        ]
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a VM provider config",
        "operationId": "admin.providers.vmConfigs.delete",
        "security": [
          {
            "kasmBearer": [
              "VM_PROVIDER_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "VM_PROVIDER_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "VM_PROVIDER_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "vm_provider_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Primary key of the backing provider-specific config row.",
              "title": "Vm Provider Config Id"
            },
            "description": "Primary key of the backing provider-specific config row."
          },
          {
            "name": "vm_provider_name",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/VmProviderName",
              "description": "Provider the config belongs to, e.g. `AWS`. Required because each provider stores its configs in a separate table with its own primary key."
            },
            "description": "Provider the config belongs to, e.g. `AWS`. Required because each provider stores its configs in a separate table with its own primary key."
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/dns-configs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List DNS providers (paginated, filtered)",
        "operationId": "admin.providers.dnsConfigs.list",
        "security": [
          {
            "kasmBearer": [
              "DNS_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "DNS_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "DNS_PROVIDERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Maximum number of results to return per page.",
              "title": "Page Size"
            },
            "description": "Maximum number of results to return per page."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "config_name",
                    "dns_provider_config_id",
                    "dns_provider_config_name",
                    "dns_provider_display_name",
                    "dns_provider_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort results by. Defaults to `dns_provider_config_name`.",
              "title": "Sort By"
            },
            "description": "Field to sort results by. Defaults to `dns_provider_config_name`."
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort direction: `asc` or `desc`.",
              "title": "Sort Direction"
            },
            "description": "Sort direction: `asc` or `desc`."
          },
          {
            "name": "dns_provider_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/DnsProviderName"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exact-match filter on the provider, e.g. `AZURE`.",
              "title": "Dns Provider Name"
            },
            "description": "Exact-match filter on the provider, e.g. `AZURE`."
          },
          {
            "name": "dns_provider_config_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Case-insensitive substring match on the config name.",
              "title": "Dns Provider Config Name"
            },
            "description": "Case-insensitive substring match on the config name."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_DnsProviderResponse_"
                }
              }
            },
            "links": {
              "GetConfigFromList": {
                "operationId": "admin.providers.dnsConfigs.get",
                "parameters": {
                  "dns_provider_config_id": "$response.body#/data/0/dns_provider_config_id",
                  "dns_provider_name": "$response.body#/data/0/dns_provider_name"
                },
                "description": "Fetch the full record for a config returned in this list. dns_provider_name is required because each provider has its own table and primary key."
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a DNS provider",
        "operationId": "admin.providers.dnsConfigs.create",
        "security": [
          {
            "kasmBearer": [
              "DNS_PROVIDERS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "DNS_PROVIDERS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "DNS_PROVIDERS_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDnsProviderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsProviderResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "auto_scaling"
        ]
      }
    },
    "/api/admin/providers/dns-configs/{dns_provider_config_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Fetch a single DNS provider by id",
        "operationId": "admin.providers.dnsConfigs.get",
        "security": [
          {
            "kasmBearer": [
              "DNS_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "DNS_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "DNS_PROVIDERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "dns_provider_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Primary key of the backing provider-specific config row.",
              "title": "Dns Provider Config Id"
            },
            "description": "Primary key of the backing provider-specific config row."
          },
          {
            "name": "dns_provider_name",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/DnsProviderName",
              "description": "Provider the config belongs to, e.g. `AWS`. Required because each provider stores its configs in a separate table with its own primary key."
            },
            "description": "Provider the config belongs to, e.g. `AWS`. Required because each provider stores its configs in a separate table with its own primary key."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsProviderResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a DNS provider",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.providers.dnsConfigs.patch",
        "security": [
          {
            "kasmBearer": [
              "DNS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "DNS_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "DNS_PROVIDERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "dns_provider_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Primary key of the backing provider-specific config row.",
              "title": "Dns Provider Config Id"
            },
            "description": "Primary key of the backing provider-specific config row."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDnsProviderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsProviderResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "auto_scaling"
        ]
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a DNS provider",
        "operationId": "admin.providers.dnsConfigs.delete",
        "security": [
          {
            "kasmBearer": [
              "DNS_PROVIDERS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "DNS_PROVIDERS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "DNS_PROVIDERS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "dns_provider_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Primary key of the backing provider-specific config row.",
              "title": "Dns Provider Config Id"
            },
            "description": "Primary key of the backing provider-specific config row."
          },
          {
            "name": "dns_provider_name",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/DnsProviderName",
              "description": "Provider the config belongs to, e.g. `AWS`. Required because each provider stores its configs in a separate table with its own primary key."
            },
            "description": "Provider the config belongs to, e.g. `AWS`. Required because each provider stores its configs in a separate table with its own primary key."
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/storage-providers": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List storage providers (paginated, filtered)",
        "operationId": "admin.providers.storageProviders.list",
        "security": [
          {
            "kasmBearer": [
              "STORAGE_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "STORAGE_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "STORAGE_PROVIDERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "auth_url",
                    "client_id",
                    "default_target",
                    "enabled",
                    "name",
                    "redirect_url",
                    "root_drive_url",
                    "storage_provider_id",
                    "storage_provider_type",
                    "token_url",
                    "webdav_url"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Name"
            }
          },
          {
            "name": "storage_provider_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/StorageProviderType"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Storage Provider Type"
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Enabled"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_StorageProviderSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a storage provider",
        "operationId": "admin.providers.storageProviders.create",
        "security": [
          {
            "kasmBearer": [
              "STORAGE_PROVIDERS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "STORAGE_PROVIDERS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "STORAGE_PROVIDERS_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStorageProviderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageProviderSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/providers/storage-providers/{storage_provider_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single storage provider by id",
        "operationId": "admin.providers.storageProviders.get",
        "security": [
          {
            "kasmBearer": [
              "STORAGE_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "STORAGE_PROVIDERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "STORAGE_PROVIDERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "storage_provider_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Storage Provider Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageProviderSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a storage provider",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.providers.storageProviders.patch",
        "security": [
          {
            "kasmBearer": [
              "STORAGE_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "STORAGE_PROVIDERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "STORAGE_PROVIDERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "storage_provider_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Storage Provider Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStorageProviderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageProviderSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a storage provider and the mappings bound to it",
        "operationId": "admin.providers.storageProviders.delete",
        "security": [
          {
            "kasmBearer": [
              "STORAGE_PROVIDERS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "STORAGE_PROVIDERS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "STORAGE_PROVIDERS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "storage_provider_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Storage Provider Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/providers/storage-provider-options": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "List the enabled storage providers the caller may map (paginated)",
        "operationId": "providers.storageProviderOptions.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "target_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/StorageMappingTargetType"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Target Type"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_StorageProviderOption_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/providers/storage-mappings": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "List the storage mappings bound to a user, group, or image (paginated)",
        "operationId": "providers.storageMappings.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "enabled",
                    "group_id",
                    "image_id",
                    "name",
                    "read_only",
                    "s3_bucket",
                    "storage_mapping_id",
                    "storage_provider_id",
                    "target",
                    "user_id",
                    "webdav_user"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User Id"
            }
          },
          {
            "name": "group_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Group Id"
            }
          },
          {
            "name": "image_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Image Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_StorageMappingSummary_"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Create a storage mapping for a provider that takes credentials directly",
        "operationId": "providers.storageMappings.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStorageMappingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/providers/storage-mappings/{storage_mapping_id}": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Get a single storage mapping by id",
        "operationId": "providers.storageMappings.get",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "storage_mapping_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Storage Mapping Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageMappingSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Client"
        ],
        "summary": "Update a storage mapping",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "providers.storageMappings.patch",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "storage_mapping_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Storage Mapping Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStorageMappingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageMappingSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Client"
        ],
        "summary": "Delete a storage mapping",
        "operationId": "providers.storageMappings.delete",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "storage_mapping_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Storage Mapping Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/providers/storage-mapping-oauth-logins": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Start the OAuth login that creates a storage mapping for an OAuth provider",
        "operationId": "providers.storageMappingOauthLogins.create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StorageMappingOauthLoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageMappingOauthLogin"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/admin/security/connection-proxies": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List connection proxies (paginated, filtered)",
        "operationId": "admin.security.connectionProxies.list",
        "security": [
          {
            "kasmBearer": [
              "CONNECTION_PROXY_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CONNECTION_PROXY_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "CONNECTION_PROXY_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "connection_proxy_id",
                    "connection_proxy_type",
                    "cores",
                    "cpu_percent",
                    "enabled",
                    "first_reported",
                    "gpu_memory_used_percent",
                    "gpu_percent",
                    "gpu_temp",
                    "last_reported",
                    "last_reported_elapsed",
                    "last_reported_seconds",
                    "operational_status",
                    "proxy_port",
                    "server_address",
                    "server_port",
                    "zone_id",
                    "zone_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "zone_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Zone Id"
            }
          },
          {
            "name": "connection_proxy_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Connection Proxy Type"
            }
          },
          {
            "name": "operational_status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Operational Status"
            }
          },
          {
            "name": "server_address",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Server Address"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_ConnectionProxySummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a connection proxy",
        "operationId": "admin.security.connectionProxies.create",
        "security": [
          {
            "kasmBearer": [
              "CONNECTION_PROXY_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CONNECTION_PROXY_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "CONNECTION_PROXY_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConnectionProxyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionProxySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/security/connection-proxies/{connection_proxy_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single connection proxy by id",
        "operationId": "admin.security.connectionProxies.get",
        "security": [
          {
            "kasmBearer": [
              "CONNECTION_PROXY_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CONNECTION_PROXY_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "CONNECTION_PROXY_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "connection_proxy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Connection Proxy Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionProxySummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a connection proxy",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.security.connectionProxies.patch",
        "security": [
          {
            "kasmBearer": [
              "CONNECTION_PROXY_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CONNECTION_PROXY_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "CONNECTION_PROXY_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "connection_proxy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Connection Proxy Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateConnectionProxyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionProxySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict. Typed problems: ``last-enabled-connection-proxy``",
            "content": {
              "application/problem+json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/LastEnabledConnectionProxyProblem"
                    },
                    {
                      "$ref": "#/components/schemas/ProblemDetail"
                    }
                  ],
                  "title": "Response 409 Admin.Security.Connectionproxies.Patch"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a connection proxy",
        "operationId": "admin.security.connectionProxies.delete",
        "security": [
          {
            "kasmBearer": [
              "CONNECTION_PROXY_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CONNECTION_PROXY_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "CONNECTION_PROXY_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "connection_proxy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Connection Proxy Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/security/network-policies": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List network policies (paginated, filtered)",
        "operationId": "admin.security.networkPolicies.list",
        "security": [
          {
            "kasmBearer": [
              "NETWORK_POLICIES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "NETWORK_POLICIES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "NETWORK_POLICIES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "created_at",
                    "network_policy_description",
                    "network_policy_id",
                    "network_policy_name",
                    "updated_at",
                    "version"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "network_policy_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Network Policy Name"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_NetworkPolicySummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a network policy",
        "operationId": "admin.security.networkPolicies.create",
        "security": [
          {
            "kasmBearer": [
              "NETWORK_POLICIES_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "NETWORK_POLICIES_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "NETWORK_POLICIES_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNetworkPolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkPolicySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/security/network-policies/{network_policy_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single network policy by id",
        "operationId": "admin.security.networkPolicies.get",
        "security": [
          {
            "kasmBearer": [
              "NETWORK_POLICIES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "NETWORK_POLICIES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "NETWORK_POLICIES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "network_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Network Policy Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkPolicySummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a network policy",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.security.networkPolicies.patch",
        "security": [
          {
            "kasmBearer": [
              "NETWORK_POLICIES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "NETWORK_POLICIES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "NETWORK_POLICIES_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "network_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Network Policy Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateNetworkPolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkPolicySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a network policy",
        "operationId": "admin.security.networkPolicies.delete",
        "security": [
          {
            "kasmBearer": [
              "NETWORK_POLICIES_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "NETWORK_POLICIES_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "NETWORK_POLICIES_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "network_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Network Policy Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/security/rdp-signer-certificate": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get the deployment's RDP signing certificate",
        "operationId": "admin.security.rdpSignerCertificate.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RdpSignerCertificate"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "SETTINGS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SETTINGS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SETTINGS_VIEW"
            ]
          }
        ],
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/security/web-filter-policies": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List web filter policies (paginated, filtered)",
        "operationId": "admin.security.webFilterPolicies.list",
        "security": [
          {
            "kasmBearer": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "WEBFILTERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "deny_by_default",
                    "disable_logging",
                    "enable_categorization",
                    "enable_safe_search",
                    "filter_policy_descriptions",
                    "filter_policy_id",
                    "filter_policy_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "filter_policy_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Filter Policy Name"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_WebFilterPolicySummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a web filter policy",
        "operationId": "admin.security.webFilterPolicies.create",
        "security": [
          {
            "kasmBearer": [
              "WEBFILTERS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "WEBFILTERS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "WEBFILTERS_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebFilterPolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebFilterPolicySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/security/web-filter-policies/{filter_policy_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a web filter policy",
        "operationId": "admin.security.webFilterPolicies.get",
        "security": [
          {
            "kasmBearer": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "WEBFILTERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "filter_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Filter Policy Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebFilterPolicySummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a web filter policy",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.security.webFilterPolicies.patch",
        "security": [
          {
            "kasmBearer": [
              "WEBFILTERS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "WEBFILTERS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "WEBFILTERS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "filter_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Filter Policy Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWebFilterPolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebFilterPolicySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a web filter policy",
        "operationId": "admin.security.webFilterPolicies.delete",
        "security": [
          {
            "kasmBearer": [
              "WEBFILTERS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "WEBFILTERS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "WEBFILTERS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "filter_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Filter Policy Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/security/web-filter-policies/{filter_policy_id}/url-cache": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Web filter config and seed cache for a policy",
        "operationId": "admin.security.webFilterPolicies.getUrlCache",
        "security": [
          {
            "kasmBearer": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "WEBFILTERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "filter_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Filter Policy Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UrlCacheResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/security/web-filter-policies/{filter_policy_id}/url-checks": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Allow/deny decision for one URL under a policy",
        "operationId": "admin.security.webFilterPolicies.checkUrl",
        "security": [
          {
            "kasmBearer": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "WEBFILTERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "filter_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Filter Policy Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UrlCheckRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UrlCheckResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/security/web-filter-categories": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List URL categorization categories",
        "operationId": "admin.security.webFilterCategories.list",
        "security": [
          {
            "kasmBearer": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "WEBFILTERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_WebFilterCategory_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/security/safe-search-patterns": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List default safe-search patterns",
        "operationId": "admin.security.safeSearchPatterns.list",
        "security": [
          {
            "kasmBearer": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "WEBFILTERS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "WEBFILTERS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_SafeSearchPattern_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/session/sessions": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List the caller's sessions",
        "operationId": "session.sessions.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MySessionsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Request a session",
        "description": "Validates the request and records the session with desired state RUNNING; placement and start happen in the reconciler. Poll ``.../status`` for progress. Launch negotiation failures are typed problems (``launch-config-required``, ``egress-selection-required``, ``rdp-client-required``) carrying the options to choose from.\n\n``image_id`` may be omitted: the owner's default image is used (a user attribute over the group setting; 400 when neither is set).\n\nAn API key launches for an existing ``user_id`` or, with no ``user_id``, for an anonymous user the server creates; both need the ``USERS_AUTH_SESSION`` scope. An API-key response carries the owner's login JWT (``session_token``) and browser ``connect_url``. Anonymous launch accepts an optional ``Idempotency-Key`` header: when supplied, the same key replays the original user, session and token, while a different request under a used key is 409. Without the header, every request creates a new anonymous user. More anonymous users than ``auth.api_anonymous_creation_limit`` per hour is 429.",
        "operationId": "session.sessions.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_AUTH_SESSION"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Anonymous API-key launches only (ignored otherwise): the same key replays the original user, session and token; a different request under a used key is 409. Non-empty, at most 255 characters.",
              "title": "Idempotency-Key"
            },
            "description": "Anonymous API-key launches only (ignored otherwise): the same key replays the original user, session and token; a different request under a used key is 409. Non-empty, at most 255 characters."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionRequestAccepted"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "description": "Always ``no-store``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-store"
                }
              },
              "Pragma": {
                "description": "Always ``no-cache``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-cache"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Typed problems: ``persistent-profile-mode-unavailable``",
            "content": {
              "application/problem+json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/PersistentProfileModeProblem"
                    },
                    {
                      "$ref": "#/components/schemas/ProblemDetail"
                    }
                  ],
                  "title": "Response 400 Session.Sessions.Create"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict. Typed problems: ``launch-config-required``, ``egress-selection-required``, ``rdp-client-required``, ``no-resources``, ``image-incompatible``",
            "content": {
              "application/problem+json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/LaunchConfigRequiredProblem"
                    },
                    {
                      "$ref": "#/components/schemas/EgressSelectionRequiredProblem"
                    },
                    {
                      "$ref": "#/components/schemas/RdpClientRequiredProblem"
                    },
                    {
                      "$ref": "#/components/schemas/NoResourcesProblem"
                    },
                    {
                      "$ref": "#/components/schemas/ImageIncompatibleProblem"
                    },
                    {
                      "$ref": "#/components/schemas/ProblemDetail"
                    }
                  ],
                  "title": "Response 409 Session.Sessions.Create"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/execution-commands": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Run a command in a session",
        "description": "Exactly one of ``command`` or ``exec``. ``command`` names an entry of the image's exec configs; ``url`` is required for ``go`` and, when given, must be a URL. ``exec`` is a free-form command and requires the sessions-modify scope. Runs now against a running container (``queued: false``); a session still starting, being placed or being resumed queues it and the reconciler runs it the moment the container is serving (``queued: true``). A paused or stopped session is a 409.",
        "operationId": "session.sessions.executionCommands.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecutionCommandRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExecutionCommandAccepted"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/lifecycle-commands": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Stop, pause or resume a session",
        "description": "Records the new desired state (202); the reconciler converges the placement. Stop and pause are subject to the owner's group settings.",
        "operationId": "session.sessions.lifecycleCommands.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LifecycleCommandRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionCommandAccepted"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/keepalives": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Keep a session alive",
        "description": "Pushes the expiration out by the keepalive interval. Not promoted when a session time limit applies or the owner's usage allowance is spent (``usage_reached``).",
        "operationId": "session.sessions.keepalives.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KeepaliveResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}": {
      "delete": {
        "tags": [
          "Sessions"
        ],
        "summary": "Delete a session",
        "description": "Records desired state DELETED (202); the reconciler tears the placement down and the row is removed once it is gone. Deleting a session already being deleted is a success.",
        "operationId": "session.sessions.delete",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "SESSIONS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionCommandAccepted"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/status": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "Get the status of a session",
        "description": "The caller's own session, or any session with the sessions-view scope (the way an API key reads one).",
        "operationId": "session.sessions.status.get",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          },
          {
            "name": "skip_agent_check",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Skip Agent Check"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionStatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/session/sessions/{session_id}/connection": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "Resolve where the proxy should forward a request into a session",
        "description": "nginx ``auth_request`` target. Reads the browser's request from ``X-Original-URI`` and answers with headers only: ``connect_hostname``, ``connect_port``, ``connect_path``, ``connect_schema``, ``connect_auth`` and ``connect_session_id``.",
        "operationId": "session.sessions.connection.get",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resolved; the answer is in the headers",
            "headers": {
              "connect_hostname": {
                "description": "Host to forward the request to.",
                "schema": {
                  "type": "string"
                }
              },
              "connect_port": {
                "description": "Port on that host.",
                "schema": {
                  "type": "string"
                }
              },
              "connect_path": {
                "description": "Path prefix on that host.",
                "schema": {
                  "type": "string"
                }
              },
              "connect_schema": {
                "description": "``http`` or ``https``.",
                "schema": {
                  "type": "string"
                }
              },
              "connect_auth": {
                "description": "``Authorization`` value to present upstream, or empty.",
                "schema": {
                  "type": "string"
                }
              },
              "connect_session_id": {
                "description": "The session the request was resolved against.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/screenshot": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "Capture a JPEG screenshot of a session",
        "description": "Returns raw ``image/jpeg`` bytes, not JSON.",
        "operationId": "session.sessions.screenshot.get",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          },
          {
            "name": "width",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 4096,
              "minimum": 16,
              "default": 300,
              "title": "Width"
            }
          },
          {
            "name": "height",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 4096,
              "minimum": 16,
              "default": 300,
              "title": "Height"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The screenshot",
            "content": {
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/frame-stats": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "Get KasmVNC frame statistics for a session",
        "operationId": "session.sessions.frameStats.get",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          },
          {
            "name": "client",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_.:-]{1,64}$",
              "default": "auto",
              "title": "Client"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionFrameStatsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/bottleneck-stats": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "Get KasmVNC bottleneck statistics for a session",
        "operationId": "session.sessions.bottleneckStats.get",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionBottleneckStatsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/system-stats": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "Get system statistics for a session",
        "operationId": "session.sessions.systemStats.get",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionSystemStatsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/viewers": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List the viewers connected to a session",
        "operationId": "session.sessions.viewers.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionViewersResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/browser-logins": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Issue fresh browser login credentials for a session",
        "description": "Mints a new login-session JWT for the session's owner and returns it with the browser ``connect_url``. An authenticated user may call it for their own session (someone else's is 404); an API key needs ``USERS_AUTH_SESSION``. Every call persists a new revocable session token. Status polling never carries credentials; this is the explicit credential-producing operation.",
        "operationId": "session.sessions.browserLogins.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_AUTH_SESSION"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserLoginResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "description": "Always ``no-store``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-store"
                }
              },
              "Pragma": {
                "description": "Always ``no-cache``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-cache"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/shares": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Create a share link for a session",
        "operationId": "session.sessions.shares.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionShare"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "session_sharing"
        ]
      },
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List the share links of a session",
        "operationId": "session.sessions.shares.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionShareList"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/shares/{share_id}": {
      "delete": {
        "tags": [
          "Sessions"
        ],
        "summary": "Revoke a share link and every viewer it admitted",
        "operationId": "session.sessions.shares.delete",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          },
          {
            "name": "share_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{4,48}$",
              "title": "Share Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/permissions": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List the viewer permissions on a session",
        "operationId": "session.sessions.permissions.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User Id"
            }
          },
          {
            "name": "permission_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Permission Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionPermissionList"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Sessions"
        ],
        "summary": "Set the access level of every existing viewer permission",
        "description": "Sets the access level for all of the session's participants. `access` is required.",
        "operationId": "session.sessions.permissions.patch",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionPermissionUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionPermissionList"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Sessions"
        ],
        "summary": "Remove every viewer permission from a session",
        "operationId": "session.sessions.permissions.delete",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionPermissionRevocationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/permission-batches": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Grant or update viewer permissions for a batch of users (all or nothing)",
        "operationId": "session.sessions.permissionBatches.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionPermissionBatchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionPermissionList"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/sessions/{session_id}/permission-revocations": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Revoke viewer permissions for a batch of users (all or nothing)",
        "operationId": "session.sessions.permissionRevocations.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionPermissionRevocationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionPermissionRevocationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/recent-sessions": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "Sort remembered share ids into live and expired sessions",
        "description": "Not scoped to the caller. A share id is the capability; the response says which of the supplied ids still name a live shared session.",
        "operationId": "session.recentSessions.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "share_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "title": "Share Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecentSessionsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/session/shares/{share_id}/participants": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Join a shared session as a participant",
        "description": "A user joins as themselves and gets the participant view. An API key holding ``USERS_AUTH_SESSION`` is admitted as a new anonymous participant and also gets that identity's ``user_id``, ``username``, login JWT (``session_token``) and browser ``connect_url``. Anonymous admission accepts an optional ``Idempotency-Key`` header: when supplied, the same key replays the original participant and token, while a different request under a used key is 409. Without the header, every request creates a new anonymous participant. More anonymous users than ``auth.api_anonymous_creation_limit`` per hour is 429.",
        "operationId": "session.shares.participants.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmBearer": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USERS_AUTH_SESSION"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USERS_AUTH_SESSION"
            ]
          }
        ],
        "parameters": [
          {
            "name": "share_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{4,48}$",
              "title": "Share Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JoinSharedSessionResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "description": "Always ``no-store``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-store"
                }
              },
              "Pragma": {
                "description": "Always ``no-cache``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-cache"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-required-license": [
          "session_sharing"
        ]
      }
    },
    "/api/session/persistent-profiles": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List the caller's persistent profiles",
        "operationId": "session.persistentProfiles.list",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PersistentProfileList"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/session/persistent-profiles/{profile_id}/snapshots": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List the snapshots of a persistent profile",
        "operationId": "session.persistentProfiles.snapshots.list",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "profile_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Profile Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PersistentProfileSnapshotList"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/persistent-profiles/{profile_id}/restorations": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Restore a persistent profile to a snapshot",
        "operationId": "session.persistentProfiles.restorations.create",
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "parameters": [
          {
            "name": "profile_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Profile Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileRestorationRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileRestorationAccepted"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/session/cast-links/{key}": {
      "get": {
        "tags": [
          "Casting"
        ],
        "summary": "Describe a cast link and what a claim still needs",
        "operationId": "session.castLinks.get",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,128}$",
              "title": "Key"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CastLinkDescription"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "session_casting"
        ]
      }
    },
    "/api/session/cast-links/{key}/claims": {
      "post": {
        "tags": [
          "Casting"
        ],
        "summary": "Claim a cast link slot and request its session",
        "description": "202 once the session request is accepted. An accepted anonymous claim returns the minted identity's JWT as ``session_token`` with a ``/#/connect/cast/...`` ``connect_url`` the browser follows to log in and open the session; a browser claim additionally receives the same JWT as the ``session_token`` cookie. An API key holding ``USERS_AUTH_SESSION`` gets the body credential only; no second token is minted. The response is never cached.",
        "operationId": "session.castLinks.claims.create",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,128}$",
              "title": "Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CastClaimRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CastClaimAccepted"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "description": "Always ``no-store``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-store"
                }
              },
              "Pragma": {
                "description": "Always ``no-cache``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-cache"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Typed problems: ``persistent-profile-mode-unavailable``",
            "content": {
              "application/problem+json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/PersistentProfileModeProblem"
                    },
                    {
                      "$ref": "#/components/schemas/ProblemDetail"
                    }
                  ],
                  "title": "Response 400 Session.Castlinks.Claims.Create"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict. Typed problems: ``launch-config-required``, ``egress-selection-required``, ``rdp-client-required``, ``captcha-required``, ``no-resources``, ``image-incompatible``",
            "content": {
              "application/problem+json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/LaunchConfigRequiredProblem"
                    },
                    {
                      "$ref": "#/components/schemas/EgressSelectionRequiredProblem"
                    },
                    {
                      "$ref": "#/components/schemas/RdpClientRequiredProblem"
                    },
                    {
                      "$ref": "#/components/schemas/CaptchaRequiredProblem"
                    },
                    {
                      "$ref": "#/components/schemas/NoResourcesProblem"
                    },
                    {
                      "$ref": "#/components/schemas/ImageIncompatibleProblem"
                    },
                    {
                      "$ref": "#/components/schemas/ProblemDetail"
                    }
                  ],
                  "title": "Response 409 Session.Castlinks.Claims.Create"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-required-license": [
          "session_casting"
        ]
      }
    },
    "/api/admin/session/sessions": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List sessions",
        "operationId": "admin.session.sessions.list",
        "security": [
          {
            "kasmBearer": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "agent_installed",
                    "autoscale_config_id",
                    "cast_link_id",
                    "command_revision",
                    "connection_proxy_id",
                    "container_id",
                    "container_ip",
                    "cores",
                    "created_date",
                    "desired_state",
                    "docker_network",
                    "egress_credential_id",
                    "egress_gateway_id",
                    "egress_provider_id",
                    "expiration_date",
                    "gpus",
                    "image.friendly_name",
                    "image_id",
                    "is_persistent_profile",
                    "is_standby",
                    "keepalive_date",
                    "memory_bytes",
                    "observed_state",
                    "operational_message",
                    "operational_progress",
                    "operational_status",
                    "persistent_profile_mode",
                    "port",
                    "progress_message",
                    "progress_percent",
                    "rdp_client_type",
                    "server.hostname",
                    "server.zone_name",
                    "server_id",
                    "session_id",
                    "share_id",
                    "staging_config_id",
                    "start_date",
                    "user.username",
                    "user_id",
                    "username",
                    "zone_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "server_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Server Id"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User Id"
            }
          },
          {
            "name": "image_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Image Id"
            }
          },
          {
            "name": "desired_state",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Desired State"
            }
          },
          {
            "name": "observed_state",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Observed State"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Case-insensitive substring of the session id, container IP, owner's username, workspace name or host.",
              "title": "Search Term"
            },
            "description": "Case-insensitive substring of the session id, container IP, owner's username, workspace name or host."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminSessionListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/session/sessions/{session_id}": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "Get a session",
        "operationId": "admin.session.sessions.get",
        "security": [
          {
            "kasmBearer": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminSessionSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "delete": {
        "tags": [
          "Sessions"
        ],
        "summary": "Delete a session",
        "description": "Records desired state DELETED (202); the reconciler tears the placement down.",
        "operationId": "admin.session.sessions.delete",
        "security": [
          {
            "kasmBearer": [
              "SESSIONS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionCommandAccepted"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/session/sessions/{session_id}/system-stats": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "Get system statistics for a session",
        "operationId": "admin.session.sessions.systemStats.get",
        "security": [
          {
            "kasmBearer": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionSystemStatsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/session/sessions/{session_id}/recordings": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List the recordings of a session",
        "description": "Refused (400) when ``download_links=true`` but recording object storage credentials are not configured.",
        "operationId": "admin.session.sessions.recordings.list",
        "security": [
          {
            "kasmBearer": [
              "SESSION_RECORDINGS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSION_RECORDINGS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSION_RECORDINGS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "download_links",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Download Links"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionRecordingsPage"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "description": "Always ``no-store``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-store"
                }
              },
              "Pragma": {
                "description": "Always ``no-cache``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-cache"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/session/sessions/{session_id}/lifecycle-commands": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Stop, pause or resume a session",
        "description": "Records the new desired state (202). An administrator may resume a session from any state; the reconciler converges whatever it finds.",
        "operationId": "admin.session.sessions.lifecycleCommands.create",
        "security": [
          {
            "kasmBearer": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LifecycleCommandRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionCommandAccepted"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/session/session-deletions": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Delete every session on a server",
        "description": "Records desired state DELETED for each session on ``server_id`` (202). A session whose delete is refused is logged and left out of the response.",
        "operationId": "admin.session.sessionDeletions.create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionDeletionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteAgentSessionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "SESSIONS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_DELETE"
            ]
          }
        ]
      }
    },
    "/api/admin/session/history-entries": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List session history entries",
        "description": "Recording download links, when requested, are pre-signed URLs.",
        "operationId": "admin.session.historyEntries.list",
        "security": [
          {
            "kasmBearer": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSIONS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSIONS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "account_id",
                    "cast_link_id",
                    "container_id",
                    "container_ip",
                    "created_date",
                    "destroy_reason",
                    "destroyed_date",
                    "docker_network",
                    "image_friendly_name",
                    "image_id",
                    "image_name",
                    "image_src",
                    "is_anonymous",
                    "server_hostname",
                    "server_id",
                    "session_id",
                    "session_recordings",
                    "staging_config_id",
                    "start_date",
                    "usage_hours",
                    "user_id",
                    "user_ip",
                    "user_name",
                    "zone_id",
                    "zone_name"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "title": "Filter"
            }
          },
          {
            "name": "or_filter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "title": "Or Filter"
            }
          },
          {
            "name": "download_links",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Download Links"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_SessionHistoryEntry_"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "description": "Always ``no-store``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-store"
                }
              },
              "Pragma": {
                "description": "Always ``no-cache``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-cache"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/session/recordings": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List the recordings of several sessions",
        "description": "``?session_id=a&session_id=b``. Refused (400) when ``download_links=true`` but recording object storage credentials are not configured. Download links are pre-signed URLs; the response is never cached.",
        "operationId": "admin.session.recordings.list",
        "security": [
          {
            "kasmBearer": [
              "SESSION_RECORDINGS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "SESSION_RECORDINGS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "SESSION_RECORDINGS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              },
              "minItems": 1,
              "maxItems": 200,
              "title": "Session Id"
            }
          },
          {
            "name": "download_links",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Download Links"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecordingsBySessionResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "description": "Always ``no-store``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-store"
                }
              },
              "Pragma": {
                "description": "Always ``no-cache``.",
                "required": true,
                "schema": {
                  "type": "string",
                  "const": "no-cache"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/admin/session/cast-links": {
      "get": {
        "tags": [
          "Casting"
        ],
        "summary": "List cast links",
        "operationId": "admin.session.castLinks.list",
        "security": [
          {
            "kasmBearer": [
              "CASTING_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CASTING_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "CASTING_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "allow_anonymous",
                    "allow_resume",
                    "cast_link_id",
                    "casting_config_name",
                    "disable_control_panel",
                    "disable_fixed_res",
                    "disable_tips",
                    "dynamic_docker_network",
                    "dynamic_kasm_url",
                    "enable_sharing",
                    "enabled",
                    "enforce_client_settings",
                    "error_url",
                    "group_id",
                    "group_name",
                    "image_friendly_name",
                    "image_id",
                    "ip_request_limit",
                    "ip_request_seconds",
                    "kasm_url",
                    "launcher_background_url",
                    "limit_ips",
                    "limit_sessions",
                    "require_recaptcha",
                    "session_remaining",
                    "state",
                    "valid_until"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/CastLinkState"
                },
                {
                  "type": "null"
                }
              ],
              "title": "State"
            }
          },
          {
            "name": "image_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Image Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CastLinkList"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Casting"
        ],
        "summary": "Create a cast link",
        "operationId": "admin.session.castLinks.create",
        "security": [
          {
            "kasmBearer": [
              "CASTING_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CASTING_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "CASTING_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCastLinkRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CastLinkSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/session/cast-links/{cast_link_id}": {
      "get": {
        "tags": [
          "Casting"
        ],
        "summary": "Get a cast link",
        "operationId": "admin.session.castLinks.get",
        "security": [
          {
            "kasmBearer": [
              "CASTING_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CASTING_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "CASTING_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "cast_link_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Cast Link Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CastLinkSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Casting"
        ],
        "summary": "Update a cast link",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.session.castLinks.patch",
        "security": [
          {
            "kasmBearer": [
              "CASTING_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CASTING_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "CASTING_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "cast_link_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Cast Link Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCastLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CastLinkSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Casting"
        ],
        "summary": "Delete a cast link",
        "operationId": "admin.session.castLinks.delete",
        "security": [
          {
            "kasmBearer": [
              "CASTING_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CASTING_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "CASTING_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "cast_link_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Cast Link Id"
            }
          },
          {
            "name": "delete_anonymous_users",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Delete Anonymous Users"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/session/cast-links/{cast_link_id}/key-rotations": {
      "post": {
        "tags": [
          "Casting"
        ],
        "summary": "Rotate the key of a cast link",
        "description": "The previous key stops working immediately; claims presenting it are refused.",
        "operationId": "admin.session.castLinks.keyRotations.create",
        "security": [
          {
            "kasmBearer": [
              "CASTING_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CASTING_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "CASTING_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "cast_link_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Cast Link Id"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CastLinkKeyRotation"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/session/cast-links/{cast_link_id}/claims": {
      "get": {
        "tags": [
          "Casting"
        ],
        "summary": "List the claims made against a cast link",
        "operationId": "admin.session.castLinks.claims.list",
        "security": [
          {
            "kasmBearer": [
              "CASTING_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "CASTING_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "CASTING_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "cast_link_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Cast Link Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "description": "Zero-based page index: `0` is the first page.",
              "default": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "default": 50,
              "title": "Page Size"
            }
          },
          {
            "name": "outcome",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/CastClaimOutcome"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Outcome"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CastClaimsPage"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      }
    },
    "/api/telemetry/traces": {
      "post": {
        "tags": [
          "Telemetry"
        ],
        "summary": "Ingest browser OTLP/JSON traces",
        "operationId": "telemetry.traces.ingest",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TracesPayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": []
          },
          {
            "kasmApiKeyBasic": []
          },
          {
            "kasmSessionToken": []
          }
        ]
      }
    },
    "/api/telemetry/logs": {
      "post": {
        "tags": [
          "Telemetry"
        ],
        "summary": "Ingest browser OTLP/JSON logs",
        "operationId": "telemetry.logs.ingest",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LogsPayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": []
          },
          {
            "kasmApiKeyBasic": []
          },
          {
            "kasmSessionToken": []
          }
        ]
      }
    },
    "/api/telemetry/metrics": {
      "post": {
        "tags": [
          "Telemetry"
        ],
        "summary": "Ingest browser OTLP/JSON metrics",
        "operationId": "telemetry.metrics.ingest",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetricsPayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": []
          },
          {
            "kasmApiKeyBasic": []
          },
          {
            "kasmSessionToken": []
          }
        ]
      }
    },
    "/api/admin/tenant/licenses": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List licenses (paginated, filtered)",
        "operationId": "admin.tenant.licenses.list",
        "security": [
          {
            "kasmBearer": [
              "LICENSES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "LICENSES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "LICENSES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Zero-based page index: `0` is the first page.",
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "is_entitlement_valid",
                    "is_license_valid",
                    "last_egress_plugin_checkin",
                    "license_id",
                    "next_egress_plugin_checkin"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Sort Direction"
            }
          },
          {
            "name": "is_license_valid",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is License Valid"
            }
          },
          {
            "name": "is_entitlement_valid",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Entitlement Valid"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_LicenseSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Register a license, by signed key or activation",
        "operationId": "admin.tenant.licenses.create",
        "security": [
          {
            "kasmBearer": [
              "LICENSES_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "LICENSES_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "LICENSES_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLicenseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/tenant/licenses/{license_id}": {
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a license",
        "operationId": "admin.tenant.licenses.delete",
        "security": [
          {
            "kasmBearer": [
              "LICENSES_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "LICENSES_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "LICENSES_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "license_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "License Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/tenant/license-status": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Effective license status for the current deployment",
        "operationId": "tenant.licenseStatus.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseStatus"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ],
        "x-allow-readonly-api-key": true
      }
    },
    "/api/tenant/subscription": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Stripe billing configuration and current subscription",
        "operationId": "tenant.subscription.get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "kasmBearer": [
              "USER"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "USER"
            ]
          },
          {
            "kasmSessionToken": [
              "USER"
            ]
          }
        ]
      }
    },
    "/api/admin/tenant/companies": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List companies (paginated, filtered)",
        "operationId": "admin.tenant.companies.list",
        "security": [
          {
            "kasmBearer": [
              "COMPANIES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "COMPANIES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "COMPANIES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "city",
                "company_id",
                "company_name",
                "country",
                "created",
                "street",
                "zip"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "company_name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Company Name"
            }
          },
          {
            "name": "city",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "City"
            }
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Country"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_CompanySummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a company",
        "operationId": "admin.tenant.companies.create",
        "security": [
          {
            "kasmBearer": [
              "COMPANIES_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "COMPANIES_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "COMPANIES_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCompanyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/tenant/companies/{company_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single company by id",
        "operationId": "admin.tenant.companies.get",
        "security": [
          {
            "kasmBearer": [
              "COMPANIES_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "COMPANIES_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "COMPANIES_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Company Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanySummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a company",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.tenant.companies.patch",
        "security": [
          {
            "kasmBearer": [
              "COMPANIES_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "COMPANIES_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "COMPANIES_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Company Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCompanyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanySummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a company",
        "operationId": "admin.tenant.companies.delete",
        "security": [
          {
            "kasmBearer": [
              "COMPANIES_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "COMPANIES_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "COMPANIES_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Company Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/tenant/branding-configs": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "List branding configs (paginated, filtered)",
        "operationId": "admin.tenant.brandingConfigs.list",
        "security": [
          {
            "kasmBearer": [
              "BRANDINGS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "BRANDINGS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "BRANDINGS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "description": "Zero-based page index: `0` is the first page.",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": 0,
              "title": "Page"
            },
            "description": "Zero-based page index: `0` is the first page."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "title": "Page Size"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "branding_config_id",
                "dashboard_logo_url",
                "destroying_session_text",
                "favicon_logo_url",
                "header_logo_url",
                "hostname",
                "html_title",
                "is_default",
                "joining_session_text",
                "launcher_background_url",
                "loading_session_text",
                "login_caption",
                "login_logo_url",
                "login_splash_url",
                "name",
                "username_input_label"
              ],
              "title": "Sort By"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "title": "Sort Direction"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Name"
            }
          },
          {
            "name": "hostname",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Hostname"
            }
          },
          {
            "name": "is_default",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "title": "Is Default"
            }
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Search Term"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponse_BrandingConfigSummary_"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Create a branding config",
        "operationId": "admin.tenant.brandingConfigs.create",
        "security": [
          {
            "kasmBearer": [
              "BRANDINGS_CREATE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "BRANDINGS_CREATE"
            ]
          },
          {
            "kasmSessionToken": [
              "BRANDINGS_CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBrandingConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "branding"
        ]
      }
    },
    "/api/admin/tenant/branding-configs/{branding_config_id}": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Get a single branding config by id",
        "operationId": "admin.tenant.brandingConfigs.get",
        "security": [
          {
            "kasmBearer": [
              "BRANDINGS_VIEW"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "BRANDINGS_VIEW"
            ]
          },
          {
            "kasmSessionToken": [
              "BRANDINGS_VIEW"
            ]
          }
        ],
        "parameters": [
          {
            "name": "branding_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Branding Config Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingConfigSummary"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-allow-readonly-api-key": true
      },
      "patch": {
        "tags": [
          "Admin"
        ],
        "summary": "Update a branding config",
        "description": "Partial update. A field omitted from the body is left unchanged. A field sent as null is cleared if the request schema marks it nullable; null on any other field is rejected with 422.",
        "operationId": "admin.tenant.brandingConfigs.patch",
        "security": [
          {
            "kasmBearer": [
              "BRANDINGS_MODIFY"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "BRANDINGS_MODIFY"
            ]
          },
          {
            "kasmSessionToken": [
              "BRANDINGS_MODIFY"
            ]
          }
        ],
        "parameters": [
          {
            "name": "branding_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Branding Config Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBrandingConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandingConfigSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-required-license": [
          "branding"
        ]
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Delete a branding config",
        "operationId": "admin.tenant.brandingConfigs.delete",
        "security": [
          {
            "kasmBearer": [
              "BRANDINGS_DELETE"
            ]
          },
          {
            "kasmApiKeyBasic": [
              "BRANDINGS_DELETE"
            ]
          },
          {
            "kasmSessionToken": [
              "BRANDINGS_DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "name": "branding_config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Branding Config Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Invalid credentials",
            "headers": {
              "WWW-Authenticate": {
                "description": "Authentication scheme the client should use.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"kasm\""
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions or required feature not licensed",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountingSummary": {
        "properties": {
          "account_id": {
            "type": "string",
            "format": "uuid",
            "title": "Account Id"
          },
          "session_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "user_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Name"
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "image_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Name"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          },
          "image_friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Friendly Name"
          },
          "start_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Date"
          },
          "created_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created Date"
          },
          "destroyed_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Destroyed Date"
          },
          "destroy_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Destroy Reason"
          },
          "group_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Ids"
          },
          "usage_hours": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Usage Hours"
          },
          "user_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Ip"
          },
          "cast_link_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cast Link Id"
          },
          "staging_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Staging Config Id"
          },
          "zone_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Id"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "server_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Id"
          },
          "server_hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Hostname"
          },
          "docker_network": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Network"
          },
          "is_queued": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Queued"
          },
          "container_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Container Ip"
          },
          "container_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Container Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "account_id"
        ],
        "title": "AccountingSummary",
        "description": "One session accounting record."
      },
      "ActiveDirectorySettings": {
        "properties": {
          "ldap_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ldap Id",
            "description": "LDAP configuration used to create the AD computer record. It need not be enabled for end-user authentication — a separate LDAP config can be used purely for AD record creation. Must use an SSL-secured LDAPS connection."
          },
          "ad_recursive_machine_record_cleanup": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ad Recursive Machine Record Cleanup",
            "description": "When true, deletes the AD computer record with a subtree (recursive) delete, removing any child objects under it; when false, a record with children fails to delete."
          },
          "ad_computer_container_dn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ad Computer Container Dn",
            "description": "Distinguished name of the Active Directory OU where new computer records are created."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ActiveDirectorySettings",
        "description": "``active_directory_settings`` — populated when ``ad_create_machine_record``\nis true; null otherwise."
      },
      "ActiveDirectorySettingsCreate": {
        "properties": {
          "ldap_id": {
            "type": "string",
            "format": "uuid",
            "title": "Ldap Id",
            "description": "LDAP configuration used to create the AD computer record. It need not be enabled for end-user authentication — a separate LDAP config can be used purely for AD record creation. Must use an SSL-secured LDAPS connection."
          },
          "ad_recursive_machine_record_cleanup": {
            "type": "boolean",
            "title": "Ad Recursive Machine Record Cleanup",
            "description": "When true, deletes the AD computer record with a subtree (recursive) delete, removing any child objects under it; when false, a record with children fails to delete."
          },
          "ad_computer_container_dn": {
            "type": "string",
            "title": "Ad Computer Container Dn",
            "description": "Distinguished name of the Active Directory OU where new computer records are created."
          }
        },
        "type": "object",
        "required": [
          "ldap_id",
          "ad_recursive_machine_record_cleanup",
          "ad_computer_container_dn"
        ],
        "title": "ActiveDirectorySettingsCreate",
        "description": "``active_directory_settings`` on create — required when\n``ad_create_machine_record`` is true; every field required within the\nblock once it's supplied at all."
      },
      "ActiveDirectorySettingsUpdate": {
        "properties": {
          "ldap_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ldap Id",
            "description": "LDAP configuration used to create the AD computer record. Omit to leave unchanged."
          },
          "ad_recursive_machine_record_cleanup": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ad Recursive Machine Record Cleanup",
            "description": "When true, deletes the AD computer record with a subtree (recursive) delete. Omit to leave unchanged."
          },
          "ad_computer_container_dn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ad Computer Container Dn",
            "description": "Distinguished name of the Active Directory OU where new computer records are created. Omit to leave unchanged."
          }
        },
        "type": "object",
        "title": "ActiveDirectorySettingsUpdate",
        "description": "``active_directory_settings`` on update — every field optional.\n\nOnly meaningful when the *effective* ``ad_create_machine_record`` (this\npatch's, if supplied, else the stored row's) is true. The merged-state\nrequirement that all three fields end up non-null when\n``ad_create_machine_record`` is true applies here too, since a patch may\nonly supply part of the block."
      },
      "ActiveUsersTimeSeries": {
        "properties": {
          "labels": {
            "items": {
              "type": "string",
              "format": "date-time"
            },
            "type": "array",
            "title": "Labels"
          },
          "users": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Users"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "labels",
          "users"
        ],
        "title": "ActiveUsersTimeSeries"
      },
      "AdUserManagementConfigSummary": {
        "properties": {
          "ad_user_mgmt_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Ad User Mgmt Config Id"
          },
          "ldap_id": {
            "type": "string",
            "format": "uuid",
            "title": "Ldap Id"
          },
          "saml_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Saml Id"
          },
          "oidc_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oidc Id"
          },
          "local_accounts": {
            "type": "boolean",
            "title": "Local Accounts"
          },
          "enable_random_password_on_login": {
            "type": "boolean",
            "title": "Enable Random Password On Login"
          },
          "enable_create_user": {
            "type": "boolean",
            "title": "Enable Create User"
          },
          "enable_ad_group_management": {
            "type": "boolean",
            "title": "Enable Ad Group Management"
          },
          "password_len": {
            "type": "integer",
            "title": "Password Len"
          },
          "user_container_dn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Container Dn"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "ad_user_mgmt_config_id",
          "ldap_id",
          "local_accounts",
          "enable_random_password_on_login",
          "enable_create_user",
          "enable_ad_group_management",
          "password_len"
        ],
        "title": "AdUserManagementConfigSummary",
        "description": "One AD user-management sync config (an\n``active_directory_user_management_configs`` row) -- maps local/SAML/OIDC\naccounts to an LDAP config for account lifecycle management (e.g. random\npassword rotation on login)."
      },
      "AddGroupImageRequest": {
        "properties": {
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          }
        },
        "type": "object",
        "required": [
          "image_id"
        ],
        "title": "AddGroupImageRequest"
      },
      "AddGroupMemberRequest": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          }
        },
        "type": "object",
        "required": [
          "user_id"
        ],
        "title": "AddGroupMemberRequest"
      },
      "AdminSessionListResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/AdminSessionSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          },
          "current_time": {
            "type": "string",
            "format": "date-time",
            "title": "Current Time"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size",
          "current_time"
        ],
        "title": "AdminSessionListResponse",
        "description": "``GET /api/admin/session/sessions``."
      },
      "AdminSessionSummary": {
        "properties": {
          "desired_state": {
            "type": "string",
            "title": "Desired State"
          },
          "observed_state": {
            "type": "string",
            "title": "Observed State"
          },
          "command_revision": {
            "type": "integer",
            "title": "Command Revision"
          },
          "progress_message": {
            "type": "string",
            "title": "Progress Message",
            "default": ""
          },
          "progress_percent": {
            "type": "integer",
            "title": "Progress Percent",
            "default": 0
          },
          "operational_status": {
            "type": "string",
            "title": "Operational Status"
          },
          "operational_message": {
            "type": "string",
            "title": "Operational Message",
            "default": ""
          },
          "operational_progress": {
            "type": "integer",
            "title": "Operational Progress"
          },
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "image": {
            "$ref": "#/components/schemas/SessionImageRef"
          },
          "server_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Id"
          },
          "host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Host"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Port"
          },
          "port_map": {
            "additionalProperties": {
              "$ref": "#/components/schemas/SessionPortMapEntry"
            },
            "type": "object",
            "title": "Port Map"
          },
          "container_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Container Id"
          },
          "container_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Container Ip"
          },
          "cores": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cores"
          },
          "gpus": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpus"
          },
          "memory_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory Bytes"
          },
          "created_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created Date"
          },
          "start_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Date"
          },
          "keepalive_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Keepalive Date"
          },
          "expiration_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiration Date"
          },
          "share_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Share Id"
          },
          "cast_link_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cast Link Id"
          },
          "staging_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Staging Config Id"
          },
          "autoscale_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Autoscale Config Id"
          },
          "connection_proxy_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Proxy Id"
          },
          "egress_gateway_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway Id"
          },
          "egress_credential_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Credential Id"
          },
          "egress_provider_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Provider Id"
          },
          "egress_provider_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Provider Name"
          },
          "egress_gateway_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway Name"
          },
          "egress_gateway_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway Country"
          },
          "egress_gateway_city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway City"
          },
          "docker_network": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Network"
          },
          "is_standby": {
            "type": "boolean",
            "title": "Is Standby",
            "default": false
          },
          "rdp_client_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rdp Client Type"
          },
          "is_persistent_profile": {
            "type": "boolean",
            "title": "Is Persistent Profile",
            "default": false
          },
          "persistent_profile_mode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Persistent Profile Mode"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "border": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BannerConfig"
              },
              {
                "type": "null"
              }
            ]
          },
          "client_settings": {
            "additionalProperties": true,
            "type": "object",
            "title": "Client Settings"
          },
          "agent_installed": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Agent Installed"
          },
          "user": {
            "$ref": "#/components/schemas/SessionUserRef"
          },
          "server": {
            "$ref": "#/components/schemas/SessionServerRef"
          },
          "egress_gateway": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway"
          },
          "egress_credential": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Credential"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "desired_state",
          "observed_state",
          "command_revision",
          "operational_status",
          "operational_progress",
          "session_id",
          "image",
          "user",
          "server"
        ],
        "title": "AdminSessionSummary",
        "description": "A session as an administrator sees it: the owner's view plus owner and\nhost blocks, and the egress gateway/credential summaries the caller is\npermitted to see (secrets never included)."
      },
      "AgentReportRow": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "server_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Id"
          },
          "disk_space": {
            "type": "number",
            "title": "Disk Space"
          },
          "disk_space_used": {
            "type": "number",
            "title": "Disk Space Used"
          },
          "disk_space_free": {
            "type": "number",
            "title": "Disk Space Free"
          },
          "memory_total": {
            "type": "number",
            "title": "Memory Total"
          },
          "memory_used": {
            "type": "number",
            "title": "Memory Used"
          },
          "memory_free": {
            "type": "number",
            "title": "Memory Free"
          },
          "sessions": {
            "type": "integer",
            "title": "Sessions"
          },
          "health": {
            "type": "string",
            "title": "Health"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name",
          "server_id",
          "disk_space",
          "disk_space_used",
          "disk_space_free",
          "memory_total",
          "memory_used",
          "memory_free",
          "sessions",
          "health"
        ],
        "title": "AgentReportRow"
      },
      "AgentUtilizationTimeSeries": {
        "properties": {
          "labels": {
            "items": {
              "type": "string",
              "format": "date-time"
            },
            "type": "array",
            "title": "Labels"
          },
          "avg_cpu_percent": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Avg Cpu Percent"
          },
          "max_cpu_percent": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Max Cpu Percent"
          },
          "avg_memory_percent": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Avg Memory Percent"
          },
          "max_memory_percent": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Max Memory Percent"
          },
          "avg_disk_percent": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Avg Disk Percent"
          },
          "avg_gpu_percent": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Avg Gpu Percent"
          },
          "max_gpu_percent": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Max Gpu Percent"
          },
          "avg_gpu_temp": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Avg Gpu Temp"
          },
          "max_gpu_temp": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Max Gpu Temp"
          },
          "avg_gpu_memory_percent": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Avg Gpu Memory Percent"
          },
          "max_gpu_memory_percent": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Max Gpu Memory Percent"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "labels",
          "avg_cpu_percent",
          "max_cpu_percent",
          "avg_memory_percent",
          "max_memory_percent",
          "avg_disk_percent",
          "avg_gpu_percent",
          "max_gpu_percent",
          "avg_gpu_temp",
          "max_gpu_temp",
          "avg_gpu_memory_percent",
          "max_gpu_memory_percent"
        ],
        "title": "AgentUtilizationTimeSeries",
        "description": "Per-bucket agent resource utilization; series names match the\n``_agent_resource_utilization`` query columns (percentages, °C for temp)."
      },
      "ApiConfigCreated": {
        "properties": {
          "api_id": {
            "type": "string",
            "format": "uuid",
            "title": "Api Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "api_key": {
            "type": "string",
            "title": "Api Key"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "read_only": {
            "type": "boolean",
            "title": "Read Only"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "last_used": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Used"
          },
          "expires": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires"
          },
          "api_key_secret": {
            "type": "string",
            "title": "Api Key Secret"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "api_id",
          "name",
          "api_key",
          "enabled",
          "read_only",
          "created",
          "last_used",
          "expires",
          "api_key_secret"
        ],
        "title": "ApiConfigCreated",
        "description": "Create response: the summary plus the one-time secret."
      },
      "ApiConfigPermissionGrant": {
        "properties": {
          "group_permission_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Permission Id"
          },
          "api_id": {
            "type": "string",
            "format": "uuid",
            "title": "Api Id"
          },
          "permission_name": {
            "type": "string",
            "title": "Permission Name",
            "description": "Stable permission identifier, matching PermissionDefinition.name."
          },
          "permission_friendly_name": {
            "type": "string",
            "title": "Permission Friendly Name",
            "description": "Display name, matching PermissionDefinition.friendly_name."
          },
          "permission_description": {
            "type": "string",
            "title": "Permission Description"
          },
          "permission_id": {
            "type": "integer",
            "title": "Permission Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "group_permission_id",
          "api_id",
          "permission_name",
          "permission_friendly_name",
          "permission_description",
          "permission_id"
        ],
        "title": "ApiConfigPermissionGrant",
        "description": "One permission granted to a developer API key config. The same shape as ``PermissionGrant``,\nwith ``api_id`` in place of ``group_id``."
      },
      "ApiConfigSummary": {
        "properties": {
          "api_id": {
            "type": "string",
            "format": "uuid",
            "title": "Api Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "api_key": {
            "type": "string",
            "title": "Api Key"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "read_only": {
            "type": "boolean",
            "title": "Read Only"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "last_used": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Used"
          },
          "expires": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "api_id",
          "name",
          "api_key",
          "enabled",
          "read_only",
          "created",
          "last_used",
          "expires"
        ],
        "title": "ApiConfigSummary",
        "description": "One developer API key config (``Api`` ORM ``@Jsonable`` field set)."
      },
      "ApiInstanceServerRef": {
        "properties": {
          "server_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Id"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_id"
        ],
        "title": "ApiInstanceServerRef",
        "description": "A server attached to an API instance."
      },
      "ApiInstanceSummary": {
        "properties": {
          "manager_id": {
            "type": "string",
            "format": "uuid",
            "title": "Manager Id"
          },
          "manager_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manager Version"
          },
          "manager_hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manager Hostname"
          },
          "first_reported": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Reported"
          },
          "last_reported": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Reported"
          },
          "last_reported_elapsed": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Reported Elapsed"
          },
          "last_reported_seconds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Reported Seconds"
          },
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "operational_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Operational Status"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "cores": {
            "type": "integer",
            "title": "Cores"
          },
          "cpu_percent": {
            "type": "number",
            "title": "Cpu Percent"
          },
          "memory_stats": {
            "additionalProperties": true,
            "type": "object",
            "title": "Memory Stats"
          },
          "disk_stats": {
            "additionalProperties": true,
            "type": "object",
            "title": "Disk Stats"
          },
          "gpu_percent": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Percent"
          },
          "gpu_memory_used_percent": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Memory Used Percent"
          },
          "gpu_temp": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Temp"
          },
          "servers": {
            "items": {
              "$ref": "#/components/schemas/ApiInstanceServerRef"
            },
            "type": "array",
            "title": "Servers"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "manager_id",
          "zone_id",
          "enabled",
          "cores",
          "cpu_percent"
        ],
        "title": "ApiInstanceSummary",
        "description": "One API instance, as returned by the list and patch endpoints."
      },
      "AssignPhysicalTokenRequest": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          }
        },
        "type": "object",
        "required": [
          "user_id"
        ],
        "title": "AssignPhysicalTokenRequest",
        "description": "Body for ``POST .../physical-tokens/{serial_number}/assign``."
      },
      "AssignServerUserRequest": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          }
        },
        "type": "object",
        "required": [
          "user_id"
        ],
        "title": "AssignServerUserRequest"
      },
      "AssignedServerRef": {
        "properties": {
          "server_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Id"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "hostname": {
            "type": "string",
            "title": "Hostname"
          },
          "port": {
            "type": "integer",
            "title": "Port"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_id",
          "hostname",
          "port"
        ],
        "title": "AssignedServerRef",
        "description": "Inline server reference for server-pool-assigned images."
      },
      "AutoscaleConfigRef": {
        "properties": {
          "autoscale_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Autoscale Config Id"
          },
          "autoscale_config_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Autoscale Config Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "autoscale_config_id"
        ],
        "title": "AutoscaleConfigRef"
      },
      "AutoscaleConfigSummary": {
        "properties": {
          "autoscale_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Autoscale Config Id"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Whether this config is active. Disabling it stops AutoScaling and blocks manual deletion of servers/agents it created, until it is re-enabled."
          },
          "autoscale_config_name": {
            "type": "string",
            "title": "Autoscale Config Name",
            "description": "Display name for the AutoScale config."
          },
          "autoscale_type": {
            "type": "string",
            "title": "Autoscale Type",
            "description": "Whether this config provisions \"DOCKER_AGENT\" or \"SERVER_POOL\" capacity."
          },
          "downscale_backoff": {
            "type": "integer",
            "title": "Downscale Backoff",
            "description": "Seconds to wait after downscaling (deleting an agent/server) before downscaling again, to prevent thrashing when available resources hover near a scaling threshold."
          },
          "last_provision": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Provision",
            "description": "Timestamp of the most recent scale-up provisioning action."
          },
          "request_downscale_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Request Downscale At",
            "description": "Timestamp after which the config is eligible to scale down again — the last downscale time plus `downscale_backoff`."
          },
          "azure_dns_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Dns Config Id"
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id",
            "description": "Pool this config is attached to; determines whether provisioned capacity is treated as `DOCKER_AGENT` or `SERVER_POOL`."
          },
          "vm_provider_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Provider Config Id",
            "description": "VM provider configuration used to provision compute for this config."
          },
          "dns_provider_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dns Provider Config Id",
            "description": "DNS provider configuration used for agent DNS registration when `register_dns` is enabled."
          },
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id",
            "description": "Deployment zone this config provisions into."
          },
          "rotate_servers_in_days": {
            "type": "integer",
            "title": "Rotate Servers In Days",
            "description": "Days until an AutoScaled agent/server is drained and replaced. `0` disables rotation. Not retroactive — existing agents/servers must be updated manually to pick up a change."
          },
          "rotate_servers_pre_warm_minutes": {
            "type": "integer",
            "title": "Rotate Servers Pre Warm Minutes",
            "description": "Minutes before an agent/server's drain time that Kasm begins provisioning its replacement. `0` disables pre-warming."
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name",
            "description": "Name of the zone `zone_id` refers to."
          },
          "vm_provider_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/VmProviderConfigSummary"
              },
              {
                "type": "null"
              }
            ],
            "description": "Summary of the VM provider config `vm_provider_config_id` refers to."
          },
          "server_pool": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ServerPoolSummary"
              },
              {
                "type": "null"
              }
            ],
            "description": "Summary of the pool `server_pool_id` refers to."
          },
          "dns_provider_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DnsProviderSummary"
              },
              {
                "type": "null"
              }
            ],
            "description": "Summary of the DNS provider config `dns_provider_config_id` refers to."
          },
          "docker_agent_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DockerAgentSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Populated when `autoscale_type` is \"DOCKER_AGENT\"; null otherwise."
          },
          "server_pool_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ServerPoolSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Populated when `autoscale_type` is \"SERVER_POOL\"; null otherwise."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "autoscale_config_id",
          "enabled",
          "autoscale_config_name",
          "autoscale_type",
          "downscale_backoff",
          "last_provision",
          "request_downscale_at",
          "zone_id",
          "rotate_servers_in_days",
          "rotate_servers_pre_warm_minutes"
        ],
        "title": "AutoscaleConfigSummary",
        "description": "One autoscale configuration, as returned by both read endpoints."
      },
      "AutoscaleImportEnabledMode": {
        "type": "string",
        "enum": [
          "disabled",
          "preserve"
        ],
        "title": "AutoscaleImportEnabledMode",
        "description": "What happens to the ``enabled`` flag on imported AutoScale configs."
      },
      "AutoscaleType": {
        "type": "string",
        "enum": [
          "DOCKER_AGENT",
          "SERVER_POOL"
        ],
        "title": "AutoscaleType"
      },
      "AutoscaledServerCounts": {
        "properties": {
          "agents": {
            "type": "integer",
            "title": "Agents",
            "description": "AutoScale-provisioned Agents on this deployment.",
            "default": 0
          },
          "servers": {
            "type": "integer",
            "title": "Servers",
            "description": "AutoScale-provisioned Servers on this deployment.",
            "default": 0
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "AutoscaledServerCounts",
        "description": "AutoScale-provisioned resources a deployment-config import replaces."
      },
      "AwsDnsProvider": {
        "properties": {
          "dns_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Dns Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "dns_provider_display_name": {
            "type": "string",
            "title": "Dns Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "dns_provider_config_name": {
            "type": "string",
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `dns_provider_config_name`; same value."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "AWS",
            "title": "Dns Provider Name"
          },
          "aws_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Access Key Id",
            "description": "AWS access key used to authenticate to the EC2 API."
          },
          "aws_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Secret Access Key",
            "description": "AWS secret access key used to authenticate to the EC2 API."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "dns_provider_config_id",
          "dns_provider_display_name",
          "dns_provider_config_name",
          "config_name",
          "dns_provider_name"
        ],
        "title": "AwsDnsProvider",
        "description": "`GET` response for an AWS DNS provider."
      },
      "AwsDnsProviderCreate": {
        "properties": {
          "dns_provider_config_name": {
            "type": "string",
            "minLength": 1,
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "AWS",
            "title": "Dns Provider Name"
          },
          "aws_access_key_id": {
            "type": "string",
            "minLength": 1,
            "title": "Aws Access Key Id",
            "description": "AWS access key used to authenticate to the EC2 API."
          },
          "aws_secret_access_key": {
            "type": "string",
            "minLength": 1,
            "title": "Aws Secret Access Key",
            "description": "AWS secret access key used to authenticate to the EC2 API."
          }
        },
        "type": "object",
        "required": [
          "dns_provider_config_name",
          "dns_provider_name",
          "aws_access_key_id",
          "aws_secret_access_key"
        ],
        "title": "AwsDnsProviderCreate",
        "description": "`POST` body for an AWS DNS provider."
      },
      "AwsDnsProviderUpdate": {
        "properties": {
          "dns_provider_config_name": {
            "type": "string",
            "minLength": 1,
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "AWS",
            "title": "Dns Provider Name"
          },
          "aws_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Access Key Id",
            "description": "AWS access key used to authenticate to the EC2 API."
          },
          "aws_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Secret Access Key",
            "description": "AWS secret access key used to authenticate to the EC2 API."
          }
        },
        "type": "object",
        "required": [
          "dns_provider_name"
        ],
        "title": "AwsDnsProviderUpdate",
        "description": "`PATCH` body for an AWS DNS provider. Every field optional."
      },
      "AwsVmConfig": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `vm_provider_config_name`; same value."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "AWS",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "aws_ec2_instance_type": {
            "type": "string",
            "title": "Aws Ec2 Instance Type",
            "description": "EC2 instance type to launch, e.g. `t3.micro`."
          },
          "aws_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Region",
            "description": "AWS region EC2 instances are provisioned in, e.g. `us-east-1`."
          },
          "aws_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Access Key Id",
            "description": "AWS access key used to authenticate to the EC2 API."
          },
          "aws_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Secret Access Key",
            "description": "AWS secret access key used to authenticate to the EC2 API."
          },
          "aws_ec2_ami_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Ami Id",
            "description": "AMI ID to launch EC2 instances from. Must be an OS supported by the Kasm installer."
          },
          "aws_ec2_security_group_ids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Aws Ec2 Security Group Ids",
            "description": "Security group IDs to assign to the EC2 instances."
          },
          "aws_ec2_subnet_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Subnet Id",
            "description": "Subnet ID to place the EC2 instances in."
          },
          "aws_ec2_iam": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Iam",
            "description": "IAM role/instance profile to assign to the EC2 instances, e.g. for CloudWatch access."
          },
          "aws_ec2_ebs_volume_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Ebs Volume Type",
            "description": "EBS volume type for the root volume, e.g. `gp2`."
          },
          "aws_ec2_ebs_volume_size_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Ebs Volume Size Bytes",
            "description": "Root EBS volume size, in bytes, in whole GiB (2^30) increments."
          },
          "aws_ec2_custom_tags": {
            "additionalProperties": true,
            "type": "object",
            "title": "Aws Ec2 Custom Tags",
            "description": "Custom tags to assign to the provisioned EC2 instances."
          },
          "retrieve_password": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Retrieve Password",
            "description": "Retrieve the Windows administrator password AWS generates and store it on the server record, when the autoscale config's connection password is blank. Windows (RDP) instances only."
          },
          "aws_ec2_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Aws Ec2 Config Override",
            "description": "Advanced EC2 `run_instances` configuration overrides, nested under `instance_config`."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_display_name",
          "vm_provider_config_name",
          "config_name",
          "vm_provider_name",
          "aws_ec2_instance_type"
        ],
        "title": "AwsVmConfig",
        "description": "`GET` response for an AWS VM provider config."
      },
      "AwsVmConfigCreate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "AWS",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "aws_ec2_instance_type": {
            "type": "string",
            "title": "Aws Ec2 Instance Type",
            "description": "EC2 instance type to launch, e.g. `t3.micro`."
          },
          "aws_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Region",
            "description": "AWS region EC2 instances are provisioned in, e.g. `us-east-1`."
          },
          "aws_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Access Key Id",
            "description": "AWS access key used to authenticate to the EC2 API."
          },
          "aws_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Secret Access Key",
            "description": "AWS secret access key used to authenticate to the EC2 API."
          },
          "aws_ec2_ami_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Ami Id",
            "description": "AMI ID to launch EC2 instances from. Must be an OS supported by the Kasm installer."
          },
          "aws_ec2_security_group_ids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Aws Ec2 Security Group Ids",
            "description": "Security group IDs to assign to the EC2 instances."
          },
          "aws_ec2_subnet_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Subnet Id",
            "description": "Subnet ID to place the EC2 instances in."
          },
          "aws_ec2_iam": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Iam",
            "description": "IAM role/instance profile to assign to the EC2 instances, e.g. for CloudWatch access."
          },
          "aws_ec2_ebs_volume_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Ebs Volume Type",
            "description": "EBS volume type for the root volume, e.g. `gp2`."
          },
          "aws_ec2_ebs_volume_size_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Ebs Volume Size Bytes",
            "description": "Root EBS volume size, in bytes, in whole GiB (2^30) increments."
          },
          "aws_ec2_custom_tags": {
            "additionalProperties": true,
            "type": "object",
            "title": "Aws Ec2 Custom Tags",
            "description": "Custom tags to assign to the provisioned EC2 instances."
          },
          "retrieve_password": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Retrieve Password",
            "description": "Retrieve the Windows administrator password AWS generates and store it on the server record, when the autoscale config's connection password is blank. Windows (RDP) instances only.",
            "default": false
          },
          "aws_ec2_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Aws Ec2 Config Override",
            "description": "Advanced EC2 `run_instances` configuration overrides, nested under `instance_config`."
          },
          "aws_ec2_private_key": {
            "type": "string",
            "title": "Aws Ec2 Private Key",
            "description": "PEM-encoded SSH private key for EC2 instances. Required: the backing column is `NOT NULL`, and an empty value is a 400. Write-only -- it is never returned. The matching public key is derived server-side and must not be supplied."
          },
          "aws_ec2_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Passphrase",
            "description": "Passphrase protecting `aws_ec2_private_key`, if it is encrypted. Transient: used only to read the key, never stored. Omit it for an unencrypted key."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_config_name",
          "vm_provider_name",
          "aws_ec2_instance_type",
          "aws_ec2_private_key"
        ],
        "title": "AwsVmConfigCreate",
        "description": "`POST` body for an AWS VM provider config."
      },
      "AwsVmConfigUpdate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider. Omit to leave unchanged."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot. Omit to leave unchanged; null clears it."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "AWS",
            "title": "Vm Provider Name"
          },
          "aws_ec2_instance_type": {
            "type": "string",
            "title": "Aws Ec2 Instance Type",
            "description": "EC2 instance type to launch, e.g. `t3.micro`."
          },
          "aws_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Region",
            "description": "AWS region EC2 instances are provisioned in, e.g. `us-east-1`."
          },
          "aws_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Access Key Id",
            "description": "AWS access key used to authenticate to the EC2 API."
          },
          "aws_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Secret Access Key",
            "description": "AWS secret access key used to authenticate to the EC2 API."
          },
          "aws_ec2_ami_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Ami Id",
            "description": "AMI ID to launch EC2 instances from. Must be an OS supported by the Kasm installer."
          },
          "aws_ec2_security_group_ids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Aws Ec2 Security Group Ids",
            "description": "Security group IDs to assign to the EC2 instances."
          },
          "aws_ec2_subnet_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Subnet Id",
            "description": "Subnet ID to place the EC2 instances in."
          },
          "aws_ec2_iam": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Iam",
            "description": "IAM role/instance profile to assign to the EC2 instances, e.g. for CloudWatch access."
          },
          "aws_ec2_ebs_volume_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Ebs Volume Type",
            "description": "EBS volume type for the root volume, e.g. `gp2`."
          },
          "aws_ec2_ebs_volume_size_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Ebs Volume Size Bytes",
            "description": "Root EBS volume size, in bytes, in whole GiB (2^30) increments."
          },
          "aws_ec2_custom_tags": {
            "additionalProperties": true,
            "type": "object",
            "title": "Aws Ec2 Custom Tags",
            "description": "Custom tags to assign to the provisioned EC2 instances."
          },
          "retrieve_password": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Retrieve Password",
            "description": "Retrieve the Windows administrator password AWS generates and store it on the server record, when the autoscale config's connection password is blank. Windows (RDP) instances only."
          },
          "aws_ec2_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Aws Ec2 Config Override",
            "description": "Advanced EC2 `run_instances` configuration overrides, nested under `instance_config`."
          },
          "aws_ec2_private_key": {
            "type": "string",
            "title": "Aws Ec2 Private Key",
            "description": "Replacement PEM-encoded SSH private key. **Omit the field entirely** to leave the stored key alone; supplying one re-derives the stored public key from it. Sending it empty (`\"\"` or whitespace) is a 400 and `null` is a 422 -- the keypair columns are non-nullable, so an empty value is refused rather than ignored."
          },
          "aws_ec2_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Ec2 Passphrase",
            "description": "Passphrase protecting `aws_ec2_private_key`, if it is encrypted. Transient: used only to read the key, never stored. Omit it for an unencrypted key."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_name"
        ],
        "title": "AwsVmConfigUpdate",
        "description": "`PATCH` body for an AWS VM provider config. Every field optional."
      },
      "AzureDnsProvider": {
        "properties": {
          "dns_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Dns Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "dns_provider_display_name": {
            "type": "string",
            "title": "Dns Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "dns_provider_config_name": {
            "type": "string",
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `dns_provider_config_name`; same value."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "AZURE",
            "title": "Dns Provider Name"
          },
          "azure_subscription_id": {
            "type": "string",
            "title": "Azure Subscription Id",
            "description": "Subscription ID of the Azure account the resources are provisioned under."
          },
          "azure_resource_group": {
            "type": "string",
            "title": "Azure Resource Group",
            "description": "Azure resource group the VMs (and DNS zone, if used) belong to."
          },
          "azure_tenant_id": {
            "type": "string",
            "title": "Azure Tenant Id",
            "description": "Tenant ID of the Azure Active Directory (Microsoft Entra ID) account."
          },
          "azure_client_id": {
            "type": "string",
            "title": "Azure Client Id",
            "description": "Client ID of the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_client_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Client Secret",
            "description": "Client secret credential for the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_region": {
            "type": "string",
            "title": "Azure Region",
            "description": "Azure region where the VM agents are provisioned."
          },
          "azure_authority": {
            "type": "string",
            "enum": [
              "AZURE_PUBLIC_CLOUD",
              "AZURE_GOVERNMENT",
              "AZURE_CHINA",
              "AZURE_GERMANY"
            ],
            "title": "Azure Authority",
            "description": "Which Azure cloud authority to authenticate against: public cloud, government, China, or Germany."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "dns_provider_config_id",
          "dns_provider_display_name",
          "dns_provider_config_name",
          "config_name",
          "dns_provider_name",
          "azure_subscription_id",
          "azure_resource_group",
          "azure_tenant_id",
          "azure_client_id",
          "azure_region",
          "azure_authority"
        ],
        "title": "AzureDnsProvider",
        "description": "`GET` response for an Azure DNS provider."
      },
      "AzureDnsProviderCreate": {
        "properties": {
          "dns_provider_config_name": {
            "type": "string",
            "minLength": 1,
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "AZURE",
            "title": "Dns Provider Name"
          },
          "azure_subscription_id": {
            "type": "string",
            "minLength": 1,
            "title": "Azure Subscription Id",
            "description": "Subscription ID of the Azure account the resources are provisioned under."
          },
          "azure_resource_group": {
            "type": "string",
            "minLength": 1,
            "title": "Azure Resource Group",
            "description": "Azure resource group the VMs (and DNS zone, if used) belong to."
          },
          "azure_tenant_id": {
            "type": "string",
            "minLength": 1,
            "title": "Azure Tenant Id",
            "description": "Tenant ID of the Azure Active Directory (Microsoft Entra ID) account."
          },
          "azure_client_id": {
            "type": "string",
            "minLength": 1,
            "title": "Azure Client Id",
            "description": "Client ID of the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_client_secret": {
            "type": "string",
            "minLength": 1,
            "title": "Azure Client Secret",
            "description": "Client secret credential for the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_region": {
            "type": "string",
            "minLength": 1,
            "title": "Azure Region",
            "description": "Azure region where the VM agents are provisioned."
          },
          "azure_authority": {
            "type": "string",
            "enum": [
              "AZURE_PUBLIC_CLOUD",
              "AZURE_GOVERNMENT",
              "AZURE_CHINA",
              "AZURE_GERMANY"
            ],
            "title": "Azure Authority",
            "description": "Which Azure cloud authority to authenticate against: public cloud, government, China, or Germany.",
            "default": "AZURE_PUBLIC_CLOUD"
          }
        },
        "type": "object",
        "required": [
          "dns_provider_config_name",
          "dns_provider_name",
          "azure_subscription_id",
          "azure_resource_group",
          "azure_tenant_id",
          "azure_client_id",
          "azure_client_secret",
          "azure_region"
        ],
        "title": "AzureDnsProviderCreate",
        "description": "`POST` body for an Azure DNS provider."
      },
      "AzureDnsProviderUpdate": {
        "properties": {
          "dns_provider_config_name": {
            "type": "string",
            "minLength": 1,
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "AZURE",
            "title": "Dns Provider Name"
          },
          "azure_subscription_id": {
            "type": "string",
            "title": "Azure Subscription Id",
            "description": "Subscription ID of the Azure account the resources are provisioned under."
          },
          "azure_resource_group": {
            "type": "string",
            "title": "Azure Resource Group",
            "description": "Azure resource group the VMs (and DNS zone, if used) belong to."
          },
          "azure_tenant_id": {
            "type": "string",
            "title": "Azure Tenant Id",
            "description": "Tenant ID of the Azure Active Directory (Microsoft Entra ID) account."
          },
          "azure_client_id": {
            "type": "string",
            "title": "Azure Client Id",
            "description": "Client ID of the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_client_secret": {
            "type": "string",
            "title": "Azure Client Secret",
            "description": "Client secret credential for the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_region": {
            "type": "string",
            "title": "Azure Region",
            "description": "Azure region where the VM agents are provisioned."
          },
          "azure_authority": {
            "type": "string",
            "enum": [
              "AZURE_PUBLIC_CLOUD",
              "AZURE_GOVERNMENT",
              "AZURE_CHINA",
              "AZURE_GERMANY"
            ],
            "title": "Azure Authority",
            "description": "Which Azure cloud authority to authenticate against: public cloud, government, China, or Germany."
          }
        },
        "type": "object",
        "required": [
          "dns_provider_name"
        ],
        "title": "AzureDnsProviderUpdate",
        "description": "`PATCH` body for an Azure DNS provider. Every field optional."
      },
      "AzureVmConfig": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `vm_provider_config_name`; same value."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "AZURE",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "azure_subscription_id": {
            "type": "string",
            "title": "Azure Subscription Id",
            "description": "Subscription ID of the Azure account the resources are provisioned under."
          },
          "azure_resource_group": {
            "type": "string",
            "title": "Azure Resource Group",
            "description": "Azure resource group the VMs (and DNS zone, if used) belong to."
          },
          "azure_tenant_id": {
            "type": "string",
            "title": "Azure Tenant Id",
            "description": "Tenant ID of the Azure Active Directory (Microsoft Entra ID) account."
          },
          "azure_client_id": {
            "type": "string",
            "title": "Azure Client Id",
            "description": "Client ID of the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_client_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Client Secret",
            "description": "Client secret credential for the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_region": {
            "type": "string",
            "title": "Azure Region",
            "description": "Azure region where the VM agents are provisioned."
          },
          "azure_vm_size": {
            "type": "string",
            "title": "Azure Vm Size",
            "description": "Azure VM size (SKU) to provision, e.g. Standard_D2s_v3."
          },
          "azure_os_disk_type": {
            "type": "string",
            "title": "Azure Os Disk Type",
            "description": "Azure disk type to use for the VM's OS disk, e.g. Premium_LRS."
          },
          "azure_image_reference": {
            "additionalProperties": true,
            "type": "object",
            "title": "Azure Image Reference",
            "description": "JSON reference identifying the OS image to provision, either a marketplace publisher/offer/sku/version or a custom gallery image ID."
          },
          "azure_network_sg": {
            "type": "string",
            "title": "Azure Network Sg",
            "description": "Azure network security group to attach to the provisioned VM."
          },
          "azure_subnet": {
            "type": "string",
            "title": "Azure Subnet",
            "description": "Azure subnet the VM's network interface is attached to."
          },
          "azure_os_disk_size_bytes": {
            "type": "integer",
            "title": "Azure Os Disk Size Bytes",
            "description": "Boot disk size for the VM, in bytes; submitted in whole GiB increments."
          },
          "azure_tags": {
            "additionalProperties": true,
            "type": "object",
            "title": "Azure Tags",
            "description": "JSON object of custom tags applied to the provisioned VMs."
          },
          "azure_os_username": {
            "type": "string",
            "title": "Azure Os Username",
            "description": "Login username assigned to the new VM."
          },
          "azure_os_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Os Password",
            "description": "Login password assigned to the new VM; SSH password authentication is disabled by default."
          },
          "azure_ssh_public_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Ssh Public Key",
            "description": "SSH public key installed on the VM for the configured login user."
          },
          "azure_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Azure Config Override",
            "description": "Advanced JSON overrides merged into the Azure VM provisioning request; supports dot notation for nested keys and array indices."
          },
          "azure_public_ip": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Public Ip",
            "description": "Whether to assign the VM a public IP; without one, the subnet needs a load balancer, NAT gateway, or user-defined route for outbound access."
          },
          "azure_authority": {
            "type": "string",
            "enum": [
              "AZURE_PUBLIC_CLOUD",
              "AZURE_GOVERNMENT",
              "AZURE_CHINA",
              "AZURE_GERMANY"
            ],
            "title": "Azure Authority",
            "description": "Which Azure cloud authority to authenticate against: public cloud, government, China, or Germany."
          },
          "azure_is_windows": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Is Windows",
            "description": "Whether the VM being provisioned runs Windows."
          },
          "plan_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Name",
            "description": "Marketplace plan name for the VM image; only needed for marketplace images or images derived from one."
          },
          "plan_product": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Product",
            "description": "Marketplace plan product for the VM image; only needed for marketplace images or images derived from one."
          },
          "plan_publisher": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Publisher",
            "description": "Marketplace plan publisher for the VM image; only needed for marketplace images or images derived from one."
          },
          "security_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Security Type",
            "description": "Security features enabled on the VM, such as Trusted Launch; optional but sometimes required for Windows 10/11."
          },
          "secure_boot_enabled": {
            "type": "boolean",
            "title": "Secure Boot Enabled",
            "description": "Whether Secure Boot is enabled on the VM; disabled by default, but required by some Windows versions such as Windows 11."
          },
          "tpm_enabled": {
            "type": "boolean",
            "title": "Tpm Enabled",
            "description": "Whether a virtual TPM is enabled on the VM; disabled by default, but required by some Windows versions such as Windows 11."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_display_name",
          "vm_provider_config_name",
          "config_name",
          "vm_provider_name",
          "max_instances",
          "azure_subscription_id",
          "azure_resource_group",
          "azure_tenant_id",
          "azure_client_id",
          "azure_region",
          "azure_vm_size",
          "azure_os_disk_type",
          "azure_network_sg",
          "azure_subnet",
          "azure_os_disk_size_bytes",
          "azure_os_username",
          "azure_authority",
          "secure_boot_enabled",
          "tpm_enabled"
        ],
        "title": "AzureVmConfig",
        "description": "`GET` response for an Azure VM provider config."
      },
      "AzureVmConfigCreate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "AZURE",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "azure_subscription_id": {
            "type": "string",
            "title": "Azure Subscription Id",
            "description": "Subscription ID of the Azure account the resources are provisioned under."
          },
          "azure_resource_group": {
            "type": "string",
            "title": "Azure Resource Group",
            "description": "Azure resource group the VMs (and DNS zone, if used) belong to."
          },
          "azure_tenant_id": {
            "type": "string",
            "title": "Azure Tenant Id",
            "description": "Tenant ID of the Azure Active Directory (Microsoft Entra ID) account."
          },
          "azure_client_id": {
            "type": "string",
            "title": "Azure Client Id",
            "description": "Client ID of the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_client_secret": {
            "type": "string",
            "title": "Azure Client Secret",
            "description": "Client secret credential for the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_region": {
            "type": "string",
            "title": "Azure Region",
            "description": "Azure region where the VM agents are provisioned."
          },
          "azure_vm_size": {
            "type": "string",
            "title": "Azure Vm Size",
            "description": "Azure VM size (SKU) to provision, e.g. Standard_D2s_v3."
          },
          "azure_os_disk_type": {
            "type": "string",
            "title": "Azure Os Disk Type",
            "description": "Azure disk type to use for the VM's OS disk, e.g. Premium_LRS."
          },
          "azure_image_reference": {
            "additionalProperties": true,
            "type": "object",
            "title": "Azure Image Reference",
            "description": "JSON reference identifying the OS image to provision, either a marketplace publisher/offer/sku/version or a custom gallery image ID."
          },
          "azure_network_sg": {
            "type": "string",
            "title": "Azure Network Sg",
            "description": "Azure network security group to attach to the provisioned VM."
          },
          "azure_subnet": {
            "type": "string",
            "title": "Azure Subnet",
            "description": "Azure subnet the VM's network interface is attached to."
          },
          "azure_os_disk_size_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Azure Os Disk Size Bytes",
            "description": "Boot disk size for the VM, in bytes; submitted in whole GiB increments."
          },
          "azure_tags": {
            "additionalProperties": true,
            "type": "object",
            "title": "Azure Tags",
            "description": "JSON object of custom tags applied to the provisioned VMs."
          },
          "azure_os_username": {
            "type": "string",
            "title": "Azure Os Username",
            "description": "Login username assigned to the new VM."
          },
          "azure_os_password": {
            "type": "string",
            "title": "Azure Os Password",
            "description": "Login password assigned to the new VM; SSH password authentication is disabled by default."
          },
          "azure_ssh_public_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Ssh Public Key",
            "description": "SSH public key installed on the VM for the configured login user."
          },
          "azure_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Azure Config Override",
            "description": "Advanced JSON overrides merged into the Azure VM provisioning request; supports dot notation for nested keys and array indices."
          },
          "azure_public_ip": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Public Ip",
            "description": "Whether to assign the VM a public IP; without one, the subnet needs a load balancer, NAT gateway, or user-defined route for outbound access."
          },
          "azure_authority": {
            "type": "string",
            "enum": [
              "AZURE_PUBLIC_CLOUD",
              "AZURE_GOVERNMENT",
              "AZURE_CHINA",
              "AZURE_GERMANY"
            ],
            "title": "Azure Authority",
            "description": "Which Azure cloud authority to authenticate against: public cloud, government, China, or Germany.",
            "default": "AZURE_PUBLIC_CLOUD"
          },
          "azure_is_windows": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Is Windows",
            "description": "Whether the VM being provisioned runs Windows."
          },
          "plan_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Name",
            "description": "Marketplace plan name for the VM image; only needed for marketplace images or images derived from one."
          },
          "plan_product": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Product",
            "description": "Marketplace plan product for the VM image; only needed for marketplace images or images derived from one."
          },
          "plan_publisher": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Publisher",
            "description": "Marketplace plan publisher for the VM image; only needed for marketplace images or images derived from one."
          },
          "security_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Security Type",
            "description": "Security features enabled on the VM, such as Trusted Launch; optional but sometimes required for Windows 10/11."
          },
          "secure_boot_enabled": {
            "type": "boolean",
            "title": "Secure Boot Enabled",
            "description": "Whether Secure Boot is enabled on the VM; disabled by default, but required by some Windows versions such as Windows 11.",
            "default": false
          },
          "tpm_enabled": {
            "type": "boolean",
            "title": "Tpm Enabled",
            "description": "Whether a virtual TPM is enabled on the VM; disabled by default, but required by some Windows versions such as Windows 11.",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "vm_provider_config_name",
          "vm_provider_name",
          "max_instances",
          "azure_subscription_id",
          "azure_resource_group",
          "azure_tenant_id",
          "azure_client_id",
          "azure_client_secret",
          "azure_region",
          "azure_vm_size",
          "azure_os_disk_type",
          "azure_network_sg",
          "azure_subnet",
          "azure_os_disk_size_bytes",
          "azure_os_username",
          "azure_os_password"
        ],
        "title": "AzureVmConfigCreate",
        "description": "`POST` body for an Azure VM provider config."
      },
      "AzureVmConfigUpdate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider. Omit to leave unchanged."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot. Omit to leave unchanged; null clears it."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "AZURE",
            "title": "Vm Provider Name"
          },
          "azure_subscription_id": {
            "type": "string",
            "title": "Azure Subscription Id",
            "description": "Subscription ID of the Azure account the resources are provisioned under."
          },
          "azure_resource_group": {
            "type": "string",
            "title": "Azure Resource Group",
            "description": "Azure resource group the VMs (and DNS zone, if used) belong to."
          },
          "azure_tenant_id": {
            "type": "string",
            "title": "Azure Tenant Id",
            "description": "Tenant ID of the Azure Active Directory (Microsoft Entra ID) account."
          },
          "azure_client_id": {
            "type": "string",
            "title": "Azure Client Id",
            "description": "Client ID of the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_client_secret": {
            "type": "string",
            "title": "Azure Client Secret",
            "description": "Client secret credential for the Microsoft Entra ID app registration used to authenticate to Azure."
          },
          "azure_region": {
            "type": "string",
            "title": "Azure Region",
            "description": "Azure region where the VM agents are provisioned."
          },
          "azure_vm_size": {
            "type": "string",
            "title": "Azure Vm Size",
            "description": "Azure VM size (SKU) to provision, e.g. Standard_D2s_v3."
          },
          "azure_os_disk_type": {
            "type": "string",
            "title": "Azure Os Disk Type",
            "description": "Azure disk type to use for the VM's OS disk, e.g. Premium_LRS."
          },
          "azure_image_reference": {
            "additionalProperties": true,
            "type": "object",
            "title": "Azure Image Reference",
            "description": "JSON reference identifying the OS image to provision, either a marketplace publisher/offer/sku/version or a custom gallery image ID."
          },
          "azure_network_sg": {
            "type": "string",
            "title": "Azure Network Sg",
            "description": "Azure network security group to attach to the provisioned VM."
          },
          "azure_subnet": {
            "type": "string",
            "title": "Azure Subnet",
            "description": "Azure subnet the VM's network interface is attached to."
          },
          "azure_os_disk_size_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Azure Os Disk Size Bytes",
            "description": "Boot disk size for the VM, in bytes; submitted in whole GiB increments."
          },
          "azure_tags": {
            "additionalProperties": true,
            "type": "object",
            "title": "Azure Tags",
            "description": "JSON object of custom tags applied to the provisioned VMs."
          },
          "azure_os_username": {
            "type": "string",
            "title": "Azure Os Username",
            "description": "Login username assigned to the new VM."
          },
          "azure_os_password": {
            "type": "string",
            "title": "Azure Os Password",
            "description": "Login password assigned to the new VM; SSH password authentication is disabled by default."
          },
          "azure_ssh_public_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Ssh Public Key",
            "description": "SSH public key installed on the VM for the configured login user."
          },
          "azure_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Azure Config Override",
            "description": "Advanced JSON overrides merged into the Azure VM provisioning request; supports dot notation for nested keys and array indices."
          },
          "azure_public_ip": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Public Ip",
            "description": "Whether to assign the VM a public IP; without one, the subnet needs a load balancer, NAT gateway, or user-defined route for outbound access."
          },
          "azure_authority": {
            "type": "string",
            "enum": [
              "AZURE_PUBLIC_CLOUD",
              "AZURE_GOVERNMENT",
              "AZURE_CHINA",
              "AZURE_GERMANY"
            ],
            "title": "Azure Authority",
            "description": "Which Azure cloud authority to authenticate against: public cloud, government, China, or Germany."
          },
          "azure_is_windows": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Is Windows",
            "description": "Whether the VM being provisioned runs Windows."
          },
          "plan_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Name",
            "description": "Marketplace plan name for the VM image; only needed for marketplace images or images derived from one."
          },
          "plan_product": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Product",
            "description": "Marketplace plan product for the VM image; only needed for marketplace images or images derived from one."
          },
          "plan_publisher": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Publisher",
            "description": "Marketplace plan publisher for the VM image; only needed for marketplace images or images derived from one."
          },
          "security_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Security Type",
            "description": "Security features enabled on the VM, such as Trusted Launch; optional but sometimes required for Windows 10/11."
          },
          "secure_boot_enabled": {
            "type": "boolean",
            "title": "Secure Boot Enabled",
            "description": "Whether Secure Boot is enabled on the VM; disabled by default, but required by some Windows versions such as Windows 11."
          },
          "tpm_enabled": {
            "type": "boolean",
            "title": "Tpm Enabled",
            "description": "Whether a virtual TPM is enabled on the VM; disabled by default, but required by some Windows versions such as Windows 11."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_name"
        ],
        "title": "AzureVmConfigUpdate",
        "description": "`PATCH` body for an Azure VM provider config. Every field optional."
      },
      "BannerConfig": {
        "properties": {
          "background_color": {
            "type": "string",
            "title": "Background Color"
          },
          "font_color": {
            "type": "string",
            "title": "Font Color"
          },
          "font_size": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Font Size"
          },
          "font_weight": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Font Weight"
          },
          "allow_close": {
            "type": "boolean",
            "title": "Allow Close",
            "default": false
          },
          "allow_edit": {
            "type": "boolean",
            "title": "Allow Edit",
            "default": false
          },
          "text": {
            "type": "string",
            "title": "Text"
          },
          "size": {
            "$ref": "#/components/schemas/BannerSize"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "background_color",
          "font_color",
          "font_size",
          "font_weight",
          "text",
          "size"
        ],
        "title": "BannerConfig",
        "description": "Appearance and behavior of a session banner."
      },
      "BannerSize": {
        "properties": {
          "top": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Top"
          },
          "left": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Left"
          },
          "right": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Right"
          },
          "bottom": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Bottom"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "top",
          "left",
          "right",
          "bottom"
        ],
        "title": "BannerSize",
        "description": "Pixel insets the banner reserves on each edge of the session viewport."
      },
      "BannerSummary": {
        "properties": {
          "banner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Banner Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "config": {
            "$ref": "#/components/schemas/BannerConfig"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "banner_id",
          "name",
          "config"
        ],
        "title": "BannerSummary",
        "description": "One banner, as returned by the list, create and patch endpoints."
      },
      "BatchContextualError": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "message": {
            "type": "string",
            "title": "Message"
          },
          "field_names": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Field Names"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "code",
          "message",
          "field_names"
        ],
        "title": "BatchContextualError",
        "description": "A validation error that involves the named fields of a row, or the whole file."
      },
      "BatchCreateServersResources": {
        "properties": {
          "servers": {
            "items": {
              "$ref": "#/components/schemas/ServerSummary"
            },
            "type": "array",
            "title": "Servers"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "servers"
        ],
        "title": "BatchCreateServersResources"
      },
      "BatchCreateServersResponse": {
        "properties": {
          "error_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Message"
          },
          "csv_validation_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BatchCsvValidationData"
              },
              {
                "type": "null"
              }
            ]
          },
          "resources": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BatchCreateServersResources"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "error_message",
          "csv_validation_data",
          "resources"
        ],
        "title": "BatchCreateServersResponse"
      },
      "BatchCreateUsersResources": {
        "properties": {
          "users": {
            "items": {
              "$ref": "#/components/schemas/BatchCreatedUserSummary"
            },
            "type": "array",
            "title": "Users"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "users"
        ],
        "title": "BatchCreateUsersResources"
      },
      "BatchCreateUsersResponse": {
        "properties": {
          "error_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Message"
          },
          "csv_validation_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BatchCsvValidationData"
              },
              {
                "type": "null"
              }
            ]
          },
          "resources": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BatchCreateUsersResources"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "error_message",
          "csv_validation_data",
          "resources"
        ],
        "title": "BatchCreateUsersResponse",
        "description": "``POST /api/admin/identity/users/batch`` response.\n\nAlways includes both ``csv_validation_data`` (per-row report) and\n``resources`` (the created users, ``None`` when row-level errors\nprevented any creation)."
      },
      "BatchCreatedUserSummary": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "username": {
            "type": "string",
            "title": "Username"
          },
          "locked": {
            "type": "boolean",
            "title": "Locked"
          },
          "failed_pw_attempts": {
            "type": "integer",
            "title": "Failed Pw Attempts"
          },
          "plan_start_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Start Date"
          },
          "plan_end_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan End Date"
          },
          "plan_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Id"
          },
          "anonymous": {
            "type": "boolean",
            "title": "Anonymous"
          },
          "first_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name"
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "organization": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Organization"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "realm": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Realm"
          },
          "saml_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Saml Id"
          },
          "oidc_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oidc Id"
          },
          "subscription_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subscription Id"
          },
          "company_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Company Id"
          },
          "company": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Company"
          },
          "program_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Program Id"
          },
          "disabled": {
            "type": "boolean",
            "title": "Disabled"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "password_set_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Password Set Date"
          },
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "City"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "custom_attribute_1": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 1"
          },
          "custom_attribute_2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 2"
          },
          "custom_attribute_3": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 3"
          },
          "crypt_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Crypt Password"
          },
          "crypt_salt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Crypt Salt"
          },
          "groups": {
            "items": {
              "$ref": "#/components/schemas/UserGroupRef"
            },
            "type": "array",
            "title": "Groups"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "user_id",
          "username",
          "locked",
          "failed_pw_attempts",
          "plan_start_date",
          "plan_end_date",
          "plan_id",
          "anonymous",
          "first_name",
          "last_name",
          "phone",
          "organization",
          "notes",
          "realm",
          "saml_id",
          "oidc_id",
          "subscription_id",
          "company_id",
          "company",
          "program_id",
          "disabled",
          "created",
          "password_set_date",
          "city",
          "state",
          "country",
          "email",
          "custom_attribute_1",
          "custom_attribute_2",
          "custom_attribute_3",
          "crypt_password",
          "crypt_salt",
          "groups"
        ],
        "title": "BatchCreatedUserSummary",
        "description": "The user created for one batch row, with its group memberships."
      },
      "BatchCsvValidationData": {
        "properties": {
          "headers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Headers"
          },
          "total_errors": {
            "type": "integer",
            "title": "Total Errors"
          },
          "global_errors": {
            "items": {
              "$ref": "#/components/schemas/BatchContextualError"
            },
            "type": "array",
            "title": "Global Errors"
          },
          "total_rows": {
            "type": "integer",
            "title": "Total Rows"
          },
          "row_data": {
            "items": {
              "$ref": "#/components/schemas/BatchValidatedRow"
            },
            "type": "array",
            "title": "Row Data"
          },
          "file_bom": {
            "type": "string",
            "title": "File Bom"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "headers",
          "total_errors",
          "global_errors",
          "total_rows",
          "row_data",
          "file_bom"
        ],
        "title": "BatchCsvValidationData",
        "description": "The result of validating an uploaded CSV file: its headers, every row with its errors, and\nthe errors that apply to the file as a whole."
      },
      "BatchFieldError": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "message": {
            "type": "string",
            "title": "Message"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "title": "BatchFieldError",
        "description": "A validation error on one field of a CSV row."
      },
      "BatchValidatedField": {
        "properties": {
          "field": {
            "type": "string",
            "title": "Field"
          },
          "value": {
            "title": "Value"
          },
          "should_mask": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Should Mask"
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BatchFieldError"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "field",
          "value",
          "should_mask"
        ],
        "title": "BatchValidatedField",
        "description": "One field of a validated CSV row. ``error`` is absent when the field is valid."
      },
      "BatchValidatedRow": {
        "properties": {
          "total_errors": {
            "type": "integer",
            "title": "Total Errors"
          },
          "contextual_errors": {
            "items": {
              "$ref": "#/components/schemas/BatchContextualError"
            },
            "type": "array",
            "title": "Contextual Errors"
          },
          "fields": {
            "items": {
              "$ref": "#/components/schemas/BatchValidatedField"
            },
            "type": "array",
            "title": "Fields"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "total_errors",
          "contextual_errors",
          "fields"
        ],
        "title": "BatchValidatedRow",
        "description": "One validated CSV row: its fields and the errors found in it."
      },
      "BillingInfo": {
        "properties": {
          "stripe_pricing_table_id": {
            "type": "string",
            "title": "Stripe Pricing Table Id",
            "default": ""
          },
          "stripe_publishable_key": {
            "type": "string",
            "title": "Stripe Publishable Key",
            "default": ""
          },
          "portal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Portal"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "BillingInfo",
        "description": "Stripe pricing-table configuration plus the customer portal link."
      },
      "BrandingConfigSummary": {
        "properties": {
          "branding_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Branding Config Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "favicon_logo_url": {
            "type": "string",
            "title": "Favicon Logo Url"
          },
          "header_logo_url": {
            "type": "string",
            "title": "Header Logo Url"
          },
          "dashboard_logo_url": {
            "type": "string",
            "title": "Dashboard Logo Url"
          },
          "html_title": {
            "type": "string",
            "title": "Html Title"
          },
          "login_caption": {
            "type": "string",
            "title": "Login Caption"
          },
          "login_logo_url": {
            "type": "string",
            "title": "Login Logo Url"
          },
          "login_splash_url": {
            "type": "string",
            "title": "Login Splash Url"
          },
          "loading_session_text": {
            "type": "string",
            "title": "Loading Session Text"
          },
          "joining_session_text": {
            "type": "string",
            "title": "Joining Session Text"
          },
          "destroying_session_text": {
            "type": "string",
            "title": "Destroying Session Text"
          },
          "hostname": {
            "type": "string",
            "title": "Hostname"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default"
          },
          "launcher_background_url": {
            "type": "string",
            "title": "Launcher Background Url"
          },
          "username_input_label": {
            "type": "string",
            "title": "Username Input Label"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "branding_config_id",
          "name",
          "favicon_logo_url",
          "header_logo_url",
          "dashboard_logo_url",
          "html_title",
          "login_caption",
          "login_logo_url",
          "login_splash_url",
          "loading_session_text",
          "joining_session_text",
          "destroying_session_text",
          "hostname",
          "is_default",
          "launcher_background_url",
          "username_input_label"
        ],
        "title": "BrandingConfigSummary",
        "description": "One branding config, as returned by every branding read/write\nendpoint."
      },
      "BrowserLoginResponse": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "username": {
            "type": "string",
            "title": "Username"
          },
          "session_token": {
            "type": "string",
            "title": "Session Token"
          },
          "connect_url": {
            "type": "string",
            "title": "Connect Url"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expires At"
          },
          "current_time": {
            "type": "string",
            "format": "date-time",
            "title": "Current Time"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "user_id",
          "username",
          "session_token",
          "connect_url",
          "expires_at",
          "current_time"
        ],
        "title": "BrowserLoginResponse",
        "description": "``POST /api/session/sessions/{session_id}/browser-logins``: a fresh login-session\nJWT and connect URL for an existing session (was the credential half of\n``get_kasm_status``). Every call persists a new ``session_tokens`` row;\nstatus polling never carries credentials."
      },
      "COMPONENT_OPERATIONAL_STATUS": {
        "type": "string",
        "enum": [
          "running",
          "stopped",
          "missing",
          "deleting"
        ],
        "title": "COMPONENT_OPERATIONAL_STATUS"
      },
      "CONNECTION_PROXY_TYPE": {
        "type": "string",
        "enum": [
          "GUAC",
          "RDP-GATEWAY",
          "RDP-HTTPS-GATEWAY"
        ],
        "title": "CONNECTION_PROXY_TYPE"
      },
      "CPU_ALLOCATION_METHOD": {
        "type": "string",
        "enum": [
          "Inherit",
          "Quotas",
          "Shares"
        ],
        "title": "CPU_ALLOCATION_METHOD"
      },
      "CaptchaRequiredProblem": {
        "properties": {
          "type": {
            "type": "string",
            "const": "captcha-required",
            "title": "Type",
            "default": "captcha-required"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "status": {
            "type": "integer",
            "title": "Status"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          },
          "instance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance"
          },
          "captcha_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Captcha Type"
          },
          "recaptcha_site_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recaptcha Site Key"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "status",
          "detail"
        ],
        "title": "CaptchaRequiredProblem",
        "description": "A cast claim needs a solved CAPTCHA (missing, failed, or the link\nrequires one the deployment has not configured). ``captcha_type`` and\n``recaptcha_site_key`` are what the launcher needs to render the widget;\nboth are ``null`` when no verifier is configured."
      },
      "CastClaimAccepted": {
        "properties": {
          "cast_claim_id": {
            "type": "string",
            "format": "uuid",
            "title": "Cast Claim Id"
          },
          "cast_link_id": {
            "type": "string",
            "format": "uuid",
            "title": "Cast Link Id"
          },
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "state": {
            "$ref": "#/components/schemas/SessionStateBlock"
          },
          "share_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Share Id"
          },
          "viewer_options": {
            "$ref": "#/components/schemas/CastViewerOptions"
          },
          "resumed": {
            "type": "boolean",
            "title": "Resumed",
            "default": false
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          },
          "session_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Token"
          },
          "connect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connect Url"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "current_time": {
            "type": "string",
            "format": "date-time",
            "title": "Current Time"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "cast_claim_id",
          "cast_link_id",
          "session_id",
          "user_id",
          "state",
          "viewer_options",
          "current_time"
        ],
        "title": "CastClaimAccepted",
        "description": "``202`` from a successful claim: the session request was accepted.\n\n``resumed`` is set when ``allow_resume`` matched an existing session for the\ncaller. ``login_token`` is minted only for anonymous claims and is carried\nto the route **out of band**: it is excluded from serialisation (and so from\nthe wire body and the OpenAPI schema). For an unauthenticated browser claim\nthe route turns it into the ``session_token`` cookie on the 202 (refinement\ndecision #8 — the token's rename is deferred); the browser then navigates\nto the ordinary session view for ``session_id``, and ``viewer_options`` are\nthe link's flags for that page.\n\nAn API key holding ``USERS_AUTH_SESSION`` that claims anonymously gets the\n*same* JWT in the body instead: ``username``, ``session_token``,\n``connect_url`` (``/#/connect/cast/{session_id}/{user_id}/{session_token}``\nplus the viewer-option query) and ``expires_at``. No second token is\nminted; the route serialises the one the claim created."
      },
      "CastClaimEntry": {
        "properties": {
          "cast_claim_id": {
            "type": "string",
            "format": "uuid",
            "title": "Cast Claim Id"
          },
          "cast_link_id": {
            "type": "string",
            "format": "uuid",
            "title": "Cast Link Id"
          },
          "retired_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Retired Key"
          },
          "ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ip"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "session_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Id"
          },
          "outcome": {
            "$ref": "#/components/schemas/CastClaimOutcome"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "cast_claim_id",
          "cast_link_id",
          "outcome",
          "created"
        ],
        "title": "CastClaimEntry",
        "description": "One claim made through a cast link."
      },
      "CastClaimOutcome": {
        "type": "string",
        "enum": [
          "accepted",
          "captcha_required",
          "login_required",
          "launch_config_required",
          "refused_referrer",
          "refused_ip_limit",
          "refused_exhausted",
          "refused_expired",
          "refused_disabled",
          "refused_rotated",
          "placement_failed"
        ],
        "title": "CastClaimOutcome"
      },
      "CastClaimRequest": {
        "properties": {
          "recaptcha_value": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4096
              },
              {
                "type": "null"
              }
            ],
            "title": "Recaptcha Value"
          },
          "query_args": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "title": "Query Args"
          },
          "session_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4096
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Url"
          },
          "docker_network": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 256
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Network"
          },
          "dpi": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Dpi"
          },
          "x_res": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 16384,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "X Res"
          },
          "y_res": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 16384,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Y Res"
          },
          "launch_selections": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Launch Selections"
          },
          "egress_gateway_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway Id"
          },
          "egress_credential_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Credential Id"
          },
          "egress_provider_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Provider Id"
          },
          "rdp_client_type": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ],
            "title": "Rdp Client Type"
          },
          "client_language": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Language"
          },
          "client_timezone": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 64
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Timezone"
          }
        },
        "type": "object",
        "title": "CastClaimRequest",
        "description": "``POST /api/session/cast-links/{key}/claims``.\n\n``query_args`` are the launch URL's own parameters (forwarded into\n``connection_info`` via ``CastLink.generate_connection_info``).\n``session_url`` and ``docker_network`` are honoured only when the link\nallows dynamic values for them. The referrer allow-list is evaluated on\nthe ``Referer``/``Origin`` headers the route passes in, not on a body\nfield; it is browser-enforced only and not a security boundary."
      },
      "CastClaimsPage": {
        "properties": {
          "cast_link_id": {
            "type": "string",
            "format": "uuid",
            "title": "Cast Link Id"
          },
          "claims": {
            "items": {
              "$ref": "#/components/schemas/CastClaimEntry"
            },
            "type": "array",
            "title": "Claims"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "cast_link_id",
          "claims",
          "total",
          "page",
          "page_size"
        ],
        "title": "CastClaimsPage"
      },
      "CastLinkClientSettings": {
        "properties": {
          "allow_kasm_audio": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Audio"
          },
          "allow_kasm_uploads": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Uploads"
          },
          "allow_kasm_downloads": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Downloads"
          },
          "allow_kasm_clipboard_down": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Clipboard Down"
          },
          "allow_kasm_clipboard_up": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Clipboard Up"
          },
          "allow_kasm_microphone": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Microphone"
          },
          "allow_kasm_sharing": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Sharing"
          },
          "allow_kasm_gamepad": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Gamepad"
          },
          "allow_kasm_webcam": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Webcam"
          },
          "allow_kasm_printing": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Printing"
          },
          "allow_kasm_rdp_map_local_drives": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Rdp Map Local Drives"
          },
          "allow_kasm_smart_card_passthrough": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Smart Card Passthrough"
          },
          "allow_kasm_rdp_webauthn_passthrough": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Rdp Webauthn Passthrough"
          },
          "allow_kasm_rdp_client_file_transfer_clipboard": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Rdp Client File Transfer Clipboard"
          },
          "allow_kasm_webauthn_passthrough": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Webauthn Passthrough"
          },
          "allow_kasm_ssh_agent_passthrough": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Ssh Agent Passthrough"
          },
          "kasm_audio_default_on": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kasm Audio Default On"
          },
          "kasm_ime_mode_default_on": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kasm Ime Mode Default On"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "CastLinkClientSettings",
        "description": "The ``allow_kasm_*`` client-setting overrides a cast link may enforce.\n\nEvery field is tri-state: ``None`` means \"do not override the group setting\"."
      },
      "CastLinkDescription": {
        "properties": {
          "key": {
            "type": "string",
            "title": "Key"
          },
          "state": {
            "$ref": "#/components/schemas/CastLinkState"
          },
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "image_friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Friendly Name"
          },
          "image_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Description"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          },
          "launcher_background_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Launcher Background Url"
          },
          "error_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Url"
          },
          "viewer_options": {
            "$ref": "#/components/schemas/CastViewerOptions"
          },
          "allow_anonymous": {
            "type": "boolean",
            "title": "Allow Anonymous",
            "default": false
          },
          "allow_resume": {
            "type": "boolean",
            "title": "Allow Resume",
            "default": false
          },
          "session_url_mode": {
            "$ref": "#/components/schemas/SessionUrlMode",
            "default": "none"
          },
          "docker_network_selectable": {
            "type": "boolean",
            "title": "Docker Network Selectable",
            "default": false
          },
          "requirements": {
            "items": {
              "$ref": "#/components/schemas/CastRequirement"
            },
            "type": "array",
            "title": "Requirements"
          },
          "captcha_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Captcha Type"
          },
          "recaptcha_site_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recaptcha Site Key"
          },
          "launch_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LaunchOptions"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "key",
          "state",
          "image_id",
          "viewer_options"
        ],
        "title": "CastLinkDescription",
        "description": "``GET /api/session/cast-links/{key}``: what the launcher page needs before claiming.\n\nBranding, the image summary, the derived link ``state``, which parameters\nthe link accepts, and the caller's outstanding ``requirements`` so the\nclient collects a captcha, a login and the launch form up front instead\nof discovering them one at a time on the claim's 4xx. Nothing here is\nsecret; the link is public by definition. Side-effect free."
      },
      "CastLinkKeyRotation": {
        "properties": {
          "cast_link_id": {
            "type": "string",
            "format": "uuid",
            "title": "Cast Link Id"
          },
          "key": {
            "type": "string",
            "title": "Key"
          },
          "key_rotated_from": {
            "type": "string",
            "title": "Key Rotated From"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "cast_link_id",
          "key",
          "key_rotated_from"
        ],
        "title": "CastLinkKeyRotation",
        "description": "``POST /api/admin/session/cast-links/{cast_link_id}/key-rotations``."
      },
      "CastLinkList": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/CastLinkSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "CastLinkList",
        "description": "``GET /api/admin/session/cast-links``."
      },
      "CastLinkState": {
        "type": "string",
        "enum": [
          "active",
          "disabled",
          "expired",
          "exhausted"
        ],
        "title": "CastLinkState"
      },
      "CastLinkSummary": {
        "properties": {
          "cast_link_id": {
            "type": "string",
            "format": "uuid",
            "title": "Cast Link Id"
          },
          "casting_config_name": {
            "type": "string",
            "title": "Casting Config Name"
          },
          "key": {
            "type": "string",
            "title": "Key"
          },
          "key_rotated_from": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Key Rotated From"
          },
          "state": {
            "$ref": "#/components/schemas/CastLinkState"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "image_friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Friendly Name"
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id"
          },
          "group_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Name"
          },
          "allowed_referrers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Allowed Referrers"
          },
          "limit_sessions": {
            "type": "boolean",
            "title": "Limit Sessions",
            "default": false
          },
          "session_remaining": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Remaining"
          },
          "limit_ips": {
            "type": "boolean",
            "title": "Limit Ips",
            "default": false
          },
          "ip_request_limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ip Request Limit"
          },
          "ip_request_seconds": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ip Request Seconds"
          },
          "error_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Url"
          },
          "enable_sharing": {
            "type": "boolean",
            "title": "Enable Sharing",
            "default": false
          },
          "disable_control_panel": {
            "type": "boolean",
            "title": "Disable Control Panel",
            "default": false
          },
          "disable_tips": {
            "type": "boolean",
            "title": "Disable Tips",
            "default": false
          },
          "disable_fixed_res": {
            "type": "boolean",
            "title": "Disable Fixed Res",
            "default": false
          },
          "allow_anonymous": {
            "type": "boolean",
            "title": "Allow Anonymous",
            "default": false
          },
          "require_recaptcha": {
            "type": "boolean",
            "title": "Require Recaptcha",
            "default": false
          },
          "kasm_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kasm Url"
          },
          "dynamic_kasm_url": {
            "type": "boolean",
            "title": "Dynamic Kasm Url",
            "default": false
          },
          "dynamic_docker_network": {
            "type": "boolean",
            "title": "Dynamic Docker Network",
            "default": false
          },
          "allow_resume": {
            "type": "boolean",
            "title": "Allow Resume",
            "default": false
          },
          "enforce_client_settings": {
            "type": "boolean",
            "title": "Enforce Client Settings",
            "default": false
          },
          "client_settings": {
            "$ref": "#/components/schemas/CastLinkClientSettings"
          },
          "valid_until": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Valid Until"
          },
          "remote_app_configs": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Configs"
          },
          "launcher_background_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Launcher Background Url"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "cast_link_id",
          "casting_config_name",
          "key",
          "state",
          "enabled",
          "client_settings"
        ],
        "title": "CastLinkSummary",
        "description": "One cast link as the admin sees it, with its current ``state``."
      },
      "CastRequirement": {
        "type": "string",
        "enum": [
          "captcha",
          "login",
          "launch_config",
          "rdp_client",
          "egress_selection"
        ],
        "title": "CastRequirement",
        "description": "What a visitor still has to supply before a claim can be accepted."
      },
      "CastViewerOptions": {
        "properties": {
          "disable_control_panel": {
            "type": "boolean",
            "title": "Disable Control Panel",
            "default": false
          },
          "disable_tips": {
            "type": "boolean",
            "title": "Disable Tips",
            "default": false
          },
          "disable_fixed_res": {
            "type": "boolean",
            "title": "Disable Fixed Res",
            "default": false
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "CastViewerOptions",
        "description": "Viewer options the link imposes on the session page."
      },
      "ChangePasswordRequest": {
        "properties": {
          "current_password": {
            "type": "string",
            "title": "Current Password"
          },
          "new_password": {
            "type": "string",
            "title": "New Password"
          },
          "code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code"
          },
          "webauthn_credential": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webauthn Credential"
          },
          "request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Request Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "current_password",
          "new_password"
        ],
        "title": "ChangePasswordRequest",
        "description": "Body for ``PUT /api/auth/password``.\n\nThe second-factor fields carry whichever factor the account has enrolled; the change is\nrefused when that factor is missing."
      },
      "ClearSecondFactorRequest": {
        "properties": {
          "password": {
            "type": "string",
            "title": "Password"
          },
          "code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code"
          },
          "webauthn_credential": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webauthn Credential"
          },
          "request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Request Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "password"
        ],
        "title": "ClearSecondFactorRequest",
        "description": "Body for ``DELETE /api/auth/second-factor``.\n\nClearing an enrolled factor re-verifies the password and the factor being\ncleared: exactly one of ``code`` (TOTP) or ``webauthn_credential``."
      },
      "ClientSettings": {
        "properties": {
          "allow_kasm_audio": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Audio"
          },
          "allow_kasm_downloads": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Downloads"
          },
          "allow_kasm_clipboard_up": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Clipboard Up"
          },
          "allow_kasm_clipboard_down": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Clipboard Down"
          },
          "allow_kasm_clipboard_seamless": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Clipboard Seamless"
          },
          "allow_kasm_delete": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Delete"
          },
          "allow_kasm_force_delete": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Force Delete"
          },
          "allow_kasm_rdp_client_file_transfer_clipboard": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Rdp Client File Transfer Clipboard"
          },
          "allow_kasm_stop": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Stop"
          },
          "allow_kasm_pause": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Pause"
          },
          "allow_kasm_gamepad": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Gamepad"
          },
          "allow_kasm_microphone": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Microphone"
          },
          "allow_kasm_rdp_map_local_drives": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Rdp Map Local Drives"
          },
          "allow_kasm_smart_card_passthrough": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Smart Card Passthrough"
          },
          "allow_kasm_rdp_webauthn_passthrough": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Rdp Webauthn Passthrough"
          },
          "allow_kasm_webauthn_passthrough": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Webauthn Passthrough"
          },
          "allow_kasm_ssh_agent_passthrough": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Ssh Agent Passthrough"
          },
          "allow_kasm_sharing": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Sharing"
          },
          "allow_kasm_uploads": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Uploads"
          },
          "allow_kasm_webcam": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Webcam"
          },
          "allow_kasm_printing": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Kasm Printing"
          },
          "allow_persistent_profile": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Persistent Profile"
          },
          "allow_zone_selection": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Zone Selection"
          },
          "control_panel.show_delete_session": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Show Delete Session"
          },
          "control_panel.show_display_manager": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Show Display Manager"
          },
          "control_panel.show_return_to_workspaces": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Show Return To Workspaces"
          },
          "control_panel.show_logout": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Show Logout"
          },
          "control_panel.show_fullscreen": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Show Fullscreen"
          },
          "control_panel.show_streaming_quality": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Show Streaming Quality"
          },
          "control_panel.advanced_settings.show_prefer_local_cursor": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Advanced Settings.Show Prefer Local Cursor"
          },
          "control_panel.advanced_settings.show_keyboard_controls": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Advanced Settings.Show Keyboard Controls"
          },
          "control_panel.advanced_settings.show_ime_input_mode": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Advanced Settings.Show Ime Input Mode"
          },
          "control_panel.advanced_settings.show_game_mode": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Advanced Settings.Show Game Mode"
          },
          "control_panel.advanced_settings.show_pointer_lock": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Advanced Settings.Show Pointer Lock"
          },
          "control_panel.pwa_install_option": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Panel.Pwa Install Option"
          },
          "enable_webp": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enable Webp"
          },
          "kasmvnc_mode_preference": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ModePreference"
              },
              {
                "type": "null"
              }
            ]
          },
          "idle_disconnect": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idle Disconnect"
          },
          "kasm_audio_default_on": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kasm Audio Default On"
          },
          "kasm_ime_mode_default_on": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kasm Ime Mode Default On"
          },
          "keepalive_interval": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Keepalive Interval"
          },
          "lock_sharing_video_mode": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lock Sharing Video Mode"
          },
          "session_time_limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Time Limit"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ClientSettings",
        "description": "The effective client-facing session settings for the authenticated\nuser. A boolean setting is ``null`` when no group defines it."
      },
      "CompanySummary": {
        "properties": {
          "company_id": {
            "type": "string",
            "format": "uuid",
            "title": "Company Id"
          },
          "company_name": {
            "type": "string",
            "title": "Company Name"
          },
          "street": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Street"
          },
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "City"
          },
          "zip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zip"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "company_id",
          "company_name",
          "created"
        ],
        "title": "CompanySummary",
        "description": "One company record, as returned by every company read/write endpoint."
      },
      "ConfigExport": {
        "properties": {
          "archive": {
            "type": "string",
            "title": "Archive",
            "description": "Base64-encoded, AES-256 encrypted ZIP archive containing a single `export_data.yaml` member."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "archive"
        ],
        "title": "ConfigExport",
        "description": "Response of ``POST /api/admin/platform/config-exports``."
      },
      "ConfigExportMode": {
        "type": "string",
        "enum": [
          "partial",
          "complete",
          "autoscale_config",
          "deployment_config"
        ],
        "title": "ConfigExportMode",
        "description": "Which slice of the deployment an export covers."
      },
      "ConfigImportFormat": {
        "type": "string",
        "enum": [
          "zip",
          "yaml"
        ],
        "title": "ConfigImportFormat",
        "description": "Encoding of the uploaded import payload."
      },
      "ConfigImportPreview": {
        "properties": {
          "export_mode": {
            "$ref": "#/components/schemas/ConfigExportMode",
            "description": "The export mode detected in the uploaded package. It determines what the import will do and which import options apply."
          },
          "zones": {
            "items": {
              "$ref": "#/components/schemas/ImportZoneRef"
            },
            "type": "array",
            "title": "Zones",
            "description": "Zones referenced by the export, for building `zone_mappings`."
          },
          "ldap_configs": {
            "items": {
              "$ref": "#/components/schemas/ImportLdapConfigRef"
            },
            "type": "array",
            "title": "Ldap Configs",
            "description": "LDAP configurations referenced by the export, for building `ldap_mappings`."
          },
          "autoscale_configs": {
            "items": {
              "$ref": "#/components/schemas/ImportAutoscaleConfigRef"
            },
            "type": "array",
            "title": "Autoscale Configs",
            "description": "AutoScale configurations carried by the export."
          },
          "name_conflicts": {
            "items": {
              "$ref": "#/components/schemas/ImportNameConflict"
            },
            "type": "array",
            "title": "Name Conflicts",
            "description": "Resources whose names already exist on this deployment and will be renamed automatically on import. Populated for `autoscale_config` imports."
          },
          "autoscaled_server_counts": {
            "$ref": "#/components/schemas/AutoscaledServerCounts",
            "description": "Counts of AutoScale-provisioned resources on this deployment that a `deployment_config` import will replace. Zero for other modes."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "export_mode"
        ],
        "title": "ConfigImportPreview",
        "description": "Response of ``POST /api/admin/platform/config-imports/preview``."
      },
      "ConfigSchema": {
        "properties": {
          "schema_yaml": {
            "type": "string",
            "title": "Schema Yaml",
            "description": "YAML document describing each exportable table's columns, with the column type, whether a value is required, and any foreign key target. Carries the `alembic_version` the schema belongs to, which an import must match."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "schema_yaml"
        ],
        "title": "ConfigSchema",
        "description": "Response of ``GET /api/admin/platform/config-schema``."
      },
      "ConnectionCredentialType": {
        "type": "string",
        "enum": [
          "STATIC",
          "SSO_CREATE_USER",
          "SSO_USERNAME",
          "SMARTCARD",
          "PROMPT_USER"
        ],
        "title": "ConnectionCredentialType"
      },
      "ConnectionProxySummary": {
        "properties": {
          "connection_proxy_id": {
            "type": "string",
            "format": "uuid",
            "title": "Connection Proxy Id"
          },
          "connection_proxy_type": {
            "$ref": "#/components/schemas/CONNECTION_PROXY_TYPE"
          },
          "server_address": {
            "type": "string",
            "title": "Server Address"
          },
          "server_port": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Server Port"
          },
          "first_reported": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Reported"
          },
          "last_reported": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Reported"
          },
          "last_reported_elapsed": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Reported Elapsed"
          },
          "last_reported_seconds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Reported Seconds"
          },
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "auth_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auth Token"
          },
          "operational_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/COMPONENT_OPERATIONAL_STATUS"
              },
              {
                "type": "null"
              }
            ]
          },
          "cores": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "title": "Cores"
          },
          "cpu_percent": {
            "type": "number",
            "title": "Cpu Percent"
          },
          "memory_stats": {
            "additionalProperties": true,
            "type": "object",
            "title": "Memory Stats"
          },
          "disk_stats": {
            "additionalProperties": true,
            "type": "object",
            "title": "Disk Stats"
          },
          "gpu_percent": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Percent"
          },
          "gpu_memory_used_percent": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Memory Used Percent"
          },
          "gpu_temp": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Temp"
          },
          "proxy_port": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "exclusiveMinimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Port"
          },
          "session_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Count"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Whether the proxy can be selected for new connections. A disabled proxy keeps its registration and heartbeats, and is not aged out while it is offline.",
            "default": true
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "connection_proxy_id",
          "connection_proxy_type",
          "server_address",
          "server_port",
          "zone_id",
          "cores",
          "cpu_percent"
        ],
        "title": "ConnectionProxySummary",
        "description": "One connection-proxy entry, as returned by every connection-proxy\nread/write endpoint."
      },
      "ConnectionType": {
        "type": "string",
        "enum": [
          "KASMVNC",
          "RDP",
          "VNC",
          "SSH"
        ],
        "title": "ConnectionType"
      },
      "CreateAdUserManagementConfigRequest": {
        "properties": {
          "ldap_id": {
            "type": "string",
            "format": "uuid",
            "title": "Ldap Id"
          },
          "saml_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Saml Id"
          },
          "oidc_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oidc Id"
          },
          "local_accounts": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Local Accounts"
          },
          "enable_random_password_on_login": {
            "type": "boolean",
            "title": "Enable Random Password On Login",
            "default": false
          },
          "enable_create_user": {
            "type": "boolean",
            "title": "Enable Create User",
            "default": false
          },
          "enable_ad_group_management": {
            "type": "boolean",
            "title": "Enable Ad Group Management",
            "default": false
          },
          "password_len": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Password Len",
            "default": 15
          },
          "user_container_dn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Container Dn"
          }
        },
        "type": "object",
        "required": [
          "ldap_id"
        ],
        "title": "CreateAdUserManagementConfigRequest",
        "description": "Body for ``POST /api/admin/identity/ad-user-management-configs``.\n\nExactly one of ``local_accounts``/``saml_id``/``oidc_id`` must name the\naccount source; ``user_container_dn`` is required when\n``enable_create_user`` is set. Both are validated by the service against\nDB state (the linked LDAP/SAML/OIDC config, and any existing sync config\nalready targeting the same account source), not here."
      },
      "CreateApiConfigRequest": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Name"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": false
          },
          "read_only": {
            "type": "boolean",
            "title": "Read Only",
            "default": false
          },
          "expires": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires"
          }
        },
        "type": "object",
        "required": [
          "name"
        ],
        "title": "CreateApiConfigRequest",
        "description": "Body for ``POST /api/admin/identity/api-configs``.\n\n``expires`` accepts RFC 3339 or ``YYYY-MM-DD HH:MM:SS``; ``null`` means \"never expires\"."
      },
      "CreateAutoscaleConfigRequest": {
        "properties": {
          "autoscale_config_name": {
            "type": "string",
            "title": "Autoscale Config Name",
            "description": "Display name for the AutoScale config."
          },
          "autoscale_type": {
            "$ref": "#/components/schemas/AutoscaleType",
            "description": "Whether this config provisions \"DOCKER_AGENT\" or \"SERVER_POOL\" capacity. Must match the `server_pool_type` of the linked `server_pool_id`."
          },
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id",
            "description": "Deployment zone this config provisions into."
          },
          "docker_agent_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DockerAgentSettingsCreate"
              },
              {
                "type": "null"
              }
            ],
            "description": "Required when `autoscale_type` is \"DOCKER_AGENT\"; must be omitted/null otherwise."
          },
          "server_pool_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ServerPoolSettingsCreate"
              },
              {
                "type": "null"
              }
            ],
            "description": "Required when `autoscale_type` is \"SERVER_POOL\"; must be omitted/null otherwise."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Whether this config is active. Disabling it stops AutoScaling and blocks manual deletion of servers/agents it created, until it is re-enabled.",
            "default": true
          },
          "downscale_backoff": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Downscale Backoff",
            "description": "Seconds to wait after downscaling (deleting an agent/server) before downscaling again, to prevent thrashing when available resources hover near a scaling threshold.",
            "default": 30
          },
          "rotate_servers_in_days": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Rotate Servers In Days",
            "description": "Days until an AutoScaled agent/server is drained and replaced. `0` disables rotation.",
            "default": 7
          },
          "rotate_servers_pre_warm_minutes": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Rotate Servers Pre Warm Minutes",
            "description": "Minutes before an agent/server's drain time that Kasm begins provisioning its replacement. `0` disables pre-warming.",
            "default": 30
          },
          "server_pool_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Pool Id",
            "description": "Pool this config is attached to; determines whether provisioned capacity is treated as `DOCKER_AGENT` or `SERVER_POOL`."
          },
          "vm_provider_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Provider Config Id",
            "description": "VM provider configuration used to provision compute for this config."
          },
          "dns_provider_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dns Provider Config Id",
            "description": "DNS provider configuration used for agent DNS registration when `register_dns` is enabled."
          }
        },
        "type": "object",
        "required": [
          "autoscale_config_name",
          "autoscale_type",
          "zone_id",
          "server_pool_id"
        ],
        "title": "CreateAutoscaleConfigRequest",
        "description": "Request body for ``POST /api/admin/infrastructure/autoscale-configs``.\n\nCommon fields sit at the top level; the type-specific ones nest under\n``docker_agent_settings`` / ``server_pool_settings``, and exactly the block\nmatching ``autoscale_type`` must be supplied."
      },
      "CreateBannerRequest": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "config": {
            "$ref": "#/components/schemas/BannerConfig"
          }
        },
        "type": "object",
        "required": [
          "name",
          "config"
        ],
        "title": "CreateBannerRequest",
        "description": "Request body for ``POST /api/admin/platform/banners``."
      },
      "CreateBrandingConfigRequest": {
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name"
          },
          "favicon_logo_url": {
            "type": "string",
            "title": "Favicon Logo Url"
          },
          "header_logo_url": {
            "type": "string",
            "title": "Header Logo Url"
          },
          "dashboard_logo_url": {
            "type": "string",
            "title": "Dashboard Logo Url"
          },
          "html_title": {
            "type": "string",
            "title": "Html Title"
          },
          "login_caption": {
            "type": "string",
            "title": "Login Caption"
          },
          "login_logo_url": {
            "type": "string",
            "title": "Login Logo Url"
          },
          "login_splash_url": {
            "type": "string",
            "title": "Login Splash Url"
          },
          "loading_session_text": {
            "type": "string",
            "title": "Loading Session Text"
          },
          "joining_session_text": {
            "type": "string",
            "title": "Joining Session Text"
          },
          "destroying_session_text": {
            "type": "string",
            "title": "Destroying Session Text"
          },
          "hostname": {
            "type": "string",
            "minLength": 1,
            "title": "Hostname"
          },
          "launcher_background_url": {
            "type": "string",
            "title": "Launcher Background Url"
          },
          "username_input_label": {
            "type": "string",
            "title": "Username Input Label"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "name",
          "favicon_logo_url",
          "header_logo_url",
          "dashboard_logo_url",
          "html_title",
          "login_caption",
          "login_logo_url",
          "login_splash_url",
          "loading_session_text",
          "joining_session_text",
          "destroying_session_text",
          "hostname",
          "launcher_background_url",
          "username_input_label"
        ],
        "title": "CreateBrandingConfigRequest",
        "description": "Request body for `POST /api/admin/tenant/branding-configs`."
      },
      "CreateCastLinkRequest": {
        "properties": {
          "casting_config_name": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "title": "Casting Config Name"
          },
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "key": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Za-z0-9_-]{1,128}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Key"
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id"
          },
          "allowed_referrers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "maxItems": 200,
            "title": "Allowed Referrers"
          },
          "limit_sessions": {
            "type": "boolean",
            "title": "Limit Sessions",
            "default": false
          },
          "session_remaining": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Remaining"
          },
          "limit_ips": {
            "type": "boolean",
            "title": "Limit Ips",
            "default": false
          },
          "ip_request_limit": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Ip Request Limit"
          },
          "ip_request_seconds": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Ip Request Seconds"
          },
          "error_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4096
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Url"
          },
          "enable_sharing": {
            "type": "boolean",
            "title": "Enable Sharing",
            "default": false
          },
          "disable_control_panel": {
            "type": "boolean",
            "title": "Disable Control Panel",
            "default": false
          },
          "disable_tips": {
            "type": "boolean",
            "title": "Disable Tips",
            "default": false
          },
          "disable_fixed_res": {
            "type": "boolean",
            "title": "Disable Fixed Res",
            "default": false
          },
          "allow_anonymous": {
            "type": "boolean",
            "title": "Allow Anonymous",
            "default": false
          },
          "require_recaptcha": {
            "type": "boolean",
            "title": "Require Recaptcha",
            "default": false
          },
          "kasm_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4096
              },
              {
                "type": "null"
              }
            ],
            "title": "Kasm Url"
          },
          "dynamic_kasm_url": {
            "type": "boolean",
            "title": "Dynamic Kasm Url",
            "default": false
          },
          "dynamic_docker_network": {
            "type": "boolean",
            "title": "Dynamic Docker Network",
            "default": false
          },
          "allow_resume": {
            "type": "boolean",
            "title": "Allow Resume",
            "default": false
          },
          "enforce_client_settings": {
            "type": "boolean",
            "title": "Enforce Client Settings",
            "default": false
          },
          "client_settings": {
            "$ref": "#/components/schemas/CastLinkClientSettings"
          },
          "valid_until": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Valid Until"
          },
          "remote_app_configs": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Configs"
          },
          "launcher_background_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4096
              },
              {
                "type": "null"
              }
            ],
            "title": "Launcher Background Url"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": true
          }
        },
        "type": "object",
        "required": [
          "casting_config_name",
          "image_id"
        ],
        "title": "CreateCastLinkRequest",
        "description": "``POST /api/admin/session/cast-links``. The key is server-generated\n(``secrets.token_urlsafe(16)``) unless supplied."
      },
      "CreateCompanyRequest": {
        "properties": {
          "company_name": {
            "type": "string",
            "minLength": 1,
            "title": "Company Name"
          },
          "street": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Street"
          },
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "City"
          },
          "zip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zip"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          }
        },
        "type": "object",
        "required": [
          "company_name"
        ],
        "title": "CreateCompanyRequest",
        "description": "Request body for `POST /api/admin/tenant/companies`."
      },
      "CreateConfigExportRequest": {
        "properties": {
          "export_key": {
            "type": "string",
            "title": "Export Key",
            "description": "Password used to encrypt the exported AES-256 ZIP archive. The archive cannot be opened without it."
          },
          "export_mode": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConfigExportMode"
              },
              {
                "type": "null"
              }
            ],
            "description": "Which slice of the deployment to export. `complete` is a full configuration backup that replaces all data on import; `partial` exports the tables named in `tables` (every exportable table when `tables` is empty) and merges additively on import; `autoscale_config` exports AutoScale configurations plus the zones and LDAP configs they reference; `deployment_config` exports all configuration while excluding ephemeral runtime state (sessions, ephemeral servers, agents, connection proxies) for migrating onto new infrastructure. Required unless `sanitized` is set."
          },
          "sanitized": {
            "type": "boolean",
            "title": "Sanitized",
            "description": "Produce a sanitized export with encrypted column values replaced by placeholders. Cannot be combined with tokenization, and the result cannot be imported.",
            "default": false
          },
          "partial_export": {
            "type": "boolean",
            "title": "Partial Export",
            "description": "Restrict a sanitized export to the tables named in `tables`. Applies only when `sanitized` is set.",
            "default": false
          },
          "tables": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Tables",
            "description": "Table names to include. Used by `partial` mode; ignored by `autoscale_config` and `deployment_config`, which select their own tables. Each named table's dependencies must also be named. An empty list exports every exportable table."
          },
          "tokenize_uuids": {
            "type": "boolean",
            "title": "Tokenize Uuids",
            "description": "Mark exported UUIDs so the importing deployment generates new ones: primary keys are prefixed `&` and references `*`, with the original UUID retained after the prefix for troubleshooting. Applies to `complete` and `partial` modes only.",
            "default": false
          },
          "tokenize_autoscale_uuids": {
            "type": "boolean",
            "title": "Tokenize Autoscale Uuids",
            "description": "Also tokenize AutoScale configuration UUIDs, so the import creates independent configurations instead of exact copies that would compete with this deployment for control of the same provisioned resources. Provisioned servers are omitted when set. Use for side-by-side deployments such as blue/green.",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "export_key"
        ],
        "title": "CreateConfigExportRequest",
        "description": "Body of ``POST /api/admin/platform/config-exports``."
      },
      "CreateConfigImportRequest": {
        "properties": {
          "import_data": {
            "type": "string",
            "title": "Import Data",
            "description": "The export payload: a base64-encoded ZIP archive when `import_format` is `zip`, or a raw YAML document when it is `yaml`."
          },
          "import_format": {
            "$ref": "#/components/schemas/ConfigImportFormat",
            "description": "`zip` for a base64 AES-256 archive produced by the export endpoint, `yaml` for a raw `export_data.yaml` document."
          },
          "import_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Import Key",
            "description": "Password that decrypts the ZIP archive. Required for archives that were encrypted on export."
          },
          "sanity_test": {
            "type": "boolean",
            "title": "Sanity Test",
            "description": "Validate the payload against the expected schema and report problems without applying any changes. `complete` exports only.",
            "default": false
          },
          "zone_mappings": {
            "anyOf": [
              {
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "uuid"
                    },
                    {
                      "type": "string",
                      "const": "skip"
                    }
                  ]
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Mappings",
            "description": "Maps each zone token from the export to the `zone_id` of an existing zone to use instead. Omit a token to create a new zone from the export data."
          },
          "ldap_mappings": {
            "anyOf": [
              {
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "uuid"
                    },
                    {
                      "type": "string",
                      "const": "skip"
                    }
                  ]
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ldap Mappings",
            "description": "Maps each LDAP config token from the export to the `ldap_id` of an existing config, or to `skip` to import the referencing records without an LDAP config. Omit a token to create a new config from the export data."
          },
          "overwrite_manager_token": {
            "type": "boolean",
            "title": "Overwrite Manager Token",
            "description": "Replace this deployment's manager authentication token with the one from the export. Disable to keep the current token and avoid disrupting manager authentication during a migration. Supported for `deployment_config` imports only.",
            "default": true
          },
          "overwrite_api_private_and_public_key_pair": {
            "type": "boolean",
            "title": "Overwrite Api Private And Public Key Pair",
            "description": "Replace this deployment's API key pair with the one from the export. Disable to keep the current keys and avoid disrupting API authentication. Supported for `deployment_config` imports only.",
            "default": true
          },
          "autoscale_enabled_mode": {
            "$ref": "#/components/schemas/AutoscaleImportEnabledMode",
            "description": "`disabled` forces every imported AutoScale configuration to `enabled = false` so it can be reviewed before it provisions; `preserve` keeps the `enabled` value from the export. Applies to `autoscale_config` and `deployment_config` imports.",
            "default": "disabled"
          }
        },
        "type": "object",
        "required": [
          "import_data",
          "import_format"
        ],
        "title": "CreateConfigImportRequest",
        "description": "Body of ``POST /api/admin/platform/config-imports``."
      },
      "CreateConnectionProxyRequest": {
        "properties": {
          "server_address": {
            "type": "string",
            "minLength": 1,
            "title": "Server Address"
          },
          "server_port": {
            "type": "integer",
            "maximum": 65535,
            "minimum": 1,
            "title": "Server Port"
          },
          "connection_proxy_type": {
            "$ref": "#/components/schemas/CONNECTION_PROXY_TYPE"
          },
          "auth_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auth Token"
          },
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          }
        },
        "type": "object",
        "required": [
          "server_address",
          "server_port",
          "connection_proxy_type",
          "zone_id"
        ],
        "title": "CreateConnectionProxyRequest",
        "description": "Request body for `POST /api/admin/security/connection-proxies`."
      },
      "CreateDnsProviderRequest": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AzureDnsProviderCreate"
          },
          {
            "$ref": "#/components/schemas/AwsDnsProviderCreate"
          },
          {
            "$ref": "#/components/schemas/DigitalOceanDnsProviderCreate"
          },
          {
            "$ref": "#/components/schemas/OciDnsProviderCreate"
          },
          {
            "$ref": "#/components/schemas/GcpDnsProviderCreate"
          }
        ],
        "title": "CreateDnsProviderRequest",
        "description": "``POST`` request body: the create union, named for the spec.\n\nWraps :data:`AnyCreateDnsProvider`. ``*Request`` matches the naming\nevery other migrated domain uses for a write body\n(``CreateAutoscaleConfigRequest``, ``CreateZoneRequest``,\n``CreateImageRequest``, ...), which is why the alias carries the ``Any``\nprefix rather than this class carrying a ``*Body`` suffix.",
        "discriminator": {
          "propertyName": "dns_provider_name",
          "mapping": {
            "AWS": "#/components/schemas/AwsDnsProviderCreate",
            "AZURE": "#/components/schemas/AzureDnsProviderCreate",
            "DIGITAL_OCEAN": "#/components/schemas/DigitalOceanDnsProviderCreate",
            "GCP": "#/components/schemas/GcpDnsProviderCreate",
            "OCI": "#/components/schemas/OciDnsProviderCreate"
          }
        }
      },
      "CreateEgressCredentialRequest": {
        "properties": {
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the Egress Provider this credential targets."
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The unique name for the Egress Credential."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration.",
            "default": false
          },
          "allow_all_gateways": {
            "type": "boolean",
            "title": "Allow All Gateways",
            "description": "When enabled, all Egress Gateways in the selected Provider will be available to this credential. Disabling requires specifying which gateways to make available in selected_gateways.",
            "default": false
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username",
            "description": "The username for this credential, if any."
          },
          "password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Password",
            "description": "The password for this credential."
          },
          "wireguard_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Wireguard Private Key",
            "description": "The WireGuard private key for this credential."
          },
          "tailscale_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tailscale Key",
            "description": "The Tailscale auth key for this credential."
          },
          "custom_credential": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Credential",
            "description": "The custom credential value for this credential."
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id",
            "description": "The user to bind this credential to."
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id",
            "description": "The group to bind this credential to."
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id",
            "description": "The image (workspace) to bind this credential to."
          },
          "selected_gateways": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Selected Gateways",
            "description": "When Allow All Gateways is disabled, the gateways this credential is available on."
          },
          "limit_active_connections": {
            "type": "boolean",
            "title": "Limit Active Connections",
            "description": "When enabled, the number of concurrent active connections using this credential is capped at active_connection_limit.",
            "default": false
          },
          "active_connection_limit": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Active Connection Limit",
            "description": "The maximum number of concurrent active connections allowed for this credential when limit_active_connections is enabled.",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "egress_provider_id",
          "name"
        ],
        "title": "CreateEgressCredentialRequest",
        "description": "Request body for ``POST /api/admin/providers/egress-credentials``.\n\nExactly one of ``user_id``/``group_id``/``image_id`` must be set, and\nexactly one of ``password``/``wireguard_private_key``/``tailscale_key``/\n``custom_credential`` must be set."
      },
      "CreateEgressGatewayRequest": {
        "properties": {
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the owning egress provider."
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The unique name for the Egress Gateway."
          },
          "country": {
            "type": "string",
            "title": "Country",
            "description": "The country for the Egress Gateway."
          },
          "city": {
            "type": "string",
            "title": "City",
            "description": "The city for the Egress Gateway."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration.",
            "default": false
          },
          "config": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Config",
            "description": "The Egress Gateway configuration (OpenVPN, WireGuard, or Custom). Required unless the owning provider's type is tailscale."
          }
        },
        "type": "object",
        "required": [
          "egress_provider_id",
          "name",
          "country",
          "city"
        ],
        "title": "CreateEgressGatewayRequest",
        "description": "Request body for ``POST /api/admin/providers/egress-gateways``."
      },
      "CreateEgressProviderMappingRequest": {
        "properties": {
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the Egress Provider this mapping targets."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration.",
            "default": false
          },
          "allow_all_gateways": {
            "type": "boolean",
            "title": "Allow All Gateways",
            "description": "When enabled, all Egress Gateways in the selected Provider will be mapped. Disabling requires specifying which gateways to map in selected_gateways.",
            "default": false
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id",
            "description": "The user to bind this mapping to."
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id",
            "description": "The group to bind this mapping to."
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id",
            "description": "The image (workspace) to bind this mapping to."
          },
          "selected_gateways": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Selected Gateways",
            "description": "When Allow All Gateways is disabled, the gateways that apply to this mapping."
          }
        },
        "type": "object",
        "required": [
          "egress_provider_id"
        ],
        "title": "CreateEgressProviderMappingRequest",
        "description": "Request body for ``POST /api/admin/providers/egress-provider-mappings``.\n\nExactly one of ``user_id``/``group_id``/``image_id`` must be set."
      },
      "CreateEgressProviderRequest": {
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name",
            "description": "The unique name for the Egress Provider."
          },
          "egress_provider_type": {
            "$ref": "#/components/schemas/EgressProviderType",
            "description": "The type of Egress Provider configuration."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration.",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "name",
          "egress_provider_type"
        ],
        "title": "CreateEgressProviderRequest",
        "description": "Request body for ``POST /api/admin/providers/egress-providers``."
      },
      "CreateFileMappingRequest": {
        "properties": {
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "destination": {
            "type": "string",
            "minLength": 1,
            "title": "Destination"
          },
          "content": {
            "type": "string",
            "minLength": 1,
            "title": "Content"
          },
          "file_type": {
            "type": "string",
            "const": "text",
            "title": "File Type",
            "default": "text"
          },
          "is_readable": {
            "type": "boolean",
            "title": "Is Readable",
            "default": true
          },
          "is_writable": {
            "type": "boolean",
            "title": "Is Writable",
            "default": false
          },
          "is_executable": {
            "type": "boolean",
            "title": "Is Executable",
            "default": false
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "name",
          "destination",
          "content"
        ],
        "title": "CreateFileMappingRequest"
      },
      "CreateGroupRequest": {
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name"
          },
          "priority": {
            "type": "integer",
            "maximum": 4095,
            "minimum": 1,
            "title": "Priority"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "group_metadata": {
            "additionalProperties": true,
            "type": "object",
            "title": "Group Metadata"
          },
          "group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Id"
          }
        },
        "type": "object",
        "required": [
          "name",
          "priority"
        ],
        "title": "CreateGroupRequest",
        "description": "Body for ``POST /api/admin/identity/groups``.\n\nThe optional fields have no distinct ``null`` state on create (an omitted\n``description`` already stores NULL, ``group_metadata`` defaults to ``{}``,\n``group_id`` is generated), so an explicit ``null`` is rejected (422) and\n``strip_null_from_schema`` keeps the spec from advertising it."
      },
      "CreateGroupSettingRequest": {
        "properties": {
          "group_setting_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Setting Id"
          },
          "value": {
            "type": "string",
            "title": "Value"
          }
        },
        "type": "object",
        "required": [
          "group_setting_id",
          "value"
        ],
        "title": "CreateGroupSettingRequest",
        "description": "Override a catalog setting for one group. ``group_setting_id`` names the\ncatalog (``group_id`` null) row whose name, type and description the\noverride inherits."
      },
      "CreateImageFromSessionRequest": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "docker_image": {
            "type": "string",
            "pattern": "^(?:[^/]+(?::\\d+)?/)?[^:]+(?::.+)?$",
            "title": "Docker Image"
          },
          "author": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Author"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Message"
          },
          "changes": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "title": "Changes"
          },
          "registry_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Registry Url"
          },
          "registry_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Registry Username"
          },
          "registry_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Registry Password"
          }
        },
        "type": "object",
        "required": [
          "session_id",
          "docker_image"
        ],
        "title": "CreateImageFromSessionRequest",
        "description": "The create-image-from-session request body — the kasm to snapshot plus\nthe target docker image/registry details. No ``{target_kasm: ...}`` envelope."
      },
      "CreateImageRequest": {
        "properties": {
          "image_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Name"
          },
          "cores": {
            "anyOf": [
              {
                "type": "number",
                "exclusiveMinimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Cores"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "docker_registry": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Registry"
          },
          "docker_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Token"
          },
          "docker_user": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker User"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "friendly_name": {
            "type": "string",
            "title": "Friendly Name"
          },
          "hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hash"
          },
          "memory_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "exclusiveMinimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory Bytes"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "x_res": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "X Res"
          },
          "y_res": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Y Res"
          },
          "run_config": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Run Config"
          },
          "restrict_to_network": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Restrict To Network"
          },
          "restrict_network_names": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Restrict Network Names"
          },
          "restrict_to_server": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Restrict To Server"
          },
          "server_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Id"
          },
          "persistent_profile_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Persistent Profile Path"
          },
          "volume_mappings": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Volume Mappings"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          },
          "exec_config": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exec Config"
          },
          "restrict_to_zone": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Restrict To Zone"
          },
          "zone_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Id"
          },
          "filter_policy_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter Policy Id"
          },
          "filter_policy_force_disabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter Policy Force Disabled"
          },
          "network_policy_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Policy Id"
          },
          "session_time_limit": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Time Limit"
          },
          "categories": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Categories"
          },
          "allow_network_selection": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Network Selection"
          },
          "require_gpu": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Require Gpu"
          },
          "gpu_count": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Count"
          },
          "hidden": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hidden"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "image_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/IMAGE_TYPE"
              },
              {
                "type": "null"
              }
            ]
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "link_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Link Url"
          },
          "cpu_allocation_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CPU_ALLOCATION_METHOD"
              },
              {
                "type": "null"
              }
            ]
          },
          "uncompressed_size_mb": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Uncompressed Size Mb"
          },
          "launch_config": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Launch Config"
          },
          "rdp_client_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RDP_CONNECTION_TYPE"
              },
              {
                "type": "null"
              }
            ]
          },
          "override_egress_gateways": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Override Egress Gateways"
          },
          "remote_app_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Name"
          },
          "remote_app_args": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Args"
          },
          "remote_app_icon": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Icon"
          },
          "remote_app_program": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Program"
          },
          "is_remote_app": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Remote App"
          },
          "session_banner_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Banner Id"
          },
          "session_banner_force_disabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Banner Force Disabled"
          },
          "enforce_workspace_persistence": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enforce Workspace Persistence"
          },
          "include_labels": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Include Labels"
          },
          "exclude_labels": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exclude Labels"
          },
          "gpu_graphics_acceleration": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/GPU_GRAPHICS_ACCELERATION"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Graphics Acceleration"
          },
          "gpu_video_encoding": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/GPU_VIDEO_ENCODING"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Video Encoding"
          }
        },
        "type": "object",
        "required": [
          "friendly_name"
        ],
        "title": "CreateImageRequest",
        "description": "The create-image request body; the update body is the same payload with every field\noptional.\n\nBeyond ``friendly_name`` and the target the image type needs, every field is optional, and\nan omitted field is left at its default. Unknown fields are ignored."
      },
      "CreateLdapConfigRequest": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "auto_create_app_user": {
            "type": "boolean",
            "title": "Auto Create App User"
          },
          "search_base": {
            "type": "string",
            "title": "Search Base"
          },
          "search_filter": {
            "type": "string",
            "title": "Search Filter"
          },
          "group_membership_filter": {
            "type": "string",
            "title": "Group Membership Filter"
          },
          "email_attribute": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Attribute"
          },
          "search_subtree": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Search Subtree"
          },
          "service_account_dn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Account Dn"
          },
          "service_account_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Account Password"
          },
          "connection_timeout": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Timeout"
          },
          "username_domain_match": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username Domain Match"
          }
        },
        "type": "object",
        "required": [
          "name",
          "enabled",
          "url",
          "auto_create_app_user",
          "search_base",
          "search_filter",
          "group_membership_filter"
        ],
        "title": "CreateLdapConfigRequest",
        "description": "Body for ``POST /api/admin/identity/ldap-configs``.\n\nMissing required fields are rejected with 422."
      },
      "CreateLicenseRequest": {
        "properties": {
          "license_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "License Key"
          },
          "activation_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Activation Key"
          },
          "seats": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "exclusiveMinimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Seats",
            "description": "The desired number of seats to license the deployment for. If omitted, the deployment is licensed for the maximum number of seats allowed by the entitlement."
          },
          "issued_to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Issued To",
            "description": "The organization the deployment is licensed for."
          },
          "egress_plugins": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Plugins"
          }
        },
        "type": "object",
        "title": "CreateLicenseRequest",
        "description": "Register a license, either from a signed key or by activating.\n\nExactly one of `license_key`/`activation_key` is required. A `license_key`\nwhose decoded `key_type` is \"activation\" is routed to the activation flow\nby the service -- the admin UI posts activation keys in this field."
      },
      "CreateNetworkPolicyRequest": {
        "properties": {
          "network_policy_name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Network Policy Name"
          },
          "network_policy_description": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1024
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Policy Description"
          },
          "inbound": {
            "$ref": "#/components/schemas/NetworkPolicyDirectionRequest"
          },
          "outbound": {
            "$ref": "#/components/schemas/NetworkPolicyDirectionRequest"
          }
        },
        "type": "object",
        "required": [
          "network_policy_name",
          "inbound",
          "outbound"
        ],
        "title": "CreateNetworkPolicyRequest"
      },
      "CreateOidcConfigRequest": {
        "properties": {
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "client_id": {
            "type": "string",
            "title": "Client Id"
          },
          "client_secret": {
            "type": "string",
            "title": "Client Secret"
          },
          "auth_url": {
            "type": "string",
            "title": "Auth Url"
          },
          "token_url": {
            "type": "string",
            "title": "Token Url"
          },
          "scope": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Scope"
          },
          "redirect_url": {
            "type": "string",
            "title": "Redirect Url"
          },
          "user_info_url": {
            "type": "string",
            "title": "User Info Url"
          },
          "username_attribute": {
            "type": "string",
            "title": "Username Attribute"
          },
          "auto_login": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auto Login"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "is_default": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Default"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          },
          "groups_attribute": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Groups Attribute"
          },
          "debug": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Debug"
          },
          "issuer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Issuer"
          },
          "logout_with_oidc_provider": {
            "type": "boolean",
            "title": "Logout With Oidc Provider",
            "default": false
          },
          "enable_frontchannel_logout": {
            "type": "boolean",
            "title": "Enable Frontchannel Logout",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "display_name",
          "client_id",
          "client_secret",
          "auth_url",
          "token_url",
          "scope",
          "redirect_url",
          "user_info_url",
          "username_attribute"
        ],
        "title": "CreateOidcConfigRequest",
        "description": "Body for ``POST /api/admin/identity/oidc-configs``.\n\nMissing required fields are rejected with 422. ``scope`` matches the\nresponse shape (``list[str]``); the service joins it for the stored column\n(empty list -> ``\"\"``). The server assigns ``oidc_id``; clients may not\nchoose a primary key on create."
      },
      "CreateRegistryRequest": {
        "properties": {
          "registry": {
            "type": "string",
            "title": "Registry"
          },
          "override_schema": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Override Schema"
          },
          "channel": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Channel"
          }
        },
        "type": "object",
        "required": [
          "registry"
        ],
        "title": "CreateRegistryRequest",
        "description": "Request body for `POST /api/admin/catalog/registries`. `registry` is\nthe bootstrap URL of the registry to install."
      },
      "CreateSamlConfigRequest": {
        "properties": {
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "adfs": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Adfs"
          },
          "is_default": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Default"
          },
          "group_attribute": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Attribute"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "sp_entity_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Entity Id"
          },
          "sp_acs_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Acs Url"
          },
          "sp_slo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Slo Url"
          },
          "sp_name_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Name Id"
          },
          "sp_x509_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp X509 Cert"
          },
          "sp_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Private Key"
          },
          "idp_entity_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp Entity Id"
          },
          "idp_sso_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp Sso Url"
          },
          "idp_slo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp Slo Url"
          },
          "idp_x509_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp X509 Cert"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          }
        },
        "type": "object",
        "title": "CreateSamlConfigRequest",
        "description": "Body for ``POST /api/admin/identity/saml-configs``.\n\nThe security flags and signature/digest algorithms are not client fields;\nthey are server-set defaults (see ``SsoConfigService.create_saml_config``). The server assigns ``saml_id``;\nclients may not choose a primary key on create."
      },
      "CreateScheduleRequest": {
        "properties": {
          "autoscale_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Autoscale Config Id",
            "description": "AutoScale config this schedule governs the active hours of."
          },
          "days_of_the_week": {
            "items": {
              "type": "integer",
              "maximum": 7,
              "minimum": 1
            },
            "type": "array",
            "title": "Days Of The Week",
            "description": "Days the schedule is active, as ISO weekday numbers (1 = Monday ... 7 = Sunday)."
          },
          "active_start_time": {
            "type": "string",
            "format": "time",
            "title": "Active Start Time",
            "description": "Local time (in `timezone`) the schedule activates on each selected day."
          },
          "active_end_time": {
            "type": "string",
            "format": "time",
            "title": "Active End Time",
            "description": "Local time (in `timezone`) the schedule deactivates. When earlier than `active_start_time`, the window is overnight: it ends at this time on the following day."
          },
          "timezone": {
            "type": "string",
            "title": "Timezone",
            "description": "IANA time zone name the schedule's times are evaluated in, e.g. `America/New_York`. Validated against the system tz database — an unknown name is a 400."
          }
        },
        "type": "object",
        "required": [
          "autoscale_config_id",
          "days_of_the_week",
          "active_start_time",
          "active_end_time",
          "timezone"
        ],
        "title": "CreateScheduleRequest",
        "description": "Request body for ``POST /api/admin/infrastructure/autoscale-schedules``.\n\nFields sit at the top level of the body. ``timezone`` is an IANA name,\nvalidated against the system tz database — an unknown name is a 400."
      },
      "CreateServerPoolRequest": {
        "properties": {
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id",
            "description": "Optional client-chosen id for the new pool; generated when omitted."
          },
          "server_pool_name": {
            "type": "string",
            "minLength": 1,
            "title": "Server Pool Name"
          },
          "server_pool_type": {
            "$ref": "#/components/schemas/ServerPoolType",
            "description": "Whether this pool is used for provisioning `DOCKER_AGENTS` or `SERVER_POOL`."
          },
          "server_assignment_enabled": {
            "type": "boolean",
            "title": "Server Assignment Enabled",
            "description": "Whether individual users can be assigned to specific servers in this pool. Only valid for `SERVER` pools.",
            "default": false
          },
          "labels": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "pattern": "^[^,]*$"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Labels"
          }
        },
        "type": "object",
        "required": [
          "server_pool_name",
          "server_pool_type"
        ],
        "title": "CreateServerPoolRequest",
        "description": "Request body for ``POST /api/admin/infrastructure/server-pools``."
      },
      "CreateServerRequest": {
        "properties": {
          "server_type": {
            "$ref": "#/components/schemas/ServerType"
          },
          "hostname": {
            "type": "string",
            "minLength": 1,
            "title": "Hostname"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": true
          },
          "agent_installed": {
            "type": "boolean",
            "title": "Agent Installed",
            "default": false
          },
          "connection_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectionType"
              },
              {
                "type": "null"
              }
            ]
          },
          "connection_port": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": -2147483648
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Port"
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username"
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password"
          },
          "connection_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Private Key"
          },
          "connection_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Passphrase"
          },
          "use_user_private_key": {
            "type": "boolean",
            "title": "Use User Private Key",
            "default": false
          },
          "connection_credential_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectionCredentialType"
              },
              {
                "type": "null"
              }
            ]
          },
          "connection_sso_username_domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Sso Username Domain"
          },
          "connection_info": {
            "additionalProperties": true,
            "type": "object",
            "title": "Connection Info"
          },
          "max_simultaneous_sessions": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Simultaneous Sessions"
          },
          "max_simultaneous_users": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Simultaneous Users"
          },
          "zone_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Id",
            "description": "The server's zone. Omitted, the deployment's default zone."
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "labels": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "pattern": "^[^,]*$"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Labels"
          },
          "drain_time": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Drain Time"
          },
          "assigned_user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Assigned User Id"
          }
        },
        "type": "object",
        "required": [
          "server_type",
          "hostname"
        ],
        "title": "CreateServerRequest"
      },
      "CreateServerTemplateRequest": {
        "properties": {
          "template_name": {
            "type": "string",
            "minLength": 1,
            "title": "Template Name"
          },
          "maximum_uses": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Maximum Uses"
          },
          "expiration": {
            "type": "string",
            "format": "date-time",
            "title": "Expiration"
          },
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "template_enabled": {
            "type": "boolean",
            "title": "Template Enabled",
            "default": true
          },
          "connection_port": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": -2147483648
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Port"
          },
          "connection_credential_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectionCredentialType"
              },
              {
                "type": "null"
              }
            ]
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username"
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password"
          },
          "connection_sso_username_domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Sso Username Domain"
          },
          "connection_info": {
            "additionalProperties": true,
            "type": "object",
            "title": "Connection Info"
          },
          "max_simultaneous_sessions": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Sessions",
            "default": 1
          },
          "max_simultaneous_users": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Users",
            "default": 1
          }
        },
        "type": "object",
        "required": [
          "template_name",
          "maximum_uses",
          "expiration",
          "zone_id"
        ],
        "title": "CreateServerTemplateRequest",
        "description": "Request body for `POST /api/admin/catalog/server-templates`."
      },
      "CreateSessionTokenRequest": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          }
        },
        "type": "object",
        "required": [
          "user_id"
        ],
        "title": "CreateSessionTokenRequest",
        "description": "Body for ``POST /api/admin/identity/session-tokens``."
      },
      "CreateSsoAttributeMappingRequest": {
        "properties": {
          "attribute_name": {
            "type": "string",
            "minLength": 1,
            "title": "Attribute Name"
          },
          "user_field": {
            "$ref": "#/components/schemas/SsoUserField"
          }
        },
        "type": "object",
        "required": [
          "attribute_name",
          "user_field"
        ],
        "title": "CreateSsoAttributeMappingRequest",
        "description": "Body for ``POST .../sso-configs/{sso_id}/attribute-mappings``. The\ntarget SSO config comes from the path; it may be an LDAP, SAML, or OIDC\nconfig -- the service resolves which."
      },
      "CreateSsoGroupMappingRequest": {
        "properties": {
          "sso_id": {
            "type": "string",
            "format": "uuid",
            "title": "Sso Id"
          },
          "group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Id"
          },
          "sso_group_attributes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sso Group Attributes"
          },
          "apply_to_all_users": {
            "type": "boolean",
            "title": "Apply To All Users",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "sso_id",
          "group_id"
        ],
        "title": "CreateSsoGroupMappingRequest",
        "description": "Body for ``POST /api/admin/identity/sso-group-mappings``."
      },
      "CreateStagingConfigRequest": {
        "properties": {
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          },
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "num_sessions": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Num Sessions"
          },
          "expiration": {
            "type": "number",
            "exclusiveMinimum": 0,
            "title": "Expiration"
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "autoscale_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Autoscale Config Id"
          },
          "allow_kasm_audio": {
            "type": "boolean",
            "title": "Allow Kasm Audio",
            "default": false
          },
          "allow_kasm_uploads": {
            "type": "boolean",
            "title": "Allow Kasm Uploads",
            "default": false
          },
          "allow_kasm_downloads": {
            "type": "boolean",
            "title": "Allow Kasm Downloads",
            "default": false
          },
          "allow_kasm_clipboard_down": {
            "type": "boolean",
            "title": "Allow Kasm Clipboard Down",
            "default": false
          },
          "allow_kasm_clipboard_up": {
            "type": "boolean",
            "title": "Allow Kasm Clipboard Up",
            "default": false
          },
          "allow_kasm_microphone": {
            "type": "boolean",
            "title": "Allow Kasm Microphone",
            "default": false
          },
          "allow_kasm_gamepad": {
            "type": "boolean",
            "title": "Allow Kasm Gamepad",
            "default": false
          },
          "allow_kasm_webcam": {
            "type": "boolean",
            "title": "Allow Kasm Webcam",
            "default": false
          },
          "allow_kasm_printing": {
            "type": "boolean",
            "title": "Allow Kasm Printing",
            "default": false
          },
          "allow_kasm_rdp_client_file_transfer_clipboard": {
            "type": "boolean",
            "title": "Allow Kasm Rdp Client File Transfer Clipboard",
            "default": false
          },
          "allow_kasm_smart_card_passthrough": {
            "type": "boolean",
            "title": "Allow Kasm Smart Card Passthrough",
            "default": false
          },
          "allow_kasm_webauthn_passthrough": {
            "type": "boolean",
            "title": "Allow Kasm Webauthn Passthrough",
            "default": false
          },
          "allow_kasm_ssh_agent_passthrough": {
            "type": "boolean",
            "title": "Allow Kasm Ssh Agent Passthrough",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "zone_id",
          "image_id",
          "num_sessions",
          "expiration"
        ],
        "title": "CreateStagingConfigRequest",
        "description": "Request body for `POST /api/admin/catalog/staging-configs`."
      },
      "CreateStorageMappingRequest": {
        "properties": {
          "storage_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Storage Provider Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id"
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": false
          },
          "read_only": {
            "type": "boolean",
            "title": "Read Only",
            "default": false
          },
          "target": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(/|[a-zA-Z]:\\\\)"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target"
          },
          "name": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "webdav_user": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webdav User"
          },
          "webdav_pass": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webdav Pass"
          },
          "s3_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Access Key Id"
          },
          "s3_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Secret Access Key"
          },
          "s3_bucket": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Bucket"
          }
        },
        "type": "object",
        "required": [
          "storage_provider_id"
        ],
        "title": "CreateStorageMappingRequest",
        "description": "Request body for `POST /api/providers/storage-mappings` (providers that\ndo not use an OAuth login). `name` defaults to\n`\"<provider name> Storage Mapping\"`."
      },
      "CreateStorageProviderRequest": {
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name"
          },
          "storage_provider_type": {
            "$ref": "#/components/schemas/StorageProviderType"
          },
          "default_target": {
            "type": "string",
            "pattern": "^(/|[a-zA-Z]:\\\\)",
            "title": "Default Target"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": false
          },
          "client_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Id"
          },
          "client_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Secret"
          },
          "auth_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auth Url"
          },
          "token_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Token Url"
          },
          "webdav_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webdav Url"
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url"
          },
          "root_drive_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Root Drive Url"
          },
          "scope": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Scope",
            "default": []
          },
          "auth_url_options": {
            "additionalProperties": true,
            "type": "object",
            "title": "Auth Url Options",
            "default": {}
          },
          "volume_config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Volume Config",
            "default": {}
          },
          "mount_config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Mount Config",
            "default": {}
          }
        },
        "type": "object",
        "required": [
          "name",
          "storage_provider_type",
          "default_target"
        ],
        "title": "CreateStorageProviderRequest",
        "description": "Request body for `POST /api/admin/providers/storage-providers`.\n\nWhich optional fields a given provider type requires (OAuth client\nsettings, `webdav_url`, `root_drive_url`, `volume_config` keys) is\nchecked by that type's plugin against the DB-backed configuration and\nreported as a 400."
      },
      "CreateSupportBundleRequest": {
        "properties": {
          "collection_timeout": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Collection Timeout",
            "description": "Minutes the job may spend collecting data from components before it stops.",
            "default": 60
          },
          "bundle_expiration": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Bundle Expiration",
            "description": "Minutes the completed archive remains available for download.",
            "default": 1440
          },
          "target_session_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Session Id"
          }
        },
        "type": "object",
        "title": "CreateSupportBundleRequest",
        "description": "Request body for ``POST /api/admin/platform/support-bundles``."
      },
      "CreateUserRequest": {
        "properties": {
          "username": {
            "type": "string",
            "title": "Username"
          },
          "password": {
            "type": "string",
            "title": "Password"
          },
          "first_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name"
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "organization": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Organization"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "locked": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Locked"
          },
          "disabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled"
          },
          "company_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Company Id"
          },
          "program_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Program Id"
          },
          "realm": {
            "type": "string",
            "enum": [
              "local",
              "ldap",
              "oidc",
              "saml"
            ],
            "title": "Realm",
            "default": "local"
          },
          "oidc_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oidc Id"
          },
          "saml_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Saml Id"
          },
          "crypt_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Crypt Password"
          },
          "crypt_salt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Crypt Salt"
          },
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "City"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "custom_attribute_1": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 1"
          },
          "custom_attribute_2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 2"
          },
          "custom_attribute_3": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 3"
          }
        },
        "type": "object",
        "required": [
          "username",
          "password"
        ],
        "title": "CreateUserRequest",
        "description": "The create-user request body — the body *is* the user payload, with no\n``{target_user: ...}`` envelope."
      },
      "CreateVmProviderConfigRequest": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AzureVmConfigCreate"
          },
          {
            "$ref": "#/components/schemas/AwsVmConfigCreate"
          },
          {
            "$ref": "#/components/schemas/DigitalOceanVmConfigCreate"
          },
          {
            "$ref": "#/components/schemas/OciVmConfigCreate"
          },
          {
            "$ref": "#/components/schemas/GcpVmConfigCreate"
          },
          {
            "$ref": "#/components/schemas/VsphereVmConfigCreate"
          },
          {
            "$ref": "#/components/schemas/OpenstackVmConfigCreate"
          },
          {
            "$ref": "#/components/schemas/KubevirtVmConfigCreate"
          },
          {
            "$ref": "#/components/schemas/HarvesterVmConfigCreate"
          },
          {
            "$ref": "#/components/schemas/ProxmoxVmConfigCreate"
          },
          {
            "$ref": "#/components/schemas/NutanixVmConfigCreate"
          }
        ],
        "title": "CreateVmProviderConfigRequest",
        "description": "``POST`` request body: the create union, named for the spec.\n\nWraps :data:`AnyCreateVmProviderConfig`. ``*Request`` matches the naming\nevery other migrated domain uses for a write body\n(``CreateAutoscaleConfigRequest``, ``CreateZoneRequest``,\n``CreateImageRequest``, ...), which is why the alias carries the ``Any``\nprefix rather than this class carrying a ``*Body`` suffix.",
        "discriminator": {
          "propertyName": "vm_provider_name",
          "mapping": {
            "AWS": "#/components/schemas/AwsVmConfigCreate",
            "AZURE": "#/components/schemas/AzureVmConfigCreate",
            "DIGITAL_OCEAN": "#/components/schemas/DigitalOceanVmConfigCreate",
            "GCP": "#/components/schemas/GcpVmConfigCreate",
            "HARVESTER": "#/components/schemas/HarvesterVmConfigCreate",
            "KUBEVIRT": "#/components/schemas/KubevirtVmConfigCreate",
            "NUTANIX": "#/components/schemas/NutanixVmConfigCreate",
            "OCI": "#/components/schemas/OciVmConfigCreate",
            "OPENSTACK": "#/components/schemas/OpenstackVmConfigCreate",
            "PROXMOX": "#/components/schemas/ProxmoxVmConfigCreate",
            "VSPHERE": "#/components/schemas/VsphereVmConfigCreate"
          }
        }
      },
      "CreateWebFilterPolicyRequest": {
        "properties": {
          "filter_policy_name": {
            "type": "string",
            "minLength": 1,
            "title": "Filter Policy Name"
          },
          "filter_policy_descriptions": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter Policy Descriptions"
          },
          "categories": {
            "additionalProperties": {
              "$ref": "#/components/schemas/WebFilterCategoryAction"
            },
            "type": "object",
            "title": "Categories"
          },
          "domain_blacklist": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Domain Blacklist"
          },
          "domain_whitelist": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Domain Whitelist"
          },
          "deny_by_default": {
            "type": "boolean",
            "title": "Deny By Default",
            "default": false
          },
          "enable_categorization": {
            "type": "boolean",
            "title": "Enable Categorization",
            "default": false
          },
          "ssl_bypass_domains": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Ssl Bypass Domains"
          },
          "ssl_bypass_ips": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Ssl Bypass Ips"
          },
          "enable_safe_search": {
            "type": "boolean",
            "title": "Enable Safe Search",
            "default": false
          },
          "safe_search_patterns": {
            "items": {
              "$ref": "#/components/schemas/SafeSearchPattern"
            },
            "type": "array",
            "title": "Safe Search Patterns"
          },
          "disable_logging": {
            "type": "boolean",
            "title": "Disable Logging",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "filter_policy_name"
        ],
        "title": "CreateWebFilterPolicyRequest",
        "description": "Body for ``POST /api/admin/security/web-filter-policies``."
      },
      "CreateZoneRequest": {
        "properties": {
          "zone_name": {
            "type": "string",
            "minLength": 1,
            "title": "Zone Name"
          },
          "load_strategy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LOAD_STRATEGY"
              },
              {
                "type": "null"
              }
            ]
          },
          "proxy_load_strategy": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "least_proxy_kasms",
                  "most_proxy_kasms",
                  "random",
                  "least_proxy_load",
                  "most_proxy_load"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Load Strategy"
          },
          "search_alternate_zones": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Search Alternate Zones"
          },
          "prioritize_static_agents": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prioritize Static Agents"
          },
          "allow_origin_domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Origin Domain"
          },
          "upstream_auth_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Upstream Auth Address"
          },
          "proxy_connections": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Connections"
          },
          "proxy_rdp_client_connections": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Rdp Client Connections"
          },
          "proxy_hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Hostname"
          },
          "proxy_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Path"
          },
          "proxy_port": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 65535,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Port"
          },
          "verify_rdp_client_ip": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Verify Rdp Client Ip"
          },
          "enable_rdp_https_gw": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enable Rdp Https Gw"
          },
          "proxy_rdp_hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Rdp Hostname"
          },
          "proxy_rdp_port": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 65535,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Rdp Port"
          },
          "enable_rdp_https_gw_dlp": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enable Rdp Https Gw Dlp"
          },
          "enable_rdp_direct_login": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enable Rdp Direct Login"
          },
          "labels": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "pattern": "^[^,]*$"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Labels"
          }
        },
        "type": "object",
        "required": [
          "zone_name"
        ],
        "title": "CreateZoneRequest",
        "description": "The create-zone request body. ``zone_name`` is required; every other field is optional."
      },
      "DefaultImages": {
        "properties": {
          "user_image": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Image"
          },
          "group_image": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Image"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "DefaultImages",
        "description": "``GET /api/platform/default-images`` response.\n\nField names have no ``_id`` suffix for wire compatibility; values are\ncanonical dashed UUIDs."
      },
      "DeleteAgentSessionsResponse": {
        "properties": {
          "server_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Id"
          },
          "accepted_session_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Accepted Session Ids"
          },
          "already_deleting_session_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Already Deleting Session Ids"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_id",
          "accepted_session_ids",
          "already_deleting_session_ids"
        ],
        "title": "DeleteAgentSessionsResponse",
        "description": "``POST /api/admin/session/session-deletions`` (202)."
      },
      "DigitalOceanDnsProvider": {
        "properties": {
          "dns_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Dns Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "dns_provider_display_name": {
            "type": "string",
            "title": "Dns Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "dns_provider_config_name": {
            "type": "string",
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `dns_provider_config_name`; same value."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "DIGITAL_OCEAN",
            "title": "Dns Provider Name"
          },
          "digital_ocean_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Token",
            "description": "API token used to authenticate to the DigitalOcean account."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "dns_provider_config_id",
          "dns_provider_display_name",
          "dns_provider_config_name",
          "config_name",
          "dns_provider_name"
        ],
        "title": "DigitalOceanDnsProvider",
        "description": "`GET` response for a DigitalOcean DNS provider."
      },
      "DigitalOceanDnsProviderCreate": {
        "properties": {
          "dns_provider_config_name": {
            "type": "string",
            "minLength": 1,
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "DIGITAL_OCEAN",
            "title": "Dns Provider Name"
          },
          "digital_ocean_token": {
            "type": "string",
            "minLength": 1,
            "title": "Digital Ocean Token",
            "description": "API token used to authenticate to the DigitalOcean account."
          }
        },
        "type": "object",
        "required": [
          "dns_provider_config_name",
          "dns_provider_name",
          "digital_ocean_token"
        ],
        "title": "DigitalOceanDnsProviderCreate",
        "description": "`POST` body for a DigitalOcean DNS provider."
      },
      "DigitalOceanDnsProviderUpdate": {
        "properties": {
          "dns_provider_config_name": {
            "type": "string",
            "minLength": 1,
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "DIGITAL_OCEAN",
            "title": "Dns Provider Name"
          },
          "digital_ocean_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Token",
            "description": "API token used to authenticate to the DigitalOcean account."
          }
        },
        "type": "object",
        "required": [
          "dns_provider_name"
        ],
        "title": "DigitalOceanDnsProviderUpdate",
        "description": "`PATCH` body for a DigitalOcean DNS provider. Every field optional."
      },
      "DigitalOceanVmConfig": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `vm_provider_config_name`; same value."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "DIGITAL_OCEAN",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "digital_ocean_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Token",
            "description": "API token used to authenticate to the DigitalOcean account."
          },
          "region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region",
            "description": "DigitalOcean region where droplets should be provisioned (e.g. nyc3)."
          },
          "digital_ocean_droplet_image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Droplet Image",
            "description": "Droplet image to use when creating droplets (e.g. docker-24-04)."
          },
          "digital_ocean_droplet_size": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Droplet Size",
            "description": "DigitalOcean droplet size slug to provision (e.g. c-2)."
          },
          "digital_ocean_tags": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Tags",
            "description": "Comma-separated list of tags to assign to the droplet when it is created."
          },
          "digital_ocean_sshkey_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Sshkey Name",
            "description": "Name of an existing SSH key in the DigitalOcean account to assign to newly created droplets."
          },
          "digital_ocean_firewall_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Firewall Name",
            "description": "Name of an existing DigitalOcean Firewall to apply to newly created droplets."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_display_name",
          "vm_provider_config_name",
          "config_name",
          "vm_provider_name"
        ],
        "title": "DigitalOceanVmConfig",
        "description": "`GET` response for a DigitalOcean VM provider config."
      },
      "DigitalOceanVmConfigCreate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "DIGITAL_OCEAN",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "digital_ocean_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Token",
            "description": "API token used to authenticate to the DigitalOcean account."
          },
          "region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region",
            "description": "DigitalOcean region where droplets should be provisioned (e.g. nyc3)."
          },
          "digital_ocean_droplet_image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Droplet Image",
            "description": "Droplet image to use when creating droplets (e.g. docker-24-04)."
          },
          "digital_ocean_droplet_size": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Droplet Size",
            "description": "DigitalOcean droplet size slug to provision (e.g. c-2)."
          },
          "digital_ocean_tags": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Tags",
            "description": "Comma-separated list of tags to assign to the droplet when it is created."
          },
          "digital_ocean_sshkey_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Sshkey Name",
            "description": "Name of an existing SSH key in the DigitalOcean account to assign to newly created droplets."
          },
          "digital_ocean_firewall_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Firewall Name",
            "description": "Name of an existing DigitalOcean Firewall to apply to newly created droplets."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_config_name",
          "vm_provider_name"
        ],
        "title": "DigitalOceanVmConfigCreate",
        "description": "`POST` body for a DigitalOcean VM provider config."
      },
      "DigitalOceanVmConfigUpdate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider. Omit to leave unchanged."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot. Omit to leave unchanged; null clears it."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "DIGITAL_OCEAN",
            "title": "Vm Provider Name"
          },
          "digital_ocean_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Token",
            "description": "API token used to authenticate to the DigitalOcean account."
          },
          "region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region",
            "description": "DigitalOcean region where droplets should be provisioned (e.g. nyc3)."
          },
          "digital_ocean_droplet_image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Droplet Image",
            "description": "Droplet image to use when creating droplets (e.g. docker-24-04)."
          },
          "digital_ocean_droplet_size": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Droplet Size",
            "description": "DigitalOcean droplet size slug to provision (e.g. c-2)."
          },
          "digital_ocean_tags": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Tags",
            "description": "Comma-separated list of tags to assign to the droplet when it is created."
          },
          "digital_ocean_sshkey_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Sshkey Name",
            "description": "Name of an existing SSH key in the DigitalOcean account to assign to newly created droplets."
          },
          "digital_ocean_firewall_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digital Ocean Firewall Name",
            "description": "Name of an existing DigitalOcean Firewall to apply to newly created droplets."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_name"
        ],
        "title": "DigitalOceanVmConfigUpdate",
        "description": "`PATCH` body for a DigitalOcean VM provider config. Every field optional."
      },
      "DnsProviderName": {
        "type": "string",
        "enum": [
          "AWS",
          "AZURE",
          "DIGITAL_OCEAN",
          "GCP",
          "OCI"
        ],
        "title": "DnsProviderName",
        "description": "A DNS provider that has its own table."
      },
      "DnsProviderResponse": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AzureDnsProvider"
          },
          {
            "$ref": "#/components/schemas/AwsDnsProvider"
          },
          {
            "$ref": "#/components/schemas/DigitalOceanDnsProvider"
          },
          {
            "$ref": "#/components/schemas/OciDnsProvider"
          },
          {
            "$ref": "#/components/schemas/GcpDnsProvider"
          }
        ],
        "title": "DnsProviderResponse",
        "description": "Response body for a single DNS provider config: the tagged union, named.\n\nWraps :data:`AnyDnsProvider` so the ``oneOf``/``discriminator`` schema\ngets its own entry in ``components/schemas`` rather than being inlined\nper operation.",
        "discriminator": {
          "propertyName": "dns_provider_name",
          "mapping": {
            "AWS": "#/components/schemas/AwsDnsProvider",
            "AZURE": "#/components/schemas/AzureDnsProvider",
            "DIGITAL_OCEAN": "#/components/schemas/DigitalOceanDnsProvider",
            "GCP": "#/components/schemas/GcpDnsProvider",
            "OCI": "#/components/schemas/OciDnsProvider"
          }
        }
      },
      "DnsProviderSummary": {
        "properties": {
          "dns_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Dns Provider Config Id"
          },
          "dns_provider_name": {
            "$ref": "#/components/schemas/DnsProviderName",
            "description": "Provider the config belongs to, e.g. `AWS`. Pass as `?dns_provider_name=` to fetch the config from the dns routes."
          },
          "dns_provider_display_name": {
            "type": "string",
            "title": "Dns Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "dns_provider_config_id",
          "dns_provider_name",
          "dns_provider_display_name"
        ],
        "title": "DnsProviderSummary",
        "description": "Inline DNS-provider reference embedded in an autoscale config.\n\nCarries the id plus ``dns_provider_name`` -- the pair the DNS routes need\nto fetch the config -- and the human-readable provider name."
      },
      "DockerAgentSettings": {
        "properties": {
          "standby_cores": {
            "type": "integer",
            "title": "Standby Cores",
            "description": "Extra CPU cores kept available beyond staging requirements. Agents are created when available cores fall below this and deleted when above it, down to this floor. `0` means only staging requirements are provisioned."
          },
          "standby_memory_bytes": {
            "type": "integer",
            "title": "Standby Memory Bytes",
            "description": "Extra memory, in bytes, kept available beyond staging requirements. Same threshold behavior as `standby_cores`."
          },
          "standby_gpus": {
            "type": "integer",
            "title": "Standby Gpus",
            "description": "Extra GPUs kept available beyond staging requirements. Same threshold behavior as `standby_cores`."
          },
          "agent_cores_override": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Agent Cores Override",
            "description": "CPU cores to assume the provisioned compute resource has, overriding the cloud instance type's actual value."
          },
          "agent_memory_override_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Agent Memory Override Bytes",
            "description": "Memory, in bytes, to assume the provisioned compute resource has, overriding the cloud instance type's actual value."
          },
          "agent_gpus_override": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Agent Gpus Override",
            "description": "GPUs to assume the provisioned compute resource has; set above the actual count to oversubscribe."
          },
          "register_dns": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Register Dns",
            "description": "When true, the agent's IP address is registered in DNS under `base_domain_name`."
          },
          "base_domain_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Base Domain Name",
            "description": "Base DNS zone for agent DNS registration, e.g. `agents.kasm.example.com` yields `<agent_id>.agents.kasm.example.com`. Must already exist as a zone in the cloud provider's DNS system."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "standby_cores",
          "standby_memory_bytes",
          "standby_gpus"
        ],
        "title": "DockerAgentSettings",
        "description": "Fields that apply only to a ``DOCKER_AGENT`` config."
      },
      "DockerAgentSettingsCreate": {
        "properties": {
          "standby_cores": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Standby Cores",
            "description": "Extra CPU cores kept available beyond staging requirements. Agents are created when available cores fall below this and deleted when above it, down to this floor. `0` means only staging requirements are provisioned.",
            "default": 0
          },
          "standby_memory_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Standby Memory Bytes",
            "description": "Extra memory, in bytes, kept available beyond staging requirements. Same threshold behavior as `standby_cores`.",
            "default": 0
          },
          "standby_gpus": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Standby Gpus",
            "description": "Extra GPUs kept available beyond staging requirements. Same threshold behavior as `standby_cores`.",
            "default": 0
          },
          "agent_cores_override": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "title": "Agent Cores Override",
            "description": "CPU cores to assume the provisioned compute resource has, overriding the cloud instance type's actual value."
          },
          "agent_memory_override_bytes": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "title": "Agent Memory Override Bytes",
            "description": "Memory, in bytes, to assume the provisioned compute resource has, overriding the cloud instance type's actual value."
          },
          "agent_gpus_override": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Agent Gpus Override",
            "description": "GPUs to assume the provisioned compute resource has; set above the actual count to oversubscribe."
          },
          "register_dns": {
            "type": "boolean",
            "title": "Register Dns",
            "description": "When true, the agent's IP address is registered in DNS under `base_domain_name`, which must then be non-blank.",
            "default": false
          },
          "base_domain_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Base Domain Name",
            "description": "Base DNS zone for agent DNS registration, e.g. `agents.kasm.example.com` yields `<agent_id>.agents.kasm.example.com`. Must already exist as a zone in the cloud provider's DNS system. Required when `register_dns` is true."
          }
        },
        "type": "object",
        "required": [
          "agent_cores_override",
          "agent_memory_override_bytes",
          "agent_gpus_override"
        ],
        "title": "DockerAgentSettingsCreate",
        "description": "``docker_agent_settings`` on create.\n\n``agent_cores_override`` and ``agent_memory_override_bytes`` are required\nand must be positive.\n\n``register_dns`` defaults to ``False`` and cannot be sent as an explicit\n``null``. Setting it ``True`` requires a non-blank ``base_domain_name``."
      },
      "DockerAgentSettingsUpdate": {
        "properties": {
          "standby_cores": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Standby Cores",
            "description": "Extra CPU cores kept available beyond staging requirements. Omit to leave unchanged; explicit null is rejected."
          },
          "standby_memory_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Standby Memory Bytes",
            "description": "Extra memory, in bytes, kept available beyond staging requirements. Omit to leave unchanged; explicit null is rejected."
          },
          "standby_gpus": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Standby Gpus",
            "description": "Extra GPUs kept available beyond staging requirements. Omit to leave unchanged; explicit null is rejected."
          },
          "agent_cores_override": {
            "anyOf": [
              {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Agent Cores Override",
            "description": "CPU cores to assume the provisioned compute resource has. Omit to leave unchanged; explicit null clears it."
          },
          "agent_memory_override_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Agent Memory Override Bytes",
            "description": "Memory, in bytes, to assume the provisioned compute resource has. Omit to leave unchanged; explicit null clears it."
          },
          "agent_gpus_override": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Agent Gpus Override",
            "description": "GPUs to assume the provisioned compute resource has. Omit to leave unchanged; explicit null clears it."
          },
          "register_dns": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Register Dns",
            "description": "When true, the agent's IP address is registered in DNS under `base_domain_name`. Omit to leave unchanged; explicit null clears it."
          },
          "base_domain_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Base Domain Name",
            "description": "Base DNS zone for agent DNS registration when `register_dns` is true. Omit to leave unchanged; explicit null clears it."
          }
        },
        "type": "object",
        "title": "DockerAgentSettingsUpdate",
        "description": "``docker_agent_settings`` on update — every field optional, and an\nexplicit ``null`` on ``standby_cores``/``standby_memory_bytes``/\n``standby_gpus`` (the block's NOT-NULL columns) is a 422.\n\n``register_dns``/``base_domain_name`` stay nullable here — either may be\ncleared independently on an existing row — but the merged post-patch\nstate still can't hold ``register_dns=True`` with a blank\n``base_domain_name``."
      },
      "DomainUsageRow": {
        "properties": {
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "requests": {
            "type": "integer",
            "title": "Requests"
          },
          "allowed": {
            "type": "integer",
            "title": "Allowed"
          },
          "denied": {
            "type": "integer",
            "title": "Denied"
          },
          "categories": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Categories"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "requests",
          "allowed",
          "denied"
        ],
        "title": "DomainUsageRow"
      },
      "EgressCredentialListItem": {
        "properties": {
          "egress_credential_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Credential Id",
            "description": "Unique identifier of this credential."
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The unique name for the Egress Credential."
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username",
            "description": "The username for this credential, if any."
          },
          "password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Password",
            "description": "The password for this credential, masked."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration."
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id",
            "description": "The user this credential is bound to, if any."
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id",
            "description": "The group this credential is bound to, if any."
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id",
            "description": "The image (workspace) this credential is bound to, if any."
          },
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the Egress Provider this credential targets."
          },
          "allow_all_gateways": {
            "type": "boolean",
            "title": "Allow All Gateways",
            "description": "When enabled, all Egress Gateways in the selected Provider are available to this credential."
          },
          "wireguard_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Wireguard Private Key",
            "description": "The WireGuard private key for this credential, masked."
          },
          "tailscale_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tailscale Key",
            "description": "The Tailscale auth key for this credential, masked."
          },
          "limit_active_connections": {
            "type": "boolean",
            "title": "Limit Active Connections",
            "description": "When enabled, the number of concurrent active connections using this credential is capped at active_connection_limit."
          },
          "active_connection_limit": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Active Connection Limit",
            "description": "The maximum number of concurrent active connections allowed for this credential when limit_active_connections is enabled."
          },
          "active_connections": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Active Connections",
            "description": "The number of active Kasm connections currently using this credential."
          },
          "custom_credential": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Credential",
            "description": "The custom credential value for this credential, masked."
          },
          "egress_provider": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EgressProviderRef"
              },
              {
                "type": "null"
              }
            ],
            "description": "The Egress Provider this credential targets."
          },
          "egress_gateways": {
            "items": {
              "$ref": "#/components/schemas/EgressGatewayRef"
            },
            "type": "array",
            "title": "Egress Gateways",
            "description": "When Allow All Gateways is disabled, the specific gateways this credential applies to."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "egress_credential_id",
          "name",
          "enabled",
          "egress_provider_id",
          "allow_all_gateways",
          "limit_active_connections",
          "active_connection_limit",
          "active_connections"
        ],
        "title": "EgressCredentialListItem",
        "description": "Per-credential entry in the egress-credential list response — adds\nthe denormalized provider/gateway references for display."
      },
      "EgressCredentialSummary": {
        "properties": {
          "egress_credential_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Credential Id",
            "description": "Unique identifier of this credential."
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The unique name for the Egress Credential."
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username",
            "description": "The username for this credential, if any."
          },
          "password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Password",
            "description": "The password for this credential, masked."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration."
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id",
            "description": "The user this credential is bound to, if any."
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id",
            "description": "The group this credential is bound to, if any."
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id",
            "description": "The image (workspace) this credential is bound to, if any."
          },
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the Egress Provider this credential targets."
          },
          "allow_all_gateways": {
            "type": "boolean",
            "title": "Allow All Gateways",
            "description": "When enabled, all Egress Gateways in the selected Provider are available to this credential."
          },
          "wireguard_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Wireguard Private Key",
            "description": "The WireGuard private key for this credential, masked."
          },
          "tailscale_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tailscale Key",
            "description": "The Tailscale auth key for this credential, masked."
          },
          "limit_active_connections": {
            "type": "boolean",
            "title": "Limit Active Connections",
            "description": "When enabled, the number of concurrent active connections using this credential is capped at active_connection_limit."
          },
          "active_connection_limit": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Active Connection Limit",
            "description": "The maximum number of concurrent active connections allowed for this credential when limit_active_connections is enabled."
          },
          "active_connections": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Active Connections",
            "description": "The number of active Kasm connections currently using this credential."
          },
          "custom_credential": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Credential",
            "description": "The custom credential value for this credential, masked."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "egress_credential_id",
          "name",
          "enabled",
          "egress_provider_id",
          "allow_all_gateways",
          "limit_active_connections",
          "active_connection_limit",
          "active_connections"
        ],
        "title": "EgressCredentialSummary",
        "description": "Per-credential entry in the egress-credential list/create/update responses."
      },
      "EgressGatewayOption": {
        "properties": {
          "egress_gateway_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Gateway Id",
            "description": "Unique identifier of the egress gateway."
          },
          "egress_gateway_name": {
            "type": "string",
            "title": "Egress Gateway Name",
            "description": "The name of the egress gateway."
          },
          "egress_credential_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Credential Id",
            "description": "Unique identifier of the credential that authorizes use of this gateway."
          },
          "city": {
            "type": "string",
            "title": "City",
            "description": "The city for the egress gateway."
          },
          "country": {
            "type": "string",
            "title": "Country",
            "description": "The country for the egress gateway."
          },
          "egress_provider_name": {
            "type": "string",
            "title": "Egress Provider Name",
            "description": "The name of the owning egress provider."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "egress_gateway_id",
          "egress_gateway_name",
          "egress_credential_id",
          "city",
          "country",
          "egress_provider_name"
        ],
        "title": "EgressGatewayOption",
        "description": "A gateway the caller may pick when launching a workspace image,\npaired with the credential that authorizes its use."
      },
      "EgressGatewayRef": {
        "properties": {
          "egress_gateway_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Gateway Id",
            "description": "Unique identifier of the egress gateway."
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The unique name for the Egress Gateway."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "egress_gateway_id",
          "name"
        ],
        "title": "EgressGatewayRef",
        "description": "Minimal reference to an egress gateway, embedded in mapping/credential list responses."
      },
      "EgressGatewaySummary": {
        "properties": {
          "egress_gateway_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Gateway Id",
            "description": "Unique identifier of the egress gateway."
          },
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the owning egress provider."
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The unique name for the Egress Gateway."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration."
          },
          "country": {
            "type": "string",
            "title": "Country",
            "description": "The country for the Egress Gateway."
          },
          "city": {
            "type": "string",
            "title": "City",
            "description": "The city for the Egress Gateway."
          },
          "config": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Config",
            "description": "The Egress Gateway configuration (OpenVPN, WireGuard, or Custom), masked."
          },
          "active_connections": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Active Connections",
            "description": "The number of active Kasm connections currently using this gateway."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "egress_gateway_id",
          "egress_provider_id",
          "name",
          "enabled",
          "country",
          "city",
          "active_connections"
        ],
        "title": "EgressGatewaySummary",
        "description": "Per-gateway entry in the egress-gateway list/create/update responses."
      },
      "EgressProviderMappingListItem": {
        "properties": {
          "egress_provider_mapping_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Mapping Id",
            "description": "Unique identifier of this mapping."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration."
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created",
            "description": "Timestamp the mapping was created."
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id",
            "description": "The user this mapping is bound to, if any."
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id",
            "description": "The group this mapping is bound to, if any."
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id",
            "description": "The image (workspace) this mapping is bound to, if any."
          },
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the Egress Provider this mapping targets."
          },
          "allow_all_gateways": {
            "type": "boolean",
            "title": "Allow All Gateways",
            "description": "When enabled, all Egress Gateways in the selected Provider are mapped."
          },
          "egress_provider": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EgressProviderRef"
              },
              {
                "type": "null"
              }
            ],
            "description": "The Egress Provider this mapping targets."
          },
          "egress_gateways": {
            "items": {
              "$ref": "#/components/schemas/EgressGatewayRef"
            },
            "type": "array",
            "title": "Egress Gateways",
            "description": "When Allow All Gateways is disabled, the specific gateways this mapping applies to."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "egress_provider_mapping_id",
          "enabled",
          "created",
          "egress_provider_id",
          "allow_all_gateways"
        ],
        "title": "EgressProviderMappingListItem",
        "description": "Per-mapping entry in the egress-provider-mapping list response — adds\nthe denormalized provider/gateway references for display."
      },
      "EgressProviderMappingSummary": {
        "properties": {
          "egress_provider_mapping_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Mapping Id",
            "description": "Unique identifier of this mapping."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration."
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created",
            "description": "Timestamp the mapping was created."
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id",
            "description": "The user this mapping is bound to, if any."
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id",
            "description": "The group this mapping is bound to, if any."
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id",
            "description": "The image (workspace) this mapping is bound to, if any."
          },
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the Egress Provider this mapping targets."
          },
          "allow_all_gateways": {
            "type": "boolean",
            "title": "Allow All Gateways",
            "description": "When enabled, all Egress Gateways in the selected Provider are mapped."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "egress_provider_mapping_id",
          "enabled",
          "created",
          "egress_provider_id",
          "allow_all_gateways"
        ],
        "title": "EgressProviderMappingSummary",
        "description": "Per-mapping entry in the egress-provider-mapping create/update responses."
      },
      "EgressProviderOption": {
        "properties": {
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the egress provider."
          },
          "egress_provider_name": {
            "type": "string",
            "title": "Egress Provider Name",
            "description": "The name of the egress provider."
          },
          "egress_provider_type": {
            "$ref": "#/components/schemas/EgressProviderType",
            "description": "The type of Egress Provider configuration."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "egress_provider_id",
          "egress_provider_name",
          "egress_provider_type"
        ],
        "title": "EgressProviderOption",
        "description": "A gateway-less (e.g. OpenZiti) egress provider the caller has access\nto for a workspace image."
      },
      "EgressProviderRef": {
        "properties": {
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the egress provider."
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The unique name for the Egress Provider."
          },
          "egress_provider_type": {
            "$ref": "#/components/schemas/EgressProviderType",
            "description": "The type of Egress Provider configuration."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "egress_provider_id",
          "name",
          "egress_provider_type"
        ],
        "title": "EgressProviderRef",
        "description": "Minimal reference to an egress provider, embedded in mapping/credential list responses."
      },
      "EgressProviderSummary": {
        "properties": {
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the egress provider."
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created",
            "description": "Timestamp of when the egress provider was created."
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The unique name for the Egress Provider."
          },
          "egress_provider_type": {
            "$ref": "#/components/schemas/EgressProviderType",
            "description": "The type of Egress Provider configuration."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration."
          },
          "is_managed": {
            "type": "boolean",
            "title": "Is Managed",
            "description": "Whether the Egress Provider is managed by an Egress Plugin."
          },
          "external_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Id",
            "description": "External identifier assigned to this provider by its managing Egress Plugin, if any."
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version",
            "description": "Version of the configuration reported by this provider's managing Egress Plugin, if any."
          },
          "enable_new_managed_gateways": {
            "type": "boolean",
            "title": "Enable New Managed Gateways",
            "description": "For a managed Egress Provider, when enabled any new Egress Gateways sent by the Egress Plugin Service are automatically enabled."
          },
          "egress_plugin_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Plugin Id",
            "description": "The ID of the Egress Plugin that manages this Egress Provider."
          },
          "egress_plugin_account_count": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Egress Plugin Account Count",
            "description": "The number of Managed Egress Accounts currently provisioned on this Kasm Workspaces deployment for this Managed Egress Provider."
          },
          "egress_plugin_active_connections": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Egress Plugin Active Connections",
            "description": "The number of Kasm connections currently using this Managed Egress Provider."
          },
          "egress_plugin_remaining_connections": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Egress Plugin Remaining Connections",
            "description": "The number of remaining available connections for this Managed Egress Provider, based on the number of provisioned accounts and current active connections."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "egress_provider_id",
          "created",
          "name",
          "egress_provider_type",
          "enabled",
          "is_managed",
          "enable_new_managed_gateways",
          "egress_plugin_account_count",
          "egress_plugin_active_connections",
          "egress_plugin_remaining_connections"
        ],
        "title": "EgressProviderSummary",
        "description": "Per-provider entry in the egress-provider list/create/update responses."
      },
      "EgressProviderType": {
        "type": "string",
        "enum": [
          "openvpn",
          "wireguard",
          "tailscale",
          "custom",
          "ziti"
        ],
        "title": "EgressProviderType",
        "description": "The VPN protocol or mechanism an egress provider uses."
      },
      "EgressProviderZitiConfigSummary": {
        "properties": {
          "egress_provider_ziti_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Ziti Config Id",
            "description": "Unique identifier of this OpenZiti configuration."
          },
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the egress provider."
          },
          "ziti_admin_identity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ziti Admin Identity",
            "description": "Whether an OpenZiti admin identity is set for this provider (masked; never the real credential)."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "egress_provider_ziti_config_id",
          "egress_provider_id"
        ],
        "title": "EgressProviderZitiConfigSummary",
        "description": "The OpenZiti admin identity configuration for a Ziti-type egress provider."
      },
      "EgressSelectionRequiredProblem": {
        "properties": {
          "type": {
            "type": "string",
            "const": "egress-selection-required",
            "title": "Type",
            "default": "egress-selection-required"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "status": {
            "type": "integer",
            "title": "Status"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          },
          "instance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance"
          },
          "launch_options": {
            "$ref": "#/components/schemas/LaunchOptions"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "status",
          "detail",
          "launch_options"
        ],
        "title": "EgressSelectionRequiredProblem",
        "description": "The caller has egress gateways or providers to choose from and chose none."
      },
      "ExecConfig": {
        "properties": {
          "cmd": {
            "type": "string",
            "maxLength": 8192,
            "minLength": 1,
            "title": "Cmd"
          },
          "environment": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "title": "Environment"
          },
          "workdir": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4096
              },
              {
                "type": "null"
              }
            ],
            "title": "Workdir"
          },
          "privileged": {
            "type": "boolean",
            "title": "Privileged",
            "default": false
          },
          "user": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 256
              },
              {
                "type": "null"
              }
            ],
            "title": "User"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "cmd"
        ],
        "title": "ExecConfig",
        "description": "A command the agent runs in the container with ``docker exec``."
      },
      "ExecutionCommandAccepted": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "command": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Command"
          },
          "queued": {
            "type": "boolean",
            "title": "Queued",
            "default": false
          },
          "session": {
            "$ref": "#/components/schemas/SessionSummary"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "session"
        ],
        "title": "ExecutionCommandAccepted",
        "description": "``POST .../execution-commands`` (202): the command ran, or is queued.\n\n``queued`` says which. A container that is serving runs the command before\nthis returns; one that is still coming up -- starting, being placed, being\nresumed -- takes it into ``queued_tasks`` and the reconciler runs it the\nmoment the container is serving. ``command`` is the name for a named\ncommand and ``None`` for a free-form one."
      },
      "ExecutionCommandRequest": {
        "properties": {
          "command": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Command"
          },
          "url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4096
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          },
          "exec": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExecConfig"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "ExecutionCommandRequest",
        "description": "``POST .../execution-commands``: run a command in the session.\n\nExactly one of two forms. ``command`` names one of the image's exec configs\nand ``url`` is the parameter of its ``go`` command (opens the URL in the\nsession). ``exec`` is a free-form command -- the developer API's\n``exec_config`` -- and needs the ``SESSIONS_MODIFY`` scope; a plain user\ntoken may only name what the image defines."
      },
      "ExperimentalFeatures": {
        "properties": {
          "enable_experimental_features": {
            "type": "boolean",
            "title": "Enable Experimental Features"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "enable_experimental_features"
        ],
        "title": "ExperimentalFeatures",
        "description": "``GET /api/admin/platform/experimental-features`` response."
      },
      "FacetCount": {
        "properties": {
          "value": {
            "type": "string",
            "title": "Value"
          },
          "count": {
            "type": "integer",
            "title": "Count"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "value",
          "count"
        ],
        "title": "FacetCount"
      },
      "FileMappingContentReplace": {
        "properties": {
          "file": {
            "type": "string",
            "contentMediaType": "application/octet-stream",
            "title": "File",
            "description": "New file contents."
          }
        },
        "type": "object",
        "required": [
          "file"
        ],
        "title": "FileMappingContentReplace"
      },
      "FileMappingSummary": {
        "properties": {
          "file_map_id": {
            "type": "string",
            "format": "uuid",
            "title": "File Map Id"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "destination": {
            "type": "string",
            "title": "Destination"
          },
          "file_type": {
            "type": "string",
            "title": "File Type"
          },
          "is_readable": {
            "type": "boolean",
            "title": "Is Readable"
          },
          "is_writable": {
            "type": "boolean",
            "title": "Is Writable"
          },
          "is_executable": {
            "type": "boolean",
            "title": "Is Executable"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "session_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Id"
          },
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "file_map_id",
          "created",
          "name",
          "destination",
          "file_type",
          "is_readable",
          "is_writable",
          "is_executable",
          "enabled"
        ],
        "title": "FileMappingSummary"
      },
      "FileMappingUpload": {
        "properties": {
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "destination": {
            "type": "string",
            "minLength": 1,
            "title": "Destination"
          },
          "is_readable": {
            "type": "boolean",
            "title": "Is Readable",
            "default": true
          },
          "is_writable": {
            "type": "boolean",
            "title": "Is Writable",
            "default": false
          },
          "is_executable": {
            "type": "boolean",
            "title": "Is Executable",
            "default": false
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": false
          },
          "file": {
            "type": "string",
            "contentMediaType": "application/octet-stream",
            "title": "File",
            "description": "File contents to store as the mapping's content."
          }
        },
        "type": "object",
        "required": [
          "name",
          "destination",
          "file"
        ],
        "title": "FileMappingUpload"
      },
      "GPU_GRAPHICS_ACCELERATION": {
        "type": "string",
        "enum": [
          "DRI3",
          "EGL",
          "VULKAN",
          "MESA"
        ],
        "title": "GPU_GRAPHICS_ACCELERATION"
      },
      "GPU_VIDEO_ENCODING": {
        "type": "string",
        "enum": [
          "VAAPI",
          "NVENC",
          "SW"
        ],
        "title": "GPU_VIDEO_ENCODING"
      },
      "GcpDnsProvider": {
        "properties": {
          "dns_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Dns Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "dns_provider_display_name": {
            "type": "string",
            "title": "Dns Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "dns_provider_config_name": {
            "type": "string",
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `dns_provider_config_name`; same value."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "GCP",
            "title": "Dns Provider Name"
          },
          "gcp_credentials": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Credentials",
            "description": "GCP service-account credentials, masked. `{}` if none are set."
          },
          "gcp_project": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Project",
            "description": "The Google Cloud project ID for this provider."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "dns_provider_config_id",
          "dns_provider_display_name",
          "dns_provider_config_name",
          "config_name",
          "dns_provider_name",
          "gcp_credentials"
        ],
        "title": "GcpDnsProvider",
        "description": "`GET` response for a GCP DNS provider."
      },
      "GcpDnsProviderCreate": {
        "properties": {
          "dns_provider_config_name": {
            "type": "string",
            "minLength": 1,
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "GCP",
            "title": "Dns Provider Name"
          },
          "gcp_credentials": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Credentials",
            "description": "GCP service-account credentials, masked. `{}` if none are set."
          },
          "gcp_project": {
            "type": "string",
            "minLength": 1,
            "title": "Gcp Project",
            "description": "The Google Cloud project ID for this provider."
          }
        },
        "type": "object",
        "required": [
          "dns_provider_config_name",
          "dns_provider_name",
          "gcp_project"
        ],
        "title": "GcpDnsProviderCreate",
        "description": "`POST` body for a GCP DNS provider."
      },
      "GcpDnsProviderUpdate": {
        "properties": {
          "dns_provider_config_name": {
            "type": "string",
            "minLength": 1,
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "GCP",
            "title": "Dns Provider Name"
          },
          "gcp_credentials": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Credentials",
            "description": "GCP service-account credentials, masked. `{}` if none are set."
          },
          "gcp_project": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Project",
            "description": "The Google Cloud project ID for this provider."
          }
        },
        "type": "object",
        "required": [
          "dns_provider_name"
        ],
        "title": "GcpDnsProviderUpdate",
        "description": "`PATCH` body for a GCP DNS provider. Every field optional."
      },
      "GcpVmConfig": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `vm_provider_config_name`; same value."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "GCP",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "vm_installed_os_type": {
            "type": "string",
            "title": "Vm Installed Os Type",
            "description": "OS family installed on the VM image."
          },
          "startup_script_type": {
            "type": "string",
            "title": "Startup Script Type",
            "description": "How ``startup_script`` is delivered to the instance metadata."
          },
          "gcp_project": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Project",
            "description": "The Google Cloud project ID for this provider."
          },
          "gcp_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Region",
            "description": "The GCP region in which new compute instances are provisioned."
          },
          "gcp_zone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Zone",
            "description": "The GCP zone in which new compute instances are provisioned."
          },
          "gcp_machine_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Machine Type",
            "description": "The GCP machine type used for provisioned compute instances."
          },
          "gcp_image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Image",
            "description": "The machine image used to create new compute instances."
          },
          "gcp_boot_volume_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Boot Volume Bytes",
            "description": "Boot volume size for new instances, in bytes (whole GB / 10^9 increments)."
          },
          "gcp_cmek": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Cmek",
            "description": "Optional path to the Customer Managed Encryption Key (CMEK) for the instance's disks."
          },
          "gcp_disk_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Disk Type",
            "description": "The GCP disk type for new instances, e.g. `pd-ssd` or `pd-standard`."
          },
          "gcp_network": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Network",
            "description": "The path of the GCP network to attach to new instances."
          },
          "gcp_subnetwork": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Subnetwork",
            "description": "The path of the GCP subnetwork to attach to new instances."
          },
          "gcp_public_ip": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Public Ip",
            "description": "Whether new instances are assigned a public IP address."
          },
          "gcp_network_tags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Gcp Network Tags",
            "description": "Network tags to assign to new instances."
          },
          "gcp_custom_labels": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Custom Labels",
            "description": "Custom labels to assign to new instances."
          },
          "gcp_credentials": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Credentials",
            "description": "GCP service-account credentials, masked. `{}` if none are set."
          },
          "gcp_metadata": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Gcp Metadata",
            "description": "Metadata key/value entries to add to new instances, such as SSH keys."
          },
          "gcp_service_account": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Service Account",
            "description": "A service account to attach to new instances."
          },
          "gcp_guest_accelerators": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Gcp Guest Accelerators",
            "description": "Guest accelerators (e.g. GPUs) to attach to new instances."
          },
          "gcp_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Config Override",
            "description": "Overrides merged into the GCP instance request; `name`/`labels` cannot be overridden."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_display_name",
          "vm_provider_config_name",
          "config_name",
          "vm_provider_name",
          "vm_installed_os_type",
          "startup_script_type",
          "gcp_credentials"
        ],
        "title": "GcpVmConfig",
        "description": "`GET` response for a GCP VM provider config."
      },
      "GcpVmConfigCreate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "GCP",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "vm_installed_os_type": {
            "type": "string",
            "title": "Vm Installed Os Type",
            "description": "OS family installed on the VM image.",
            "default": "linux"
          },
          "startup_script_type": {
            "type": "string",
            "title": "Startup Script Type",
            "description": "How ``startup_script`` is delivered to the instance metadata.",
            "default": "startup-script"
          },
          "gcp_project": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Project",
            "description": "The Google Cloud project ID for this provider."
          },
          "gcp_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Region",
            "description": "The GCP region in which new compute instances are provisioned."
          },
          "gcp_zone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Zone",
            "description": "The GCP zone in which new compute instances are provisioned."
          },
          "gcp_machine_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Machine Type",
            "description": "The GCP machine type used for provisioned compute instances."
          },
          "gcp_image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Image",
            "description": "The machine image used to create new compute instances."
          },
          "gcp_boot_volume_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Boot Volume Bytes",
            "description": "Boot volume size for new instances, in bytes (whole GB / 10^9 increments)."
          },
          "gcp_cmek": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Cmek",
            "description": "Optional path to the Customer Managed Encryption Key (CMEK) for the instance's disks."
          },
          "gcp_disk_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Disk Type",
            "description": "The GCP disk type for new instances, e.g. `pd-ssd` or `pd-standard`."
          },
          "gcp_network": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Network",
            "description": "The path of the GCP network to attach to new instances."
          },
          "gcp_subnetwork": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Subnetwork",
            "description": "The path of the GCP subnetwork to attach to new instances."
          },
          "gcp_public_ip": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Public Ip",
            "description": "Whether new instances are assigned a public IP address.",
            "default": false
          },
          "gcp_network_tags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Gcp Network Tags",
            "description": "Network tags to assign to new instances."
          },
          "gcp_custom_labels": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Custom Labels",
            "description": "Custom labels to assign to new instances."
          },
          "gcp_credentials": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Credentials",
            "description": "GCP service-account credentials, masked. `{}` if none are set."
          },
          "gcp_metadata": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Gcp Metadata",
            "description": "Metadata key/value entries to add to new instances, such as SSH keys."
          },
          "gcp_service_account": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Service Account",
            "description": "A service account to attach to new instances."
          },
          "gcp_guest_accelerators": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Gcp Guest Accelerators",
            "description": "Guest accelerators (e.g. GPUs) to attach to new instances."
          },
          "gcp_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Config Override",
            "description": "Overrides merged into the GCP instance request; `name`/`labels` cannot be overridden."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_config_name",
          "vm_provider_name"
        ],
        "title": "GcpVmConfigCreate",
        "description": "`POST` body for a GCP VM provider config."
      },
      "GcpVmConfigUpdate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider. Omit to leave unchanged."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot. Omit to leave unchanged; null clears it."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "GCP",
            "title": "Vm Provider Name"
          },
          "vm_installed_os_type": {
            "type": "string",
            "title": "Vm Installed Os Type",
            "description": "OS family installed on the VM image."
          },
          "startup_script_type": {
            "type": "string",
            "title": "Startup Script Type",
            "description": "How ``startup_script`` is delivered to the instance metadata."
          },
          "gcp_project": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Project",
            "description": "The Google Cloud project ID for this provider."
          },
          "gcp_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Region",
            "description": "The GCP region in which new compute instances are provisioned."
          },
          "gcp_zone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Zone",
            "description": "The GCP zone in which new compute instances are provisioned."
          },
          "gcp_machine_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Machine Type",
            "description": "The GCP machine type used for provisioned compute instances."
          },
          "gcp_image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Image",
            "description": "The machine image used to create new compute instances."
          },
          "gcp_boot_volume_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Boot Volume Bytes",
            "description": "Boot volume size for new instances, in bytes (whole GB / 10^9 increments)."
          },
          "gcp_cmek": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Cmek",
            "description": "Optional path to the Customer Managed Encryption Key (CMEK) for the instance's disks."
          },
          "gcp_disk_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Disk Type",
            "description": "The GCP disk type for new instances, e.g. `pd-ssd` or `pd-standard`."
          },
          "gcp_network": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Network",
            "description": "The path of the GCP network to attach to new instances."
          },
          "gcp_subnetwork": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Subnetwork",
            "description": "The path of the GCP subnetwork to attach to new instances."
          },
          "gcp_public_ip": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gcp Public Ip",
            "description": "Whether new instances are assigned a public IP address."
          },
          "gcp_network_tags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Gcp Network Tags",
            "description": "Network tags to assign to new instances."
          },
          "gcp_custom_labels": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Custom Labels",
            "description": "Custom labels to assign to new instances."
          },
          "gcp_credentials": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Credentials",
            "description": "GCP service-account credentials, masked. `{}` if none are set."
          },
          "gcp_metadata": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Gcp Metadata",
            "description": "Metadata key/value entries to add to new instances, such as SSH keys."
          },
          "gcp_service_account": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Service Account",
            "description": "A service account to attach to new instances."
          },
          "gcp_guest_accelerators": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Gcp Guest Accelerators",
            "description": "Guest accelerators (e.g. GPUs) to attach to new instances."
          },
          "gcp_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Gcp Config Override",
            "description": "Overrides merged into the GCP instance request; `name`/`labels` cannot be overridden."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_name"
        ],
        "title": "GcpVmConfigUpdate",
        "description": "`PATCH` body for a GCP VM provider config. Every field optional."
      },
      "GetRegistriesResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/RegistrySummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          },
          "architectures": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Architectures"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size",
          "architectures"
        ],
        "title": "GetRegistriesResponse",
        "description": "Paginated registry list, plus the set of server architectures present\nin the deployment."
      },
      "GetUserImagesResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UserImageSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          },
          "all_categories": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Categories"
          },
          "disabled_image_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled Image Message"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "GetUserImagesResponse",
        "description": "Paginated list of the images available to the authenticated user.\n``all_categories`` spans every image the user can see, not just the\ncurrent page, so category filters can be rendered without paging."
      },
      "GpuExclusions": {
        "properties": {
          "graphics": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Graphics"
          },
          "video": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Video"
          },
          "cuda": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Cuda"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "GpuExclusions"
      },
      "GrantPermissionsRequest": {
        "properties": {
          "permission_ids": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "minItems": 1,
            "title": "Permission Ids"
          }
        },
        "type": "object",
        "required": [
          "permission_ids"
        ],
        "title": "GrantPermissionsRequest",
        "description": "Body for granting additional permissions (POST).\n\n``permission_ids`` must be non-empty -- granting nothing is a meaningless\nrequest, unlike PUT (replace, ``GroupPermissionsRequest``), which\nlegitimately accepts an empty list to clear every existing grant."
      },
      "GroupImageRef": {
        "properties": {
          "group_image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Image Id"
          },
          "group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Id"
          },
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "image_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Name"
          },
          "image_friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Friendly Name"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          },
          "group_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "group_image_id",
          "group_id",
          "image_id",
          "image_name",
          "image_friendly_name",
          "image_src",
          "group_name"
        ],
        "title": "GroupImageRef",
        "description": "An image assigned to a group."
      },
      "GroupMappingRef": {
        "properties": {
          "sso_group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Sso Group Id"
          },
          "ldap_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ldap Id"
          },
          "saml_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Saml Id"
          },
          "oidc_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oidc Id"
          },
          "group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Id"
          },
          "sso_group_attributes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sso Group Attributes"
          },
          "apply_to_all_users": {
            "type": "boolean",
            "title": "Apply To All Users"
          },
          "sso_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sso Name"
          },
          "sso_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sso Type"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "sso_group_id",
          "ldap_id",
          "saml_id",
          "oidc_id",
          "group_id",
          "sso_group_attributes",
          "apply_to_all_users",
          "sso_name",
          "sso_type"
        ],
        "title": "GroupMappingRef"
      },
      "GroupPermissionsRequest": {
        "properties": {
          "permission_ids": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "title": "Permission Ids"
          }
        },
        "type": "object",
        "required": [
          "permission_ids"
        ],
        "title": "GroupPermissionsRequest",
        "description": "Body for replacing a group's **or API config's** whole permission set (PUT).\n\n``permission_ids`` may be empty here -- this legitimately clears every\nexisting grant. It has no default: the field must be present, so an\nomitted body or `{}` 422s rather than silently clearing every grant."
      },
      "GroupSettingSummary": {
        "properties": {
          "group_setting_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Setting Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          },
          "value_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value Type"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "group_setting_id",
          "name",
          "value",
          "value_type",
          "description",
          "group_id"
        ],
        "title": "GroupSettingSummary",
        "description": "A ``group_settings`` row. ``value`` is the stored string form (JSON-typed\nsettings carry a JSON string), except ``kasmvnc_mode_preference``, which is\nreturned in its API form."
      },
      "GroupSummary": {
        "properties": {
          "group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "priority": {
            "type": "integer",
            "title": "Priority"
          },
          "is_system": {
            "type": "boolean",
            "title": "Is System"
          },
          "group_metadata": {
            "additionalProperties": true,
            "type": "object",
            "title": "Group Metadata"
          },
          "group_mappings": {
            "items": {
              "$ref": "#/components/schemas/GroupMappingRef"
            },
            "type": "array",
            "title": "Group Mappings"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "group_id",
          "name",
          "description",
          "priority",
          "is_system",
          "group_metadata",
          "group_mappings"
        ],
        "title": "GroupSummary"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "HarvesterVmConfig": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `vm_provider_config_name`; same value."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "HARVESTER",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "kube_host": {
            "type": "string",
            "title": "Kube Host",
            "description": "The address of the Harvester instance, from the kubeconfig file."
          },
          "kube_ssl_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Ssl Cert",
            "description": "The Harvester SSL certificate, base64-encoded, from the kubeconfig file."
          },
          "kube_api_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Api Token",
            "description": "The API token used to authenticate to Harvester, from the kubeconfig file."
          },
          "vm_namespace": {
            "type": "string",
            "title": "Vm Namespace",
            "description": "The Harvester namespace where the VM will be provisioned."
          },
          "vm_public_ssh_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Public Ssh Key",
            "description": "A public SSH key to inject into the VM for use in its startup script."
          },
          "cores": {
            "type": "integer",
            "title": "Cores",
            "description": "The number of CPU cores to allocate to the VM."
          },
          "memory_bytes": {
            "type": "integer",
            "title": "Memory Bytes",
            "description": "The amount of memory to allocate to the VM, in bytes."
          },
          "disk_image": {
            "type": "string",
            "title": "Disk Image",
            "description": "The name of the Harvester image to use for the VM."
          },
          "disk_size_bytes": {
            "type": "integer",
            "title": "Disk Size Bytes",
            "description": "The size of the VM's disk, in bytes."
          },
          "interface_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interface Type",
            "description": "The network interface type for the VM (masquerade or bridge)."
          },
          "network_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Name",
            "description": "The name of the network to attach the VM to (used with the multus network type)."
          },
          "network_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Type",
            "description": "The network type for the VM (pod or multus)."
          },
          "enable_tpm": {
            "type": "boolean",
            "title": "Enable Tpm",
            "description": "Whether to enable a virtual TPM for the VM."
          },
          "enable_efi_boot": {
            "type": "boolean",
            "title": "Enable Efi Boot",
            "description": "Whether to enable EFI boot for the VM."
          },
          "enable_secure_boot": {
            "type": "boolean",
            "title": "Enable Secure Boot",
            "description": "Whether to enable Secure Boot for the VM (requires EFI boot to be enabled)."
          },
          "config_override": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Config Override",
            "description": "An optional YAML manifest override used when provisioning the VM."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_display_name",
          "vm_provider_config_name",
          "config_name",
          "vm_provider_name",
          "max_instances",
          "kube_host",
          "vm_namespace",
          "cores",
          "memory_bytes",
          "disk_image",
          "disk_size_bytes",
          "enable_tpm",
          "enable_efi_boot",
          "enable_secure_boot"
        ],
        "title": "HarvesterVmConfig",
        "description": "`GET` response for a Harvester VM provider config."
      },
      "HarvesterVmConfigCreate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "HARVESTER",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "kube_host": {
            "type": "string",
            "title": "Kube Host",
            "description": "The address of the Harvester instance, from the kubeconfig file."
          },
          "kube_ssl_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Ssl Cert",
            "description": "The Harvester SSL certificate, base64-encoded, from the kubeconfig file."
          },
          "kube_api_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Api Token",
            "description": "The API token used to authenticate to Harvester, from the kubeconfig file."
          },
          "vm_namespace": {
            "type": "string",
            "title": "Vm Namespace",
            "description": "The Harvester namespace where the VM will be provisioned."
          },
          "vm_public_ssh_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Public Ssh Key",
            "description": "A public SSH key to inject into the VM for use in its startup script."
          },
          "cores": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Cores",
            "description": "The number of CPU cores to allocate to the VM."
          },
          "memory_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Memory Bytes",
            "description": "The amount of memory to allocate to the VM, in bytes."
          },
          "disk_image": {
            "type": "string",
            "title": "Disk Image",
            "description": "The name of the Harvester image to use for the VM."
          },
          "disk_size_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Disk Size Bytes",
            "description": "The size of the VM's disk, in bytes."
          },
          "interface_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interface Type",
            "description": "The network interface type for the VM (masquerade or bridge).",
            "default": "masquerade"
          },
          "network_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Name",
            "description": "The name of the network to attach the VM to (used with the multus network type).",
            "default": "default"
          },
          "network_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Type",
            "description": "The network type for the VM (pod or multus).",
            "default": "pod"
          },
          "enable_tpm": {
            "type": "boolean",
            "title": "Enable Tpm",
            "description": "Whether to enable a virtual TPM for the VM.",
            "default": false
          },
          "enable_efi_boot": {
            "type": "boolean",
            "title": "Enable Efi Boot",
            "description": "Whether to enable EFI boot for the VM.",
            "default": false
          },
          "enable_secure_boot": {
            "type": "boolean",
            "title": "Enable Secure Boot",
            "description": "Whether to enable Secure Boot for the VM (requires EFI boot to be enabled).",
            "default": false
          },
          "config_override": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Config Override",
            "description": "An optional YAML manifest override used when provisioning the VM."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_config_name",
          "vm_provider_name",
          "max_instances",
          "kube_host",
          "vm_namespace",
          "cores",
          "memory_bytes",
          "disk_image",
          "disk_size_bytes"
        ],
        "title": "HarvesterVmConfigCreate",
        "description": "`POST` body for a Harvester VM provider config."
      },
      "HarvesterVmConfigUpdate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider. Omit to leave unchanged."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot. Omit to leave unchanged; null clears it."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "HARVESTER",
            "title": "Vm Provider Name"
          },
          "kube_host": {
            "type": "string",
            "title": "Kube Host",
            "description": "The address of the Harvester instance, from the kubeconfig file."
          },
          "kube_ssl_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Ssl Cert",
            "description": "The Harvester SSL certificate, base64-encoded, from the kubeconfig file."
          },
          "kube_api_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Api Token",
            "description": "The API token used to authenticate to Harvester, from the kubeconfig file."
          },
          "vm_namespace": {
            "type": "string",
            "title": "Vm Namespace",
            "description": "The Harvester namespace where the VM will be provisioned."
          },
          "vm_public_ssh_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Public Ssh Key",
            "description": "A public SSH key to inject into the VM for use in its startup script."
          },
          "cores": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Cores",
            "description": "The number of CPU cores to allocate to the VM."
          },
          "memory_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Memory Bytes",
            "description": "The amount of memory to allocate to the VM, in bytes."
          },
          "disk_image": {
            "type": "string",
            "title": "Disk Image",
            "description": "The name of the Harvester image to use for the VM."
          },
          "disk_size_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Disk Size Bytes",
            "description": "The size of the VM's disk, in bytes."
          },
          "interface_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interface Type",
            "description": "The network interface type for the VM (masquerade or bridge)."
          },
          "network_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Name",
            "description": "The name of the network to attach the VM to (used with the multus network type)."
          },
          "network_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Type",
            "description": "The network type for the VM (pod or multus)."
          },
          "enable_tpm": {
            "type": "boolean",
            "title": "Enable Tpm",
            "description": "Whether to enable a virtual TPM for the VM."
          },
          "enable_efi_boot": {
            "type": "boolean",
            "title": "Enable Efi Boot",
            "description": "Whether to enable EFI boot for the VM."
          },
          "enable_secure_boot": {
            "type": "boolean",
            "title": "Enable Secure Boot",
            "description": "Whether to enable Secure Boot for the VM (requires EFI boot to be enabled)."
          },
          "config_override": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Config Override",
            "description": "An optional YAML manifest override used when provisioning the VM."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_name"
        ],
        "title": "HarvesterVmConfigUpdate",
        "description": "`PATCH` body for a Harvester VM provider config. Every field optional."
      },
      "HelpLink": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          },
          "fallback": {
            "type": "boolean",
            "title": "Fallback"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "url",
          "fallback"
        ],
        "title": "HelpLink",
        "description": "``GET /api/platform/help-links/{doc_id}`` response.\n\n``fallback`` is ``True`` when the upstream docs lookup failed and\n``url`` is a fallback link — this endpoint never 5xxs on that failure."
      },
      "IMAGE_TYPE": {
        "type": "string",
        "enum": [
          "Container",
          "Server",
          "Server Pool",
          "Link"
        ],
        "title": "IMAGE_TYPE"
      },
      "ImageAttributeSummary": {
        "properties": {
          "attr_id": {
            "type": "string",
            "format": "uuid",
            "title": "Attr Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "category": {
            "type": "string",
            "title": "Category"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          },
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "attr_id",
          "name",
          "category",
          "image_id"
        ],
        "title": "ImageAttributeSummary",
        "description": "One custom attribute of an image, as returned inside ``ImageSummary``."
      },
      "ImageBannerRef": {
        "properties": {
          "banner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Banner Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Config"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "banner_id",
          "name",
          "config"
        ],
        "title": "ImageBannerRef",
        "description": "The banner shown on an image's sessions, as returned in ``ImageSummary.session_banner``."
      },
      "ImageIncompatibleProblem": {
        "properties": {
          "type": {
            "type": "string",
            "const": "image-incompatible",
            "title": "Type",
            "default": "image-incompatible"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "status": {
            "type": "integer",
            "title": "Status"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          },
          "instance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "status",
          "detail"
        ],
        "title": "ImageIncompatibleProblem",
        "description": "Every host holding the image holds a build made for an older Kasm release\nthan this backend supports."
      },
      "ImageSummary": {
        "properties": {
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "cores": {
            "type": "number",
            "title": "Cores"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "docker_registry": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Registry"
          },
          "docker_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Token"
          },
          "docker_user": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker User"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hash"
          },
          "memory_bytes": {
            "type": "integer",
            "title": "Memory Bytes"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "x_res": {
            "type": "integer",
            "title": "X Res"
          },
          "y_res": {
            "type": "integer",
            "title": "Y Res"
          },
          "imageAttributes": {
            "items": {
              "$ref": "#/components/schemas/ImageAttributeSummary"
            },
            "type": "array",
            "title": "Imageattributes"
          },
          "restrict_to_network": {
            "type": "boolean",
            "title": "Restrict To Network"
          },
          "restrict_network_names": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Restrict Network Names"
          },
          "restrict_to_server": {
            "type": "boolean",
            "title": "Restrict To Server"
          },
          "server_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Id"
          },
          "persistent_profile_config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Persistent Profile Config"
          },
          "volume_mappings": {
            "additionalProperties": true,
            "type": "object",
            "title": "Volume Mappings"
          },
          "run_config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Run Config"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          },
          "available": {
            "type": "boolean",
            "title": "Available"
          },
          "exec_config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Exec Config"
          },
          "restrict_to_zone": {
            "type": "boolean",
            "title": "Restrict To Zone"
          },
          "zone_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Id"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "persistent_profile_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Persistent Profile Path"
          },
          "filter_policy_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter Policy Id"
          },
          "filter_policy_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter Policy Name"
          },
          "filter_policy_force_disabled": {
            "type": "boolean",
            "title": "Filter Policy Force Disabled"
          },
          "network_policy_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Policy Id"
          },
          "network_policy_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Policy Name"
          },
          "session_time_limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Time Limit"
          },
          "categories": {
            "items": {},
            "type": "array",
            "title": "Categories"
          },
          "default_category": {
            "type": "string",
            "title": "Default Category"
          },
          "allow_network_selection": {
            "type": "boolean",
            "title": "Allow Network Selection"
          },
          "require_gpu": {
            "type": "boolean",
            "title": "Require Gpu"
          },
          "gpu_count": {
            "type": "integer",
            "title": "Gpu Count"
          },
          "gpu_graphics_acceleration": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Gpu Graphics Acceleration"
          },
          "gpu_video_encoding": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Gpu Video Encoding"
          },
          "hidden": {
            "type": "boolean",
            "title": "Hidden"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "image_type": {
            "type": "string",
            "title": "Image Type"
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "link_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Link Url"
          },
          "cpu_allocation_method": {
            "type": "string",
            "title": "Cpu Allocation Method"
          },
          "uncompressed_size_mb": {
            "type": "integer",
            "title": "Uncompressed Size Mb"
          },
          "uncompressed_size_bytes": {
            "type": "integer",
            "title": "Uncompressed Size Bytes"
          },
          "launch_config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Launch Config"
          },
          "rdp_client_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rdp Client Type"
          },
          "override_egress_gateways": {
            "type": "boolean",
            "title": "Override Egress Gateways"
          },
          "remote_app_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Name"
          },
          "remote_app_args": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Args"
          },
          "remote_app_icon": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Icon"
          },
          "remote_app_program": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Program"
          },
          "is_remote_app": {
            "type": "boolean",
            "title": "Is Remote App"
          },
          "session_banner": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ImageBannerRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "session_banner_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Banner Id"
          },
          "session_banner_force_disabled": {
            "type": "boolean",
            "title": "Session Banner Force Disabled"
          },
          "enforce_workspace_persistence": {
            "type": "boolean",
            "title": "Enforce Workspace Persistence"
          },
          "include_labels": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Include Labels"
          },
          "exclude_labels": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Exclude Labels"
          },
          "server": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ServerRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "server_pool": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ServerPoolSummary"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "image_id",
          "cores",
          "enabled",
          "memory_bytes",
          "x_res",
          "y_res",
          "imageAttributes",
          "restrict_to_network",
          "restrict_network_names",
          "restrict_to_server",
          "persistent_profile_config",
          "volume_mappings",
          "run_config",
          "available",
          "exec_config",
          "restrict_to_zone",
          "filter_policy_force_disabled",
          "categories",
          "default_category",
          "allow_network_selection",
          "require_gpu",
          "gpu_count",
          "gpu_graphics_acceleration",
          "gpu_video_encoding",
          "hidden",
          "image_type",
          "cpu_allocation_method",
          "uncompressed_size_mb",
          "uncompressed_size_bytes",
          "launch_config",
          "override_egress_gateways",
          "is_remote_app",
          "session_banner_force_disabled",
          "enforce_workspace_persistence",
          "include_labels",
          "exclude_labels"
        ],
        "title": "ImageSummary",
        "description": "One workspace image, with its assigned server or server pool."
      },
      "ImageUsageRow": {
        "properties": {
          "count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Count"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ImageUsageRow"
      },
      "ImportAutoscaleConfigRef": {
        "properties": {
          "token": {
            "type": "string",
            "minLength": 1,
            "title": "Token",
            "description": "The AutoScale config's identifier as it appears in the export."
          },
          "autoscale_config_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Autoscale Config Name",
            "description": "The AutoScale configuration's name in the export."
          },
          "zone_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Token",
            "description": "Token of the zone this configuration references, if any."
          },
          "ldap_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ldap Token",
            "description": "Token of the LDAP configuration this configuration references, if any."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "token"
        ],
        "title": "ImportAutoscaleConfigRef",
        "description": "An AutoScale configuration carried by the uploaded export."
      },
      "ImportErrorCode": {
        "type": "string",
        "enum": [
          "IMPORT_ACTIVE_SESSIONS",
          "IMPORT_CONFLICT",
          "IMPORT_DATABASE_ERROR",
          "IMPORT_DECODE_ERROR",
          "IMPORT_INVALID_AUTOSCALE_MODE",
          "IMPORT_INVALID_EXPORT_MODE",
          "IMPORT_INVALID_FORMAT",
          "IMPORT_MAPPING_NOT_FOUND",
          "IMPORT_MISSING_CONFIG",
          "IMPORT_MISSING_EXPORT_MODE",
          "IMPORT_MISSING_PARAMETERS",
          "IMPORT_OPTION_NOT_SUPPORTED",
          "IMPORT_REFERENCE",
          "IMPORT_SANITY_TEST_FAILED",
          "IMPORT_SANITY_TEST_MODE_INVALID",
          "IMPORT_SANITIZED_DATA",
          "IMPORT_SERVER_ERROR",
          "IMPORT_SKIP_NOT_SUPPORTED",
          "IMPORT_VERSION_MISMATCH",
          "IMPORT_ZIP_ERROR"
        ],
        "title": "ImportErrorCode",
        "description": "Machine-readable import failure codes. Values are stable identifiers\nclients may key on."
      },
      "ImportLdapConfigRef": {
        "properties": {
          "token": {
            "type": "string",
            "minLength": 1,
            "title": "Token",
            "description": "The LDAP config's identifier as it appears in the export. Use it as a key in `ldap_mappings`."
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name",
            "description": "The LDAP configuration's name in the export."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "token"
        ],
        "title": "ImportLdapConfigRef",
        "description": "An LDAP configuration referenced by the uploaded export."
      },
      "ImportNameConflict": {
        "properties": {
          "resource_type": {
            "type": "string",
            "title": "Resource Type",
            "description": "The kind of resource being renamed: `server_pool`, `autoscale_config`, `provider_config`, or `dns_provider_config`."
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The resource's name in the export, with any prior import suffix stripped — what the operator recognizes as the original name."
          },
          "new_name": {
            "type": "string",
            "title": "New Name",
            "description": "The datetime-stamped name the resource will be given on import, for example `MyConfig (Imported 2026-03-20 14:30Z)`."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "resource_type",
          "name",
          "new_name"
        ],
        "title": "ImportNameConflict",
        "description": "A resource that will be renamed on import to resolve a name clash."
      },
      "ImportProblemDetail": {
        "properties": {
          "type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProblemType"
              },
              {
                "type": "string",
                "const": "about:blank"
              }
            ],
            "title": "Type",
            "default": "about:blank"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "status": {
            "type": "integer",
            "title": "Status"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          },
          "instance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance"
          },
          "code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ImportErrorCode"
              },
              {
                "type": "null"
              }
            ],
            "description": "Machine-readable discriminator for the failure."
          },
          "details": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Details",
            "description": "Structured context for the failure — e.g. `{'expected', 'actual'}` for a version mismatch, `{'table', 'index'}` for a database error. Interpolated into the operator-facing message."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "status",
          "detail"
        ],
        "title": "ImportProblemDetail",
        "description": "problem+json body for an import failure, with a machine-readable ``code``.\n\n``code`` is absent when the request body itself could not be parsed."
      },
      "ImportZoneRef": {
        "properties": {
          "token": {
            "type": "string",
            "minLength": 1,
            "title": "Token",
            "description": "The zone's identifier as it appears in the export. Use it as a key in `zone_mappings`. Tokenized exports prefix it with `&`."
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name",
            "description": "The zone's name in the export."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "token"
        ],
        "title": "ImportZoneRef",
        "description": "A zone referenced by the uploaded export."
      },
      "JoinSharedSessionResponse": {
        "properties": {
          "session": {
            "$ref": "#/components/schemas/SharedSessionView"
          },
          "access": {
            "type": "string",
            "enum": [
              "owner",
              "rw",
              "r"
            ],
            "title": "Access"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          },
          "session_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Token"
          },
          "connect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connect Url"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "current_time": {
            "type": "string",
            "format": "date-time",
            "title": "Current Time"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session",
          "access",
          "current_time"
        ],
        "title": "JoinSharedSessionResponse",
        "description": "``POST /api/session/shares/{share_id}/participants``.\n\nA browser user gets the view and their access level. An API key holding\n``USERS_AUTH_SESSION`` is admitted as a new anonymous participant and\nadditionally gets that identity's ``user_id``, ``username``, a login-session\nJWT (``session_token``), the browser hash route that redeems it\n(``connect_url`` = ``/#/connect/join/{share_id}/{user_id}/{session_token}``)\nand ``expires_at``, the earlier of the token's and the account's expiry."
      },
      "KasmVncSettings": {
        "properties": {
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username",
            "description": "Username KasmVNC logs the session in as."
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password",
            "description": "Password for `connection_username`. Serialized back as a `\"****\"` placeholder, never the real value."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "KasmVncSettings",
        "description": "``kasmvnc_settings`` — populated when ``connection_type`` is\n``\"KASMVNC\"``."
      },
      "KasmVncSettingsCreate": {
        "properties": {
          "connection_username": {
            "type": "string",
            "title": "Connection Username",
            "description": "Username KasmVNC logs the session in as."
          },
          "connection_password": {
            "type": "string",
            "title": "Connection Password",
            "description": "Password for `connection_username`."
          }
        },
        "type": "object",
        "required": [
          "connection_username",
          "connection_password"
        ],
        "title": "KasmVncSettingsCreate",
        "description": "``kasmvnc_settings`` on create.\n\nKasmVNC always logs a session in as a specific user, so both fields are\nrequired — same as ``VncSettingsCreate``."
      },
      "KasmVncSettingsUpdate": {
        "properties": {
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username",
            "description": "Username KasmVNC logs the session in as. Omit to leave unchanged."
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password",
            "description": "Password for `connection_username`. Omit to leave unchanged."
          }
        },
        "type": "object",
        "title": "KasmVncSettingsUpdate",
        "description": "``kasmvnc_settings`` on update — every field optional."
      },
      "KeepaliveResponse": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "usage_reached": {
            "type": "boolean",
            "title": "Usage Reached"
          },
          "expiration_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiration Date"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "usage_reached"
        ],
        "title": "KeepaliveResponse",
        "description": "``POST .../keepalives``.\n\n``usage_reached`` means the owner's usage allowance is exhausted and the\nexpiration was *not* extended."
      },
      "KubevirtVmConfig": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `vm_provider_config_name`; same value."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "KUBEVIRT",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "kube_host": {
            "type": "string",
            "title": "Kube Host",
            "description": "Address of the Kubernetes cluster API endpoint."
          },
          "kube_ssl_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Ssl Cert",
            "description": "Base64-encoded PEM certificate for the Kubernetes cluster."
          },
          "kube_api_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Api Token",
            "description": "Bearer token used to authenticate to the Kubernetes cluster."
          },
          "vm_namespace": {
            "type": "string",
            "title": "Vm Namespace",
            "description": "Kubernetes namespace where VMs are provisioned."
          },
          "vm_public_ssh_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Public Ssh Key",
            "description": "Public key used to access the VM."
          },
          "cores": {
            "type": "integer",
            "title": "Cores",
            "description": "Number of CPU cores to allocate to the VM."
          },
          "memory_bytes": {
            "type": "integer",
            "title": "Memory Bytes",
            "description": "Amount of memory to allocate to the VM, in bytes."
          },
          "disk_source": {
            "type": "string",
            "title": "Disk Source",
            "description": "Name of the source PVC with a cloud-ready disk image to clone the VM's disk from."
          },
          "disk_size_bytes": {
            "type": "integer",
            "title": "Disk Size Bytes",
            "description": "Disk size for the VM, in bytes."
          },
          "interface_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interface Type",
            "description": "Network interface type for the VM, e.g. masquerade or bridge."
          },
          "network_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Name",
            "description": "Name of the network interface to attach; for multus networks outside the default namespace, use namespace/name."
          },
          "network_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Type",
            "description": "Network type for the VM, e.g. pod or multus."
          },
          "enable_tpm": {
            "type": "boolean",
            "title": "Enable Tpm",
            "description": "Enables a virtual TPM device for the VM."
          },
          "enable_efi_boot": {
            "type": "boolean",
            "title": "Enable Efi Boot",
            "description": "Enables the EFI boot loader for the VM."
          },
          "enable_secure_boot": {
            "type": "boolean",
            "title": "Enable Secure Boot",
            "description": "Enables secure boot for the VM; requires EFI boot to be enabled."
          },
          "config_override": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Config Override",
            "description": "YAML manifest override applied when provisioning the VM."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_display_name",
          "vm_provider_config_name",
          "config_name",
          "vm_provider_name",
          "max_instances",
          "kube_host",
          "vm_namespace",
          "cores",
          "memory_bytes",
          "disk_source",
          "disk_size_bytes",
          "enable_tpm",
          "enable_efi_boot",
          "enable_secure_boot"
        ],
        "title": "KubevirtVmConfig",
        "description": "`GET` response for a KubeVirt VM provider config."
      },
      "KubevirtVmConfigCreate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "KUBEVIRT",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "kube_host": {
            "type": "string",
            "title": "Kube Host",
            "description": "Address of the Kubernetes cluster API endpoint."
          },
          "kube_ssl_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Ssl Cert",
            "description": "Base64-encoded PEM certificate for the Kubernetes cluster."
          },
          "kube_api_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Api Token",
            "description": "Bearer token used to authenticate to the Kubernetes cluster."
          },
          "vm_namespace": {
            "type": "string",
            "title": "Vm Namespace",
            "description": "Kubernetes namespace where VMs are provisioned."
          },
          "vm_public_ssh_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Public Ssh Key",
            "description": "Public key used to access the VM."
          },
          "cores": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Cores",
            "description": "Number of CPU cores to allocate to the VM."
          },
          "memory_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Memory Bytes",
            "description": "Amount of memory to allocate to the VM, in bytes."
          },
          "disk_source": {
            "type": "string",
            "title": "Disk Source",
            "description": "Name of the source PVC with a cloud-ready disk image to clone the VM's disk from."
          },
          "disk_size_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Disk Size Bytes",
            "description": "Disk size for the VM, in bytes."
          },
          "interface_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interface Type",
            "description": "Network interface type for the VM, e.g. masquerade or bridge.",
            "default": "masquerade"
          },
          "network_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Name",
            "description": "Name of the network interface to attach; for multus networks outside the default namespace, use namespace/name.",
            "default": "default"
          },
          "network_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Type",
            "description": "Network type for the VM, e.g. pod or multus.",
            "default": "pod"
          },
          "enable_tpm": {
            "type": "boolean",
            "title": "Enable Tpm",
            "description": "Enables a virtual TPM device for the VM.",
            "default": false
          },
          "enable_efi_boot": {
            "type": "boolean",
            "title": "Enable Efi Boot",
            "description": "Enables the EFI boot loader for the VM.",
            "default": false
          },
          "enable_secure_boot": {
            "type": "boolean",
            "title": "Enable Secure Boot",
            "description": "Enables secure boot for the VM; requires EFI boot to be enabled.",
            "default": false
          },
          "config_override": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Config Override",
            "description": "YAML manifest override applied when provisioning the VM."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_config_name",
          "vm_provider_name",
          "max_instances",
          "kube_host",
          "vm_namespace",
          "cores",
          "memory_bytes",
          "disk_source",
          "disk_size_bytes"
        ],
        "title": "KubevirtVmConfigCreate",
        "description": "`POST` body for a KubeVirt VM provider config."
      },
      "KubevirtVmConfigUpdate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider. Omit to leave unchanged."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot. Omit to leave unchanged; null clears it."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "KUBEVIRT",
            "title": "Vm Provider Name"
          },
          "kube_host": {
            "type": "string",
            "title": "Kube Host",
            "description": "Address of the Kubernetes cluster API endpoint."
          },
          "kube_ssl_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Ssl Cert",
            "description": "Base64-encoded PEM certificate for the Kubernetes cluster."
          },
          "kube_api_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kube Api Token",
            "description": "Bearer token used to authenticate to the Kubernetes cluster."
          },
          "vm_namespace": {
            "type": "string",
            "title": "Vm Namespace",
            "description": "Kubernetes namespace where VMs are provisioned."
          },
          "vm_public_ssh_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Public Ssh Key",
            "description": "Public key used to access the VM."
          },
          "cores": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Cores",
            "description": "Number of CPU cores to allocate to the VM."
          },
          "memory_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Memory Bytes",
            "description": "Amount of memory to allocate to the VM, in bytes."
          },
          "disk_source": {
            "type": "string",
            "title": "Disk Source",
            "description": "Name of the source PVC with a cloud-ready disk image to clone the VM's disk from."
          },
          "disk_size_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Disk Size Bytes",
            "description": "Disk size for the VM, in bytes."
          },
          "interface_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interface Type",
            "description": "Network interface type for the VM, e.g. masquerade or bridge."
          },
          "network_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Name",
            "description": "Name of the network interface to attach; for multus networks outside the default namespace, use namespace/name."
          },
          "network_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Type",
            "description": "Network type for the VM, e.g. pod or multus."
          },
          "enable_tpm": {
            "type": "boolean",
            "title": "Enable Tpm",
            "description": "Enables a virtual TPM device for the VM."
          },
          "enable_efi_boot": {
            "type": "boolean",
            "title": "Enable Efi Boot",
            "description": "Enables the EFI boot loader for the VM."
          },
          "enable_secure_boot": {
            "type": "boolean",
            "title": "Enable Secure Boot",
            "description": "Enables secure boot for the VM; requires EFI boot to be enabled."
          },
          "config_override": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Config Override",
            "description": "YAML manifest override applied when provisioning the VM."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_name"
        ],
        "title": "KubevirtVmConfigUpdate",
        "description": "`PATCH` body for a KubeVirt VM provider config. Every field optional."
      },
      "LOAD_STRATEGY": {
        "type": "string",
        "enum": [
          "least_kasms",
          "most_kasms",
          "least_load",
          "most_load"
        ],
        "title": "LOAD_STRATEGY"
      },
      "LabelSummary": {
        "properties": {
          "label_id": {
            "type": "string",
            "format": "uuid",
            "title": "Label Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "label_id",
          "name"
        ],
        "title": "LabelSummary",
        "description": "One label, as returned by the list endpoint."
      },
      "LabeledOption": {
        "properties": {
          "label": {
            "type": "string",
            "title": "Label"
          },
          "value": {
            "type": "string",
            "title": "Value"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "label",
          "value"
        ],
        "title": "LabeledOption",
        "description": "A ``{label, value}`` pair for an in-memory lookup list (languages,\ntimezones, and similar option lists)."
      },
      "LastEnabledConnectionProxyProblem": {
        "properties": {
          "type": {
            "type": "string",
            "const": "last-enabled-connection-proxy",
            "title": "Type",
            "default": "last-enabled-connection-proxy"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "status": {
            "type": "integer",
            "title": "Status"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          },
          "instance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance"
          },
          "affected_session_count": {
            "type": "integer",
            "title": "Affected Session Count"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "status",
          "detail",
          "affected_session_count"
        ],
        "title": "LastEnabledConnectionProxyProblem",
        "description": "Disabling this proxy would leave sessions without an enabled proxy of its\ntype in its zone. Nothing was changed; resend with ``force`` (and optionally\n``stop_sessions``) to proceed."
      },
      "LaunchConfigRequiredProblem": {
        "properties": {
          "type": {
            "type": "string",
            "const": "launch-config-required",
            "title": "Type",
            "default": "launch-config-required"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "status": {
            "type": "integer",
            "title": "Status"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          },
          "instance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance"
          },
          "launch_options": {
            "$ref": "#/components/schemas/LaunchOptions"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "status",
          "detail",
          "launch_options"
        ],
        "title": "LaunchConfigRequiredProblem",
        "description": "The image has a launch form and the request did not satisfy it."
      },
      "LaunchOptions": {
        "properties": {
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          },
          "image_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Type"
          },
          "rdp_client_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rdp Client Type"
          },
          "launch_config": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Launch Config"
          },
          "egress_gateways": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Egress Gateways"
          },
          "egress_providers": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Egress Providers"
          },
          "override_egress_gateways": {
            "type": "boolean",
            "title": "Override Egress Gateways",
            "default": false
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "image_id"
        ],
        "title": "LaunchOptions",
        "description": "What a client needs to render the launch dialog for an image.\n\nCarried as the ``extensions`` of the ``launch-config-required``,\n``rdp-client-required`` and ``egress-selection-required`` problems from\n``POST /api/session/sessions`` and ``POST /api/session/cast-links/{key}/claims``, and\nembedded in ``GET /api/session/cast-links/{key}`` so a cast visitor sees the form\nup front. ``launch_config`` is the image's own form definition, opaque here."
      },
      "LdapConfigSummary": {
        "properties": {
          "ldap_id": {
            "type": "string",
            "format": "uuid",
            "title": "Ldap Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "auto_create_app_user": {
            "type": "boolean",
            "title": "Auto Create App User"
          },
          "email_attribute": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Attribute"
          },
          "search_base": {
            "type": "string",
            "title": "Search Base"
          },
          "search_filter": {
            "type": "string",
            "title": "Search Filter"
          },
          "search_subtree": {
            "type": "boolean",
            "title": "Search Subtree"
          },
          "service_account_dn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Account Dn"
          },
          "service_account_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Account Password"
          },
          "group_membership_filter": {
            "type": "string",
            "title": "Group Membership Filter"
          },
          "username_domain_match": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username Domain Match"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "ldap_id",
          "name",
          "enabled",
          "url",
          "auto_create_app_user",
          "search_base",
          "search_filter",
          "search_subtree",
          "group_membership_filter"
        ],
        "title": "LdapConfigSummary",
        "description": "One LDAP/AD auth-provider config (an ``ldap_configs`` row).\n\n``service_account_password`` is always masked in responses; echoing the\nmasked value back on update leaves it unchanged. ``connection_timeout`` is\naccepted on create and never serialized."
      },
      "LdapTestResult": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "message": {
            "type": "string",
            "title": "Message"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "success",
          "message"
        ],
        "title": "LdapTestResult",
        "description": "Outcome of a directory login test (one shape for pass and fail — the\ntest *ran* either way; ``success`` carries the verdict)."
      },
      "LicenseStatus": {
        "properties": {
          "limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Limit"
          },
          "license_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "License Type"
          },
          "license_sku": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "License Sku"
          },
          "licensed": {
            "type": "boolean",
            "title": "Licensed",
            "default": false
          },
          "features": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Features",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "LicenseStatus",
        "description": "Deployment entitlement as shown to a standard user.\n\nDeliberately has no `egress_plugins` field: standard users must not see\nper-plugin seat detail."
      },
      "LicenseSummary": {
        "properties": {
          "license_id": {
            "type": "string",
            "format": "uuid",
            "title": "License Id"
          },
          "expiration": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiration"
          },
          "issued_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Issued At"
          },
          "issued_to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Issued To",
            "description": "The organization the deployment is licensed for."
          },
          "limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Limit"
          },
          "is_verified": {
            "type": "boolean",
            "title": "Is Verified",
            "default": false
          },
          "license_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "License Type"
          },
          "features": {
            "additionalProperties": true,
            "type": "object",
            "title": "Features",
            "default": {}
          },
          "sku": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sku"
          },
          "egress_plugins": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Egress Plugins",
            "default": []
          },
          "entitlement_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Entitlement Id"
          },
          "is_license_valid": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is License Valid"
          },
          "is_entitlement_valid": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Entitlement Valid"
          },
          "next_egress_plugin_checkin": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Egress Plugin Checkin"
          },
          "last_egress_plugin_checkin": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Egress Plugin Checkin"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "license_id"
        ],
        "title": "LicenseSummary",
        "description": "A license as the admin API returns it.\n\nMost fields are read from the license key itself, so nearly every field is optional: a key\nthat cannot be decoded, or an older key that lacks a field, leaves it null."
      },
      "LifecycleCommand": {
        "type": "string",
        "enum": [
          "stop",
          "pause",
          "resume"
        ],
        "title": "LifecycleCommand"
      },
      "LifecycleCommandRequest": {
        "properties": {
          "command": {
            "$ref": "#/components/schemas/LifecycleCommand"
          }
        },
        "type": "object",
        "required": [
          "command"
        ],
        "title": "LifecycleCommandRequest",
        "description": "``POST .../lifecycle-commands``: change the session's desired state."
      },
      "LogExportRequest": {
        "properties": {
          "start_date": {
            "type": "string",
            "format": "date-time",
            "title": "Start Date"
          },
          "end_date": {
            "type": "string",
            "format": "date-time",
            "title": "End Date"
          },
          "export_password": {
            "type": "string",
            "minLength": 1,
            "title": "Export Password"
          },
          "include_system_info": {
            "type": "boolean",
            "title": "Include System Info",
            "default": false
          },
          "ui_build_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ui Build Id"
          }
        },
        "type": "object",
        "required": [
          "start_date",
          "end_date",
          "export_password"
        ],
        "title": "LogExportRequest",
        "description": "``POST /api/admin/platform/logs/exports`` request body.\n\n``export_password`` is accepted only in the body. Missing dates are a 422."
      },
      "LogFacets": {
        "properties": {
          "application": {
            "items": {
              "$ref": "#/components/schemas/FacetCount"
            },
            "type": "array",
            "title": "Application"
          },
          "process": {
            "items": {
              "$ref": "#/components/schemas/FacetCount"
            },
            "type": "array",
            "title": "Process"
          },
          "host": {
            "items": {
              "$ref": "#/components/schemas/FacetCount"
            },
            "type": "array",
            "title": "Host"
          },
          "levelname": {
            "items": {
              "$ref": "#/components/schemas/FacetCount"
            },
            "type": "array",
            "title": "Levelname"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "application",
          "process",
          "host",
          "levelname"
        ],
        "title": "LogFacets"
      },
      "LogRecord": {
        "properties": {
          "host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Host"
          },
          "ingest_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ingest Date"
          },
          "application": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Application"
          },
          "levelname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Levelname"
          },
          "funcname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Funcname"
          },
          "kasm_user_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kasm User Name"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Message"
          },
          "traceback": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Traceback"
          },
          "error_stack": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Stack"
          },
          "process": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Process"
          },
          "client_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Ip"
          },
          "user_agent": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Agent"
          },
          "allow": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          },
          "site": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Site"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          },
          "connection_proxy_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Proxy Id"
          },
          "connection_proxy_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Proxy Type"
          },
          "session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Id"
          },
          "server_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Id"
          },
          "wrapped_function": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Wrapped Function"
          },
          "trace_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Trace Id"
          },
          "span_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Span Id"
          },
          "service_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Name"
          },
          "severity_number": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Severity Number"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "LogRecord",
        "description": "One log search result, including trace, span, service and severity."
      },
      "LoginRequest": {
        "properties": {
          "username": {
            "type": "string",
            "title": "Username"
          },
          "password": {
            "type": "string",
            "title": "Password"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "username",
          "password"
        ],
        "title": "LoginRequest",
        "description": "Body for ``POST /api/auth/login``."
      },
      "LoginSettingsOidcConfig": {
        "properties": {
          "oidc_id": {
            "type": "string",
            "format": "uuid",
            "title": "Oidc Id"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "default": {
            "type": "boolean",
            "title": "Default"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "auto_login": {
            "type": "boolean",
            "title": "Auto Login"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "oidc_id",
          "default",
          "enabled",
          "auto_login"
        ],
        "title": "LoginSettingsOidcConfig",
        "description": "One OIDC provider offered on the login page."
      },
      "LoginSettingsRecaptcha": {
        "properties": {
          "google_recaptcha_site_key": {
            "type": "string",
            "title": "Google Recaptcha Site Key",
            "default": ""
          },
          "captcha_selection": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Captcha Selection"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "LoginSettingsRecaptcha",
        "description": "The captcha the login page must solve, if the deployment configured one.\n\n``captcha_selection`` is only meaningful once a site key is configured."
      },
      "LoginSettingsResponse": {
        "properties": {
          "sso_enabled": {
            "type": "boolean",
            "title": "Sso Enabled",
            "default": false
          },
          "login_logo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Login Logo"
          },
          "login_splash_background": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Login Splash Background"
          },
          "login_caption": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Login Caption"
          },
          "header_logo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Header Logo"
          },
          "dashboard_logo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dashboard Logo"
          },
          "html_title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Html Title"
          },
          "favicon_logo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Favicon Logo"
          },
          "loading_session_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loading Session Text"
          },
          "joining_session_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Joining Session Text"
          },
          "destroying_session_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Destroying Session Text"
          },
          "launcher_background_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Launcher Background Url"
          },
          "username_input_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username Input Label"
          },
          "login_assistance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Login Assistance"
          },
          "notice_title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notice Title"
          },
          "notice_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notice Message"
          },
          "saml_configs": {
            "items": {
              "$ref": "#/components/schemas/LoginSettingsSamlConfig"
            },
            "type": "array",
            "title": "Saml Configs",
            "default": []
          },
          "oidc_configs": {
            "items": {
              "$ref": "#/components/schemas/LoginSettingsOidcConfig"
            },
            "type": "array",
            "title": "Oidc Configs",
            "default": []
          },
          "recaptcha": {
            "$ref": "#/components/schemas/LoginSettingsRecaptcha",
            "default": {
              "google_recaptcha_site_key": ""
            }
          },
          "password_policy": {
            "items": {
              "$ref": "#/components/schemas/PasswordPolicySetting"
            },
            "type": "array",
            "title": "Password Policy",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "LoginSettingsResponse",
        "description": "Everything the login page renders itself from, for one hostname.\n\nUnauthenticated and identical for every caller on that hostname, so the\nservice caches it briefly; the branding fields fall back to the built-in\nKasm branding when the deployment is not licensed for its own."
      },
      "LoginSettingsSamlConfig": {
        "properties": {
          "saml_id": {
            "type": "string",
            "format": "uuid",
            "title": "Saml Id"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "default": {
            "type": "boolean",
            "title": "Default"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "auto_login": {
            "type": "boolean",
            "title": "Auto Login"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "saml_id",
          "default",
          "enabled",
          "auto_login"
        ],
        "title": "LoginSettingsSamlConfig",
        "description": "One SAML provider offered on the login page."
      },
      "LoginsTimeSeries": {
        "properties": {
          "labels": {
            "items": {
              "type": "string",
              "format": "date-time"
            },
            "type": "array",
            "title": "Labels"
          },
          "failed_login": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Failed Login"
          },
          "success_login": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Success Login"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "labels",
          "failed_login",
          "success_login"
        ],
        "title": "LoginsTimeSeries"
      },
      "LogoutRequest": {
        "properties": {
          "logout_all": {
            "type": "boolean",
            "title": "Logout All",
            "default": false
          },
          "saml_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Saml Id"
          },
          "oidc_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oidc Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "LogoutRequest",
        "description": "Body for ``POST /api/auth/logout``.\n\n``saml_id``/``oidc_id`` name the identity provider the caller signed in\nthrough, so the response can carry that provider's single-logout URL."
      },
      "LogoutResponse": {
        "properties": {
          "slo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Slo Url"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "LogoutResponse",
        "description": "Where to send the browser next after a logout.\n\n``slo_url`` is populated only for an SSO session whose provider is\nconfigured for single logout; the Kasm session is already revoked either\nway."
      },
      "LogsPayload": {
        "properties": {
          "resourceLogs": {
            "items": {
              "$ref": "#/components/schemas/OtlpResourceLogs"
            },
            "type": "array",
            "title": "Resourcelogs"
          }
        },
        "type": "object",
        "required": [
          "resourceLogs"
        ],
        "title": "LogsPayload"
      },
      "MetricsCatalogEntry": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "name",
          "title"
        ],
        "title": "MetricsCatalogEntry",
        "description": "One row from ``DataAccess.component_to_dict``."
      },
      "MetricsCatalogGroup": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/MetricsCatalogEntry"
            },
            "type": "array",
            "title": "Items",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "name",
          "title"
        ],
        "title": "MetricsCatalogGroup",
        "description": "A parent catalog component plus its children."
      },
      "MetricsPayload": {
        "properties": {
          "resourceMetrics": {
            "items": {
              "$ref": "#/components/schemas/OtlpResourceMetrics"
            },
            "type": "array",
            "title": "Resourcemetrics"
          }
        },
        "type": "object",
        "required": [
          "resourceMetrics"
        ],
        "title": "MetricsPayload"
      },
      "ModePreference": {
        "properties": {
          "available": {
            "items": {
              "$ref": "#/components/schemas/ModePreferenceOption"
            },
            "type": "array",
            "title": "Available"
          },
          "active": {
            "items": {
              "$ref": "#/components/schemas/ModePreferenceOption"
            },
            "type": "array",
            "title": "Active"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "available",
          "active"
        ],
        "title": "ModePreference",
        "description": "``kasmvnc_mode_preference`` client setting: every codec the deployment supports\n(``available``) and the caller's selection in priority order (``active``)."
      },
      "ModePreferenceOption": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "label": {
            "type": "string",
            "title": "Label"
          },
          "family": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Family"
          },
          "kasmvnc_codec_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kasmvnc Codec Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "label"
        ],
        "title": "ModePreferenceOption",
        "description": "One entry in ``ModePreference.available``/``.active`` — an encoder/\nquality profile id + display label.\n\n``id`` is the codec's integer id (``KASMVNC_MODE_CODECS.codec_id``), not\na string -- despite the \"id\" name pattern used elsewhere in this module\nfor UUID path params. ``family``/``kasmvnc_codec_name`` are only present\non ``available`` entries: ``KASMVNC_MODE_CODECS.as_dict()`` includes them,\nbut ``active`` entries are rebuilt by\n``mode_preference.normalize_mode_preference_active_list`` from just\n``{id, label}``, so they're optional here."
      },
      "MySessionsResponse": {
        "properties": {
          "sessions": {
            "items": {
              "$ref": "#/components/schemas/SessionSummary"
            },
            "type": "array",
            "title": "Sessions"
          },
          "current_time": {
            "type": "string",
            "format": "date-time",
            "title": "Current Time"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "sessions",
          "current_time"
        ],
        "title": "MySessionsResponse",
        "description": "``GET /api/session/sessions``."
      },
      "NetworkPolicyDirection": {
        "properties": {
          "default_action": {
            "type": "string",
            "enum": [
              "allow",
              "deny"
            ],
            "title": "Default Action"
          },
          "rules": {
            "items": {
              "$ref": "#/components/schemas/NetworkRule"
            },
            "type": "array",
            "title": "Rules",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "default_action"
        ],
        "title": "NetworkPolicyDirection"
      },
      "NetworkPolicyDirectionRequest": {
        "properties": {
          "default_action": {
            "type": "string",
            "enum": [
              "allow",
              "deny"
            ],
            "title": "Default Action"
          },
          "rules": {
            "items": {
              "$ref": "#/components/schemas/NetworkRule"
            },
            "type": "array",
            "title": "Rules",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "default_action"
        ],
        "title": "NetworkPolicyDirectionRequest"
      },
      "NetworkPolicySummary": {
        "properties": {
          "network_policy_id": {
            "type": "string",
            "format": "uuid",
            "title": "Network Policy Id"
          },
          "network_policy_name": {
            "type": "string",
            "title": "Network Policy Name"
          },
          "network_policy_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Policy Description"
          },
          "inbound": {
            "$ref": "#/components/schemas/NetworkPolicyDirection"
          },
          "outbound": {
            "$ref": "#/components/schemas/NetworkPolicyDirection"
          },
          "version": {
            "type": "integer",
            "title": "Version"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "network_policy_id",
          "network_policy_name",
          "inbound",
          "outbound",
          "version",
          "created_at",
          "updated_at"
        ],
        "title": "NetworkPolicySummary",
        "description": "One stored network policy."
      },
      "NetworkRef": {
        "properties": {
          "network_id": {
            "type": "string",
            "title": "Network Id"
          },
          "network_name": {
            "type": "string",
            "title": "Network Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "network_id",
          "network_name"
        ],
        "title": "NetworkRef",
        "description": "Inline Docker network reference returned in user-facing image listings.\n\nDocker networks are runtime constructs with no Kasm ORM row, so this ref\nhas no domain owner and lives in ``common``."
      },
      "NetworkRule": {
        "properties": {
          "rule_id": {
            "type": "string",
            "title": "Rule Id"
          },
          "action": {
            "type": "string",
            "enum": [
              "allow",
              "deny"
            ],
            "title": "Action"
          },
          "protocol": {
            "type": "string",
            "enum": [
              "tcp",
              "udp",
              "icmp",
              "any"
            ],
            "title": "Protocol"
          },
          "ports": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ports"
          },
          "icmp_type": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 255,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Icmp Type"
          },
          "address": {
            "$ref": "#/components/schemas/NetworkRuleAddress"
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "system": {
            "type": "boolean",
            "title": "System",
            "default": false
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "action",
          "protocol",
          "address"
        ],
        "title": "NetworkRule",
        "description": "One network policy rule."
      },
      "NetworkRuleAddress": {
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "cidr",
              "variable"
            ],
            "title": "Kind"
          },
          "value": {
            "type": "string",
            "maxLength": 253,
            "minLength": 1,
            "title": "Value"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "kind",
          "value"
        ],
        "title": "NetworkRuleAddress"
      },
      "NoResourcesProblem": {
        "properties": {
          "type": {
            "type": "string",
            "const": "no-resources",
            "title": "Type",
            "default": "no-resources"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "status": {
            "type": "integer",
            "title": "Status"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          },
          "instance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "status",
          "detail"
        ],
        "title": "NoResourcesProblem",
        "description": "No server or agent can take the session right now. ``reason`` names the\nrefusing server or the missing capacity and is included only for an\nadministrator; ordinary users get the generic ``detail`` alone."
      },
      "NutanixVmConfig": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `vm_provider_config_name`; same value."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "NUTANIX",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "host": {
            "type": "string",
            "title": "Host",
            "description": "IP address or FQDN of the Nutanix Prism Central server."
          },
          "port": {
            "type": "integer",
            "title": "Port",
            "description": "Listening port for the Nutanix Prism Central server (typically 9440)."
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "Username Kasm uses to authenticate to the Nutanix Prism Central server."
          },
          "password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Password",
            "description": "Password of the user Kasm uses to authenticate to the Nutanix Prism Central server."
          },
          "verify_ssl": {
            "type": "boolean",
            "title": "Verify Ssl",
            "description": "Whether to validate SSL certificates for the Prism Central server; set to False to allow self-signed certs."
          },
          "api_version": {
            "type": "string",
            "title": "Api Version",
            "description": "Nutanix Prism Central API version to use; v3 is recommended, v4 support is in preview."
          },
          "vm_candidate": {
            "type": "string",
            "title": "Vm Candidate",
            "description": "Name of the VM template Kasm clones to create new autoscaled VMs."
          },
          "cores": {
            "type": "integer",
            "title": "Cores",
            "description": "Number of CPU cores to provision on new autoscaled VMs."
          },
          "memory_bytes": {
            "type": "integer",
            "title": "Memory Bytes",
            "description": "Amount of memory, in bytes, to provision on new autoscaled VMs."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_display_name",
          "vm_provider_config_name",
          "config_name",
          "vm_provider_name",
          "max_instances",
          "host",
          "port",
          "username",
          "verify_ssl",
          "api_version",
          "vm_candidate",
          "cores",
          "memory_bytes"
        ],
        "title": "NutanixVmConfig",
        "description": "`GET` response for a Nutanix VM provider config."
      },
      "NutanixVmConfigCreate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "NUTANIX",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "host": {
            "type": "string",
            "title": "Host",
            "description": "IP address or FQDN of the Nutanix Prism Central server."
          },
          "port": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Port",
            "description": "Listening port for the Nutanix Prism Central server (typically 9440)."
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "Username Kasm uses to authenticate to the Nutanix Prism Central server."
          },
          "password": {
            "type": "string",
            "title": "Password",
            "description": "Password of the user Kasm uses to authenticate to the Nutanix Prism Central server."
          },
          "verify_ssl": {
            "type": "boolean",
            "title": "Verify Ssl",
            "description": "Whether to validate SSL certificates for the Prism Central server; set to False to allow self-signed certs.",
            "default": true
          },
          "api_version": {
            "type": "string",
            "title": "Api Version",
            "description": "Nutanix Prism Central API version to use; v3 is recommended, v4 support is in preview."
          },
          "vm_candidate": {
            "type": "string",
            "title": "Vm Candidate",
            "description": "Name of the VM template Kasm clones to create new autoscaled VMs."
          },
          "cores": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Cores",
            "description": "Number of CPU cores to provision on new autoscaled VMs."
          },
          "memory_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Memory Bytes",
            "description": "Amount of memory, in bytes, to provision on new autoscaled VMs."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_config_name",
          "vm_provider_name",
          "max_instances",
          "host",
          "port",
          "username",
          "password",
          "api_version",
          "vm_candidate",
          "cores",
          "memory_bytes"
        ],
        "title": "NutanixVmConfigCreate",
        "description": "`POST` body for a Nutanix VM provider config."
      },
      "NutanixVmConfigUpdate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider. Omit to leave unchanged."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot. Omit to leave unchanged; null clears it."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "NUTANIX",
            "title": "Vm Provider Name"
          },
          "host": {
            "type": "string",
            "title": "Host",
            "description": "IP address or FQDN of the Nutanix Prism Central server."
          },
          "port": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Port",
            "description": "Listening port for the Nutanix Prism Central server (typically 9440)."
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "Username Kasm uses to authenticate to the Nutanix Prism Central server."
          },
          "password": {
            "type": "string",
            "title": "Password",
            "description": "Password of the user Kasm uses to authenticate to the Nutanix Prism Central server."
          },
          "verify_ssl": {
            "type": "boolean",
            "title": "Verify Ssl",
            "description": "Whether to validate SSL certificates for the Prism Central server; set to False to allow self-signed certs."
          },
          "api_version": {
            "type": "string",
            "title": "Api Version",
            "description": "Nutanix Prism Central API version to use; v3 is recommended, v4 support is in preview."
          },
          "vm_candidate": {
            "type": "string",
            "title": "Vm Candidate",
            "description": "Name of the VM template Kasm clones to create new autoscaled VMs."
          },
          "cores": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Cores",
            "description": "Number of CPU cores to provision on new autoscaled VMs."
          },
          "memory_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Memory Bytes",
            "description": "Amount of memory, in bytes, to provision on new autoscaled VMs."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_name"
        ],
        "title": "NutanixVmConfigUpdate",
        "description": "`PATCH` body for a Nutanix VM provider config. Every field optional."
      },
      "OciDnsProvider": {
        "properties": {
          "dns_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Dns Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "dns_provider_display_name": {
            "type": "string",
            "title": "Dns Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "dns_provider_config_name": {
            "type": "string",
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `dns_provider_config_name`; same value."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "OCI",
            "title": "Dns Provider Name"
          },
          "oci_user_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci User Ocid",
            "description": "OCID of the user used to authenticate with the OCI API."
          },
          "oci_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Private Key",
            "description": "PEM-format private key of the OCI API user used to authenticate."
          },
          "oci_fingerprint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Fingerprint",
            "description": "Public key fingerprint of the OCI API user used to authenticate."
          },
          "oci_tenancy_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Tenancy Ocid",
            "description": "OCID of the OCI tenancy for the account."
          },
          "oci_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Region",
            "description": "OCI region name for the account, e.g. us-ashburn-1."
          },
          "oci_compartment_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Compartment Ocid",
            "description": "OCID of the compartment where auto-scaled agents will be placed."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "dns_provider_config_id",
          "dns_provider_display_name",
          "dns_provider_config_name",
          "config_name",
          "dns_provider_name"
        ],
        "title": "OciDnsProvider",
        "description": "`GET` response for an OCI DNS provider."
      },
      "OciDnsProviderCreate": {
        "properties": {
          "dns_provider_config_name": {
            "type": "string",
            "minLength": 1,
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "OCI",
            "title": "Dns Provider Name"
          },
          "oci_user_ocid": {
            "type": "string",
            "minLength": 1,
            "title": "Oci User Ocid",
            "description": "OCID of the user used to authenticate with the OCI API."
          },
          "oci_private_key": {
            "type": "string",
            "minLength": 1,
            "title": "Oci Private Key",
            "description": "PEM-format private key of the OCI API user used to authenticate."
          },
          "oci_fingerprint": {
            "type": "string",
            "minLength": 1,
            "title": "Oci Fingerprint",
            "description": "Public key fingerprint of the OCI API user used to authenticate."
          },
          "oci_tenancy_ocid": {
            "type": "string",
            "minLength": 1,
            "title": "Oci Tenancy Ocid",
            "description": "OCID of the OCI tenancy for the account."
          },
          "oci_region": {
            "type": "string",
            "minLength": 1,
            "title": "Oci Region",
            "description": "OCI region name for the account, e.g. us-ashburn-1."
          },
          "oci_compartment_ocid": {
            "type": "string",
            "minLength": 1,
            "title": "Oci Compartment Ocid",
            "description": "OCID of the compartment where auto-scaled agents will be placed."
          }
        },
        "type": "object",
        "required": [
          "dns_provider_config_name",
          "dns_provider_name",
          "oci_user_ocid",
          "oci_private_key",
          "oci_fingerprint",
          "oci_tenancy_ocid",
          "oci_region",
          "oci_compartment_ocid"
        ],
        "title": "OciDnsProviderCreate",
        "description": "`POST` body for an OCI DNS provider."
      },
      "OciDnsProviderUpdate": {
        "properties": {
          "dns_provider_config_name": {
            "type": "string",
            "minLength": 1,
            "title": "Dns Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "dns_provider_name": {
            "type": "string",
            "const": "OCI",
            "title": "Dns Provider Name"
          },
          "oci_user_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci User Ocid",
            "description": "OCID of the user used to authenticate with the OCI API."
          },
          "oci_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Private Key",
            "description": "PEM-format private key of the OCI API user used to authenticate."
          },
          "oci_fingerprint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Fingerprint",
            "description": "Public key fingerprint of the OCI API user used to authenticate."
          },
          "oci_tenancy_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Tenancy Ocid",
            "description": "OCID of the OCI tenancy for the account."
          },
          "oci_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Region",
            "description": "OCI region name for the account, e.g. us-ashburn-1."
          },
          "oci_compartment_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Compartment Ocid",
            "description": "OCID of the compartment where auto-scaled agents will be placed."
          }
        },
        "type": "object",
        "required": [
          "dns_provider_name"
        ],
        "title": "OciDnsProviderUpdate",
        "description": "`PATCH` body for an OCI DNS provider. Every field optional."
      },
      "OciVmConfig": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `vm_provider_config_name`; same value."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "OCI",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "oci_fingerprint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Fingerprint",
            "description": "Public key fingerprint of the OCI API user used to authenticate."
          },
          "oci_tenancy_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Tenancy Ocid",
            "description": "OCID of the OCI tenancy for the account."
          },
          "oci_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Region",
            "description": "OCI region name for the account, e.g. us-ashburn-1."
          },
          "oci_compartment_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Compartment Ocid",
            "description": "OCID of the compartment where auto-scaled agents will be placed."
          },
          "oci_availability_domains": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Oci Availability Domains",
            "description": "List of OCI availability domains where auto-scaled compute instances may be placed."
          },
          "oci_shape": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Shape",
            "description": "Name of the compute shape used when creating the instances, e.g. VM.Standard.E4.Flex."
          },
          "oci_image_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Image Ocid",
            "description": "OCID of the image used to create the compute instances."
          },
          "oci_subnet_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Subnet Ocid",
            "description": "OCID of the subnet where auto-scaled instances will be placed."
          },
          "oci_ssh_public_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Ssh Public Key",
            "description": "SSH public key installed on the compute instances for SSH access."
          },
          "oci_user_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci User Ocid",
            "description": "OCID of the user used to authenticate with the OCI API."
          },
          "oci_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Private Key",
            "description": "PEM-format private key of the OCI API user used to authenticate."
          },
          "oci_flex_cpus": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Flex Cpus",
            "description": "Number of OCPUs to assign the compute instance; only applies when a Flex shape is used."
          },
          "oci_flex_memory_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Flex Memory Bytes",
            "description": "Memory to assign the compute instance, in bytes, submitted in whole GiB (2^30) increments; only applies when a Flex shape is used."
          },
          "oci_boot_volume_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Boot Volume Bytes",
            "description": "Boot volume size for the compute instance, in bytes, submitted in whole GB (10^9) increments."
          },
          "oci_custom_tags": {
            "additionalProperties": true,
            "type": "object",
            "title": "Oci Custom Tags",
            "description": "JSON object of custom freeform tags applied to the auto-scaled instances."
          },
          "oci_baseline_ocpu_utilization": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Baseline Ocpu Utilization",
            "description": "Baseline percentage of a CPU core the burstable instance can use continuously; set to 100% for a non-burstable instance."
          },
          "oci_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Oci Config Override",
            "description": "JSON object used to customize attributes of the OCI VM launch request; an OCI model can be selected via the OCI_MODEL_NAME key."
          },
          "oci_storage_vpus_per_gb": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Storage Vpus Per Gb",
            "description": "Volume Performance Units per GB assigned to the boot volume; accepts values from 10 to 120 in multiples of 10."
          },
          "oci_nsg_ocids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Oci Nsg Ocids",
            "description": "List of Network Security Group OCIDs to assign to the auto-scaled agents."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_display_name",
          "vm_provider_config_name",
          "config_name",
          "vm_provider_name"
        ],
        "title": "OciVmConfig",
        "description": "`GET` response for an OCI VM provider config."
      },
      "OciVmConfigCreate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "OCI",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "oci_fingerprint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Fingerprint",
            "description": "Public key fingerprint of the OCI API user used to authenticate."
          },
          "oci_tenancy_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Tenancy Ocid",
            "description": "OCID of the OCI tenancy for the account."
          },
          "oci_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Region",
            "description": "OCI region name for the account, e.g. us-ashburn-1."
          },
          "oci_compartment_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Compartment Ocid",
            "description": "OCID of the compartment where auto-scaled agents will be placed."
          },
          "oci_availability_domains": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Oci Availability Domains",
            "description": "List of OCI availability domains where auto-scaled compute instances may be placed."
          },
          "oci_shape": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Shape",
            "description": "Name of the compute shape used when creating the instances, e.g. VM.Standard.E4.Flex."
          },
          "oci_image_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Image Ocid",
            "description": "OCID of the image used to create the compute instances."
          },
          "oci_subnet_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Subnet Ocid",
            "description": "OCID of the subnet where auto-scaled instances will be placed."
          },
          "oci_ssh_public_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Ssh Public Key",
            "description": "SSH public key installed on the compute instances for SSH access."
          },
          "oci_user_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci User Ocid",
            "description": "OCID of the user used to authenticate with the OCI API."
          },
          "oci_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Private Key",
            "description": "PEM-format private key of the OCI API user used to authenticate."
          },
          "oci_flex_cpus": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Flex Cpus",
            "description": "Number of OCPUs to assign the compute instance; only applies when a Flex shape is used."
          },
          "oci_flex_memory_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Flex Memory Bytes",
            "description": "Memory to assign the compute instance, in bytes, submitted in whole GiB (2^30) increments; only applies when a Flex shape is used."
          },
          "oci_boot_volume_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Boot Volume Bytes",
            "description": "Boot volume size for the compute instance, in bytes, submitted in whole GB (10^9) increments."
          },
          "oci_custom_tags": {
            "additionalProperties": true,
            "type": "object",
            "title": "Oci Custom Tags",
            "description": "JSON object of custom freeform tags applied to the auto-scaled instances."
          },
          "oci_baseline_ocpu_utilization": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Baseline Ocpu Utilization",
            "description": "Baseline percentage of a CPU core the burstable instance can use continuously; set to 100% for a non-burstable instance."
          },
          "oci_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Oci Config Override",
            "description": "JSON object used to customize attributes of the OCI VM launch request; an OCI model can be selected via the OCI_MODEL_NAME key."
          },
          "oci_storage_vpus_per_gb": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Storage Vpus Per Gb",
            "description": "Volume Performance Units per GB assigned to the boot volume; accepts values from 10 to 120 in multiples of 10."
          },
          "oci_nsg_ocids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Oci Nsg Ocids",
            "description": "List of Network Security Group OCIDs to assign to the auto-scaled agents."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_config_name",
          "vm_provider_name"
        ],
        "title": "OciVmConfigCreate",
        "description": "`POST` body for an OCI VM provider config."
      },
      "OciVmConfigUpdate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider. Omit to leave unchanged."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot. Omit to leave unchanged; null clears it."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "OCI",
            "title": "Vm Provider Name"
          },
          "oci_fingerprint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Fingerprint",
            "description": "Public key fingerprint of the OCI API user used to authenticate."
          },
          "oci_tenancy_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Tenancy Ocid",
            "description": "OCID of the OCI tenancy for the account."
          },
          "oci_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Region",
            "description": "OCI region name for the account, e.g. us-ashburn-1."
          },
          "oci_compartment_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Compartment Ocid",
            "description": "OCID of the compartment where auto-scaled agents will be placed."
          },
          "oci_availability_domains": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Oci Availability Domains",
            "description": "List of OCI availability domains where auto-scaled compute instances may be placed."
          },
          "oci_shape": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Shape",
            "description": "Name of the compute shape used when creating the instances, e.g. VM.Standard.E4.Flex."
          },
          "oci_image_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Image Ocid",
            "description": "OCID of the image used to create the compute instances."
          },
          "oci_subnet_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Subnet Ocid",
            "description": "OCID of the subnet where auto-scaled instances will be placed."
          },
          "oci_ssh_public_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Ssh Public Key",
            "description": "SSH public key installed on the compute instances for SSH access."
          },
          "oci_user_ocid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci User Ocid",
            "description": "OCID of the user used to authenticate with the OCI API."
          },
          "oci_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Private Key",
            "description": "PEM-format private key of the OCI API user used to authenticate."
          },
          "oci_flex_cpus": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Flex Cpus",
            "description": "Number of OCPUs to assign the compute instance; only applies when a Flex shape is used."
          },
          "oci_flex_memory_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Flex Memory Bytes",
            "description": "Memory to assign the compute instance, in bytes, submitted in whole GiB (2^30) increments; only applies when a Flex shape is used."
          },
          "oci_boot_volume_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Boot Volume Bytes",
            "description": "Boot volume size for the compute instance, in bytes, submitted in whole GB (10^9) increments."
          },
          "oci_custom_tags": {
            "additionalProperties": true,
            "type": "object",
            "title": "Oci Custom Tags",
            "description": "JSON object of custom freeform tags applied to the auto-scaled instances."
          },
          "oci_baseline_ocpu_utilization": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Baseline Ocpu Utilization",
            "description": "Baseline percentage of a CPU core the burstable instance can use continuously; set to 100% for a non-burstable instance."
          },
          "oci_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Oci Config Override",
            "description": "JSON object used to customize attributes of the OCI VM launch request; an OCI model can be selected via the OCI_MODEL_NAME key."
          },
          "oci_storage_vpus_per_gb": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Oci Storage Vpus Per Gb",
            "description": "Volume Performance Units per GB assigned to the boot volume; accepts values from 10 to 120 in multiples of 10."
          },
          "oci_nsg_ocids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Oci Nsg Ocids",
            "description": "List of Network Security Group OCIDs to assign to the auto-scaled agents."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_name"
        ],
        "title": "OciVmConfigUpdate",
        "description": "`PATCH` body for an OCI VM provider config. Every field optional."
      },
      "OidcConfigSummary": {
        "properties": {
          "oidc_id": {
            "type": "string",
            "format": "uuid",
            "title": "Oidc Id"
          },
          "auto_login": {
            "type": "boolean",
            "title": "Auto Login"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "client_id": {
            "type": "string",
            "title": "Client Id"
          },
          "client_secret": {
            "type": "string",
            "title": "Client Secret"
          },
          "auth_url": {
            "type": "string",
            "title": "Auth Url"
          },
          "token_url": {
            "type": "string",
            "title": "Token Url"
          },
          "scope": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Scope"
          },
          "redirect_url": {
            "type": "string",
            "title": "Redirect Url"
          },
          "user_info_url": {
            "type": "string",
            "title": "User Info Url"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          },
          "username_attribute": {
            "type": "string",
            "title": "Username Attribute"
          },
          "groups_attribute": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Groups Attribute"
          },
          "debug": {
            "type": "boolean",
            "title": "Debug"
          },
          "issuer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Issuer"
          },
          "logout_with_oidc_provider": {
            "type": "boolean",
            "title": "Logout With Oidc Provider"
          },
          "enable_frontchannel_logout": {
            "type": "boolean",
            "title": "Enable Frontchannel Logout"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "oidc_id",
          "auto_login",
          "enabled",
          "is_default",
          "display_name",
          "client_id",
          "client_secret",
          "auth_url",
          "token_url",
          "scope",
          "redirect_url",
          "user_info_url",
          "username_attribute",
          "debug",
          "logout_with_oidc_provider",
          "enable_frontchannel_logout"
        ],
        "title": "OidcConfigSummary",
        "description": "One OpenID Connect auth-provider config (an ``oidc_configs`` row).\n\n``client_secret`` is always masked in responses; echoing the masked value\nback on update leaves it unchanged."
      },
      "OpenstackVmConfig": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `vm_provider_config_name`; same value."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "OPENSTACK",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "openstack_keystone_endpoint": {
            "type": "string",
            "title": "Openstack Keystone Endpoint",
            "description": "Endpoint address of the OpenStack Keystone (Identity) service."
          },
          "openstack_nova_endpoint": {
            "type": "string",
            "title": "Openstack Nova Endpoint",
            "description": "Endpoint address of the OpenStack Nova (Compute) service."
          },
          "openstack_nova_version": {
            "type": "string",
            "title": "Openstack Nova Version",
            "description": "API version to use with the OpenStack Nova (Compute) endpoint."
          },
          "openstack_glance_endpoint": {
            "type": "string",
            "title": "Openstack Glance Endpoint",
            "description": "Endpoint address of the OpenStack Glance (Image) service."
          },
          "openstack_glance_version": {
            "type": "string",
            "title": "Openstack Glance Version",
            "description": "API version to use with the OpenStack Glance (Image) endpoint."
          },
          "openstack_cinder_endpoint": {
            "type": "string",
            "title": "Openstack Cinder Endpoint",
            "description": "Endpoint address of the OpenStack Cinder (Volume) service; includes the project ID."
          },
          "openstack_cinder_version": {
            "type": "string",
            "title": "Openstack Cinder Version",
            "description": "API version to use with the OpenStack Cinder (Volume) endpoint."
          },
          "openstack_project_name": {
            "type": "string",
            "title": "Openstack Project Name",
            "description": "Name of the OpenStack project VMs will be provisioned in."
          },
          "openstack_project_domain_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Project Domain Name",
            "description": "Domain the OpenStack project belongs to."
          },
          "openstack_user_domain_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack User Domain Name",
            "description": "Domain the OpenStack user belongs to."
          },
          "openstack_auth_method": {
            "type": "string",
            "title": "Openstack Auth Method",
            "description": "Which Keystone authentication method to use: application credential or username/password."
          },
          "openstack_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Username",
            "description": "OpenStack username used to authenticate."
          },
          "openstack_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Password",
            "description": "Password for the OpenStack account used to authenticate."
          },
          "openstack_application_credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Application Credential Id",
            "description": "Public ID of the OpenStack Application Credential used to authenticate."
          },
          "openstack_application_credential_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Application Credential Secret",
            "description": "Secret half of the OpenStack Application Credential used to authenticate."
          },
          "openstack_metadata": {
            "additionalProperties": true,
            "type": "object",
            "title": "Openstack Metadata",
            "description": "JSON dictionary of metadata tags applied to the OpenStack VM."
          },
          "openstack_image_id": {
            "type": "string",
            "title": "Openstack Image Id",
            "description": "ID of the image used to provision OpenStack VMs."
          },
          "openstack_flavor": {
            "type": "string",
            "title": "Openstack Flavor",
            "description": "Name of the OpenStack flavor to use for the VM."
          },
          "openstack_create_volume": {
            "type": "boolean",
            "title": "Openstack Create Volume",
            "description": "Whether to create a Cinder volume for the VM instead of using ephemeral Nova storage."
          },
          "openstack_volume_size_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Volume Size Bytes",
            "description": "Size, in bytes (whole GiB increments), of the Cinder volume created when create-volume is enabled."
          },
          "openstack_volume_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Volume Type",
            "description": "Type of Cinder volume to create for the VM."
          },
          "openstack_security_groups": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Openstack Security Groups",
            "description": "List of security groups applied to the OpenStack VM."
          },
          "openstack_network_id": {
            "type": "string",
            "title": "Openstack Network Id",
            "description": "ID of the network the OpenStack VM will be connected to."
          },
          "openstack_key_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Key Name",
            "description": "Name of the SSH key pair used to connect to the instance."
          },
          "openstack_availability_zone": {
            "type": "string",
            "title": "Openstack Availability Zone",
            "description": "Name of the availability zone the OpenStack VM will be placed in."
          },
          "openstack_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Openstack Config Override",
            "description": "JSON dictionary used to customize attributes of the VM provisioning request."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_display_name",
          "vm_provider_config_name",
          "config_name",
          "vm_provider_name",
          "max_instances",
          "openstack_keystone_endpoint",
          "openstack_nova_endpoint",
          "openstack_nova_version",
          "openstack_glance_endpoint",
          "openstack_glance_version",
          "openstack_cinder_endpoint",
          "openstack_cinder_version",
          "openstack_project_name",
          "openstack_auth_method",
          "openstack_image_id",
          "openstack_flavor",
          "openstack_create_volume",
          "openstack_network_id",
          "openstack_availability_zone"
        ],
        "title": "OpenstackVmConfig",
        "description": "`GET` response for an OpenStack VM provider config."
      },
      "OpenstackVmConfigCreate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "OPENSTACK",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "openstack_keystone_endpoint": {
            "type": "string",
            "title": "Openstack Keystone Endpoint",
            "description": "Endpoint address of the OpenStack Keystone (Identity) service."
          },
          "openstack_nova_endpoint": {
            "type": "string",
            "title": "Openstack Nova Endpoint",
            "description": "Endpoint address of the OpenStack Nova (Compute) service."
          },
          "openstack_nova_version": {
            "type": "string",
            "title": "Openstack Nova Version",
            "description": "API version to use with the OpenStack Nova (Compute) endpoint."
          },
          "openstack_glance_endpoint": {
            "type": "string",
            "title": "Openstack Glance Endpoint",
            "description": "Endpoint address of the OpenStack Glance (Image) service."
          },
          "openstack_glance_version": {
            "type": "string",
            "title": "Openstack Glance Version",
            "description": "API version to use with the OpenStack Glance (Image) endpoint."
          },
          "openstack_cinder_endpoint": {
            "type": "string",
            "title": "Openstack Cinder Endpoint",
            "description": "Endpoint address of the OpenStack Cinder (Volume) service; includes the project ID."
          },
          "openstack_cinder_version": {
            "type": "string",
            "title": "Openstack Cinder Version",
            "description": "API version to use with the OpenStack Cinder (Volume) endpoint."
          },
          "openstack_project_name": {
            "type": "string",
            "title": "Openstack Project Name",
            "description": "Name of the OpenStack project VMs will be provisioned in."
          },
          "openstack_project_domain_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Project Domain Name",
            "description": "Domain the OpenStack project belongs to."
          },
          "openstack_user_domain_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack User Domain Name",
            "description": "Domain the OpenStack user belongs to."
          },
          "openstack_auth_method": {
            "type": "string",
            "title": "Openstack Auth Method",
            "description": "Which Keystone authentication method to use: application credential or username/password."
          },
          "openstack_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Username",
            "description": "OpenStack username used to authenticate."
          },
          "openstack_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Password",
            "description": "Password for the OpenStack account used to authenticate."
          },
          "openstack_application_credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Application Credential Id",
            "description": "Public ID of the OpenStack Application Credential used to authenticate."
          },
          "openstack_application_credential_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Application Credential Secret",
            "description": "Secret half of the OpenStack Application Credential used to authenticate."
          },
          "openstack_metadata": {
            "additionalProperties": true,
            "type": "object",
            "title": "Openstack Metadata",
            "description": "JSON dictionary of metadata tags applied to the OpenStack VM."
          },
          "openstack_image_id": {
            "type": "string",
            "title": "Openstack Image Id",
            "description": "ID of the image used to provision OpenStack VMs."
          },
          "openstack_flavor": {
            "type": "string",
            "title": "Openstack Flavor",
            "description": "Name of the OpenStack flavor to use for the VM."
          },
          "openstack_create_volume": {
            "type": "boolean",
            "title": "Openstack Create Volume",
            "description": "Whether to create a Cinder volume for the VM instead of using ephemeral Nova storage.",
            "default": false
          },
          "openstack_volume_size_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Volume Size Bytes",
            "description": "Size, in bytes (whole GiB increments), of the Cinder volume created when create-volume is enabled."
          },
          "openstack_volume_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Volume Type",
            "description": "Type of Cinder volume to create for the VM."
          },
          "openstack_security_groups": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Openstack Security Groups",
            "description": "List of security groups applied to the OpenStack VM."
          },
          "openstack_network_id": {
            "type": "string",
            "title": "Openstack Network Id",
            "description": "ID of the network the OpenStack VM will be connected to."
          },
          "openstack_key_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Key Name",
            "description": "Name of the SSH key pair used to connect to the instance."
          },
          "openstack_availability_zone": {
            "type": "string",
            "title": "Openstack Availability Zone",
            "description": "Name of the availability zone the OpenStack VM will be placed in."
          },
          "openstack_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Openstack Config Override",
            "description": "JSON dictionary used to customize attributes of the VM provisioning request."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_config_name",
          "vm_provider_name",
          "max_instances",
          "openstack_keystone_endpoint",
          "openstack_nova_endpoint",
          "openstack_nova_version",
          "openstack_glance_endpoint",
          "openstack_glance_version",
          "openstack_cinder_endpoint",
          "openstack_cinder_version",
          "openstack_project_name",
          "openstack_auth_method",
          "openstack_image_id",
          "openstack_flavor",
          "openstack_network_id",
          "openstack_availability_zone"
        ],
        "title": "OpenstackVmConfigCreate",
        "description": "`POST` body for an OpenStack VM provider config."
      },
      "OpenstackVmConfigUpdate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider. Omit to leave unchanged."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot. Omit to leave unchanged; null clears it."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "OPENSTACK",
            "title": "Vm Provider Name"
          },
          "openstack_keystone_endpoint": {
            "type": "string",
            "title": "Openstack Keystone Endpoint",
            "description": "Endpoint address of the OpenStack Keystone (Identity) service."
          },
          "openstack_nova_endpoint": {
            "type": "string",
            "title": "Openstack Nova Endpoint",
            "description": "Endpoint address of the OpenStack Nova (Compute) service."
          },
          "openstack_nova_version": {
            "type": "string",
            "title": "Openstack Nova Version",
            "description": "API version to use with the OpenStack Nova (Compute) endpoint."
          },
          "openstack_glance_endpoint": {
            "type": "string",
            "title": "Openstack Glance Endpoint",
            "description": "Endpoint address of the OpenStack Glance (Image) service."
          },
          "openstack_glance_version": {
            "type": "string",
            "title": "Openstack Glance Version",
            "description": "API version to use with the OpenStack Glance (Image) endpoint."
          },
          "openstack_cinder_endpoint": {
            "type": "string",
            "title": "Openstack Cinder Endpoint",
            "description": "Endpoint address of the OpenStack Cinder (Volume) service; includes the project ID."
          },
          "openstack_cinder_version": {
            "type": "string",
            "title": "Openstack Cinder Version",
            "description": "API version to use with the OpenStack Cinder (Volume) endpoint."
          },
          "openstack_project_name": {
            "type": "string",
            "title": "Openstack Project Name",
            "description": "Name of the OpenStack project VMs will be provisioned in."
          },
          "openstack_project_domain_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Project Domain Name",
            "description": "Domain the OpenStack project belongs to."
          },
          "openstack_user_domain_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack User Domain Name",
            "description": "Domain the OpenStack user belongs to."
          },
          "openstack_auth_method": {
            "type": "string",
            "title": "Openstack Auth Method",
            "description": "Which Keystone authentication method to use: application credential or username/password."
          },
          "openstack_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Username",
            "description": "OpenStack username used to authenticate."
          },
          "openstack_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Password",
            "description": "Password for the OpenStack account used to authenticate."
          },
          "openstack_application_credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Application Credential Id",
            "description": "Public ID of the OpenStack Application Credential used to authenticate."
          },
          "openstack_application_credential_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Application Credential Secret",
            "description": "Secret half of the OpenStack Application Credential used to authenticate."
          },
          "openstack_metadata": {
            "additionalProperties": true,
            "type": "object",
            "title": "Openstack Metadata",
            "description": "JSON dictionary of metadata tags applied to the OpenStack VM."
          },
          "openstack_image_id": {
            "type": "string",
            "title": "Openstack Image Id",
            "description": "ID of the image used to provision OpenStack VMs."
          },
          "openstack_flavor": {
            "type": "string",
            "title": "Openstack Flavor",
            "description": "Name of the OpenStack flavor to use for the VM."
          },
          "openstack_create_volume": {
            "type": "boolean",
            "title": "Openstack Create Volume",
            "description": "Whether to create a Cinder volume for the VM instead of using ephemeral Nova storage."
          },
          "openstack_volume_size_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Volume Size Bytes",
            "description": "Size, in bytes (whole GiB increments), of the Cinder volume created when create-volume is enabled."
          },
          "openstack_volume_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Volume Type",
            "description": "Type of Cinder volume to create for the VM."
          },
          "openstack_security_groups": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Openstack Security Groups",
            "description": "List of security groups applied to the OpenStack VM."
          },
          "openstack_network_id": {
            "type": "string",
            "title": "Openstack Network Id",
            "description": "ID of the network the OpenStack VM will be connected to."
          },
          "openstack_key_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Openstack Key Name",
            "description": "Name of the SSH key pair used to connect to the instance."
          },
          "openstack_availability_zone": {
            "type": "string",
            "title": "Openstack Availability Zone",
            "description": "Name of the availability zone the OpenStack VM will be placed in."
          },
          "openstack_config_override": {
            "additionalProperties": true,
            "type": "object",
            "title": "Openstack Config Override",
            "description": "JSON dictionary used to customize attributes of the VM provisioning request."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_name"
        ],
        "title": "OpenstackVmConfigUpdate",
        "description": "`PATCH` body for an OpenStack VM provider config. Every field optional."
      },
      "OtlpAttribute": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Key"
          },
          "value": {
            "additionalProperties": true,
            "type": "object",
            "title": "Value"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "title": "OtlpAttribute"
      },
      "OtlpDataPoint": {
        "properties": {
          "timeUnixNano": {
            "$ref": "#/components/schemas/UnixNano"
          },
          "startTimeUnixNano": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UnixNano"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "timeUnixNano"
        ],
        "title": "OtlpDataPoint"
      },
      "OtlpDataPoints": {
        "properties": {
          "dataPoints": {
            "items": {
              "$ref": "#/components/schemas/OtlpDataPoint"
            },
            "type": "array",
            "title": "Datapoints",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "OtlpDataPoints",
        "description": "Container for one metric data kind (``gauge`` / ``sum`` / ``histogram``)."
      },
      "OtlpLogRecord": {
        "properties": {
          "timeUnixNano": {
            "$ref": "#/components/schemas/UnixNano"
          },
          "observedTimeUnixNano": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UnixNano"
              },
              {
                "type": "null"
              }
            ]
          },
          "severityNumber": {
            "type": "integer",
            "maximum": 24,
            "minimum": 0,
            "title": "Severitynumber",
            "default": 0
          },
          "severityText": {
            "type": "string",
            "title": "Severitytext",
            "default": ""
          },
          "body": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body"
          },
          "traceId": {
            "type": "string",
            "pattern": "^([0-9a-f]{32})?$",
            "title": "Traceid",
            "default": ""
          },
          "spanId": {
            "type": "string",
            "pattern": "^([0-9a-f]{16})?$",
            "title": "Spanid",
            "default": ""
          },
          "attributes": {
            "items": {
              "$ref": "#/components/schemas/OtlpAttribute"
            },
            "type": "array",
            "title": "Attributes",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "timeUnixNano"
        ],
        "title": "OtlpLogRecord"
      },
      "OtlpMetric": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Name"
          },
          "unit": {
            "type": "string",
            "title": "Unit",
            "default": ""
          },
          "description": {
            "type": "string",
            "title": "Description",
            "default": ""
          },
          "gauge": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OtlpDataPoints"
              },
              {
                "type": "null"
              }
            ]
          },
          "sum": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OtlpDataPoints"
              },
              {
                "type": "null"
              }
            ]
          },
          "histogram": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OtlpDataPoints"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "name"
        ],
        "title": "OtlpMetric"
      },
      "OtlpResource": {
        "properties": {
          "attributes": {
            "items": {
              "$ref": "#/components/schemas/OtlpAttribute"
            },
            "type": "array",
            "title": "Attributes",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "OtlpResource"
      },
      "OtlpResourceLogs": {
        "properties": {
          "resource": {
            "$ref": "#/components/schemas/OtlpResource"
          },
          "scopeLogs": {
            "items": {
              "$ref": "#/components/schemas/OtlpScopeLogs"
            },
            "type": "array",
            "title": "Scopelogs",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "OtlpResourceLogs"
      },
      "OtlpResourceMetrics": {
        "properties": {
          "resource": {
            "$ref": "#/components/schemas/OtlpResource"
          },
          "scopeMetrics": {
            "items": {
              "$ref": "#/components/schemas/OtlpScopeMetrics"
            },
            "type": "array",
            "title": "Scopemetrics",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "OtlpResourceMetrics"
      },
      "OtlpResourceSpans": {
        "properties": {
          "resource": {
            "$ref": "#/components/schemas/OtlpResource"
          },
          "scopeSpans": {
            "items": {
              "$ref": "#/components/schemas/OtlpScopeSpans"
            },
            "type": "array",
            "title": "Scopespans",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "OtlpResourceSpans"
      },
      "OtlpScopeLogs": {
        "properties": {
          "logRecords": {
            "items": {
              "$ref": "#/components/schemas/OtlpLogRecord"
            },
            "type": "array",
            "title": "Logrecords",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "OtlpScopeLogs"
      },
      "OtlpScopeMetrics": {
        "properties": {
          "metrics": {
            "items": {
              "$ref": "#/components/schemas/OtlpMetric"
            },
            "type": "array",
            "title": "Metrics",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "OtlpScopeMetrics"
      },
      "OtlpScopeSpans": {
        "properties": {
          "spans": {
            "items": {
              "$ref": "#/components/schemas/OtlpSpan"
            },
            "type": "array",
            "title": "Spans",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "OtlpScopeSpans"
      },
      "OtlpSpan": {
        "properties": {
          "traceId": {
            "type": "string",
            "pattern": "^[0-9a-f]{32}$",
            "title": "Traceid"
          },
          "spanId": {
            "type": "string",
            "pattern": "^[0-9a-f]{16}$",
            "title": "Spanid"
          },
          "traceState": {
            "type": "string",
            "title": "Tracestate",
            "default": ""
          },
          "parentSpanId": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^([0-9a-f]{16})?$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parentspanid"
          },
          "flags": {
            "type": "integer",
            "minimum": 0,
            "title": "Flags",
            "default": 1
          },
          "name": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Name"
          },
          "kind": {
            "type": "integer",
            "maximum": 5,
            "minimum": 0,
            "title": "Kind",
            "default": 0
          },
          "startTimeUnixNano": {
            "$ref": "#/components/schemas/UnixNano"
          },
          "endTimeUnixNano": {
            "$ref": "#/components/schemas/UnixNano"
          },
          "status": {
            "$ref": "#/components/schemas/OtlpSpanStatus"
          },
          "attributes": {
            "items": {
              "$ref": "#/components/schemas/OtlpAttribute"
            },
            "type": "array",
            "title": "Attributes",
            "default": []
          },
          "events": {
            "items": {
              "$ref": "#/components/schemas/OtlpSpanEvent"
            },
            "type": "array",
            "title": "Events",
            "default": []
          },
          "links": {
            "items": {
              "$ref": "#/components/schemas/OtlpSpanLink"
            },
            "type": "array",
            "title": "Links",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "traceId",
          "spanId",
          "name",
          "startTimeUnixNano",
          "endTimeUnixNano"
        ],
        "title": "OtlpSpan"
      },
      "OtlpSpanEvent": {
        "properties": {
          "timeUnixNano": {
            "$ref": "#/components/schemas/UnixNano"
          },
          "name": {
            "type": "string",
            "title": "Name",
            "default": ""
          },
          "attributes": {
            "items": {
              "$ref": "#/components/schemas/OtlpAttribute"
            },
            "type": "array",
            "title": "Attributes",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "timeUnixNano"
        ],
        "title": "OtlpSpanEvent"
      },
      "OtlpSpanLink": {
        "properties": {
          "traceId": {
            "type": "string",
            "pattern": "^([0-9a-f]{32})?$",
            "title": "Traceid",
            "default": ""
          },
          "spanId": {
            "type": "string",
            "pattern": "^([0-9a-f]{16})?$",
            "title": "Spanid",
            "default": ""
          },
          "traceState": {
            "type": "string",
            "title": "Tracestate",
            "default": ""
          },
          "attributes": {
            "items": {
              "$ref": "#/components/schemas/OtlpAttribute"
            },
            "type": "array",
            "title": "Attributes",
            "default": []
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "OtlpSpanLink"
      },
      "OtlpSpanStatus": {
        "properties": {
          "code": {
            "type": "integer",
            "maximum": 2,
            "minimum": 0,
            "title": "Code",
            "default": 0
          },
          "message": {
            "type": "string",
            "title": "Message",
            "default": ""
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "OtlpSpanStatus"
      },
      "PagedResponse_AccountingSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/AccountingSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[AccountingSummary]"
      },
      "PagedResponse_AdUserManagementConfigSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/AdUserManagementConfigSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[AdUserManagementConfigSummary]"
      },
      "PagedResponse_AgentReportRow_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/AgentReportRow"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[AgentReportRow]"
      },
      "PagedResponse_ApiConfigSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ApiConfigSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[ApiConfigSummary]"
      },
      "PagedResponse_ApiInstanceSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ApiInstanceSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[ApiInstanceSummary]"
      },
      "PagedResponse_AutoscaleConfigSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/AutoscaleConfigSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[AutoscaleConfigSummary]"
      },
      "PagedResponse_BannerSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/BannerSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[BannerSummary]"
      },
      "PagedResponse_BrandingConfigSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/BrandingConfigSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[BrandingConfigSummary]"
      },
      "PagedResponse_CompanySummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/CompanySummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[CompanySummary]"
      },
      "PagedResponse_ConnectionProxySummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ConnectionProxySummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[ConnectionProxySummary]"
      },
      "PagedResponse_DnsProviderResponse_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/DnsProviderResponse"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[DnsProviderResponse]"
      },
      "PagedResponse_DomainUsageRow_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/DomainUsageRow"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[DomainUsageRow]"
      },
      "PagedResponse_EgressCredentialListItem_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EgressCredentialListItem"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[EgressCredentialListItem]"
      },
      "PagedResponse_EgressGatewayOption_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EgressGatewayOption"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[EgressGatewayOption]"
      },
      "PagedResponse_EgressGatewaySummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EgressGatewaySummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[EgressGatewaySummary]"
      },
      "PagedResponse_EgressProviderMappingListItem_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EgressProviderMappingListItem"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[EgressProviderMappingListItem]"
      },
      "PagedResponse_EgressProviderOption_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EgressProviderOption"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[EgressProviderOption]"
      },
      "PagedResponse_EgressProviderSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EgressProviderSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[EgressProviderSummary]"
      },
      "PagedResponse_FileMappingSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/FileMappingSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[FileMappingSummary]"
      },
      "PagedResponse_GroupImageRef_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/GroupImageRef"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[GroupImageRef]"
      },
      "PagedResponse_GroupSettingSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/GroupSettingSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[GroupSettingSummary]"
      },
      "PagedResponse_GroupSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/GroupSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[GroupSummary]"
      },
      "PagedResponse_ImageSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ImageSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[ImageSummary]"
      },
      "PagedResponse_ImageUsageRow_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ImageUsageRow"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[ImageUsageRow]"
      },
      "PagedResponse_LabelSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/LabelSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[LabelSummary]"
      },
      "PagedResponse_LabeledOption_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/LabeledOption"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[LabeledOption]"
      },
      "PagedResponse_LdapConfigSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/LdapConfigSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[LdapConfigSummary]"
      },
      "PagedResponse_LicenseSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/LicenseSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[LicenseSummary]"
      },
      "PagedResponse_LogRecord_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/LogRecord"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[LogRecord]"
      },
      "PagedResponse_MetricsCatalogGroup_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/MetricsCatalogGroup"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[MetricsCatalogGroup]"
      },
      "PagedResponse_NetworkPolicySummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/NetworkPolicySummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[NetworkPolicySummary]"
      },
      "PagedResponse_OidcConfigSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/OidcConfigSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[OidcConfigSummary]"
      },
      "PagedResponse_PermissionDefinition_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PermissionDefinition"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[PermissionDefinition]"
      },
      "PagedResponse_PhysicalTokenSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PhysicalTokenSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[PhysicalTokenSummary]"
      },
      "PagedResponse_SafeSearchPattern_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SafeSearchPattern"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[SafeSearchPattern]"
      },
      "PagedResponse_SamlConfigSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SamlConfigSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[SamlConfigSummary]"
      },
      "PagedResponse_ScheduleSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ScheduleSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[ScheduleSummary]"
      },
      "PagedResponse_ServerPoolListItem_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServerPoolListItem"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[ServerPoolListItem]"
      },
      "PagedResponse_ServerSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServerSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[ServerSummary]"
      },
      "PagedResponse_ServerTemplateSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServerTemplateSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[ServerTemplateSummary]"
      },
      "PagedResponse_SessionHistoryEntry_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SessionHistoryEntry"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[SessionHistoryEntry]"
      },
      "PagedResponse_SessionTokenSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SessionTokenSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[SessionTokenSummary]"
      },
      "PagedResponse_SettingSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SettingSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[SettingSummary]"
      },
      "PagedResponse_SsoAttributeMappingSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SsoAttributeMappingSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[SsoAttributeMappingSummary]"
      },
      "PagedResponse_SsoGroupMappingSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SsoGroupMappingSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[SsoGroupMappingSummary]"
      },
      "PagedResponse_SsoRef_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SsoRef"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[SsoRef]"
      },
      "PagedResponse_StagingConfigSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/StagingConfigSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[StagingConfigSummary]"
      },
      "PagedResponse_StorageMappingSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/StorageMappingSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[StorageMappingSummary]"
      },
      "PagedResponse_StorageProviderOption_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/StorageProviderOption"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[StorageProviderOption]"
      },
      "PagedResponse_StorageProviderSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/StorageProviderSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[StorageProviderSummary]"
      },
      "PagedResponse_SupportBundleSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SupportBundleSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[SupportBundleSummary]"
      },
      "PagedResponse_SystemMetricsComponent_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SystemMetricsComponent"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[SystemMetricsComponent]"
      },
      "PagedResponse_UserDetail_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UserDetail"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[UserDetail]"
      },
      "PagedResponse_UserRef_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UserRef"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[UserRef]"
      },
      "PagedResponse_UserSessionUsageRow_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UserSessionUsageRow"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[UserSessionUsageRow]"
      },
      "PagedResponse_UserSummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UserSummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[UserSummary]"
      },
      "PagedResponse_VmProviderConfigResponse_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/VmProviderConfigResponse"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[VmProviderConfigResponse]"
      },
      "PagedResponse_WebFilterCategory_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/WebFilterCategory"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[WebFilterCategory]"
      },
      "PagedResponse_WebFilterPolicySummary_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/WebFilterPolicySummary"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[WebFilterPolicySummary]"
      },
      "PagedResponse_ZoneListItem_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ZoneListItem"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[ZoneListItem]"
      },
      "PagedResponse_ZoneOption_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ZoneOption"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[ZoneOption]"
      },
      "PagedResponse_str_": {
        "properties": {
          "data": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Data"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Number of records matching the request's filters, across all pages. To get only the count, request `page_size=0`: `data` is empty and `total` still counts every match."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By"
          },
          "sort_direction": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Direction"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "page_size"
        ],
        "title": "PagedResponse[str]"
      },
      "PasswordChanged": {
        "properties": {
          "outcome": {
            "type": "string",
            "const": "password_changed",
            "title": "Outcome",
            "default": "password_changed"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PasswordChanged",
        "description": "The pre-login password reset succeeded; no session is issued."
      },
      "PasswordPolicySetting": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name"
        ],
        "title": "PasswordPolicySetting",
        "description": "One ``auth_password`` setting, so the login page can validate a new\npassword before submitting it."
      },
      "PermissionDefinition": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "permission_id": {
            "type": "integer",
            "title": "Permission Id"
          },
          "friendly_name": {
            "type": "string",
            "title": "Friendly Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name",
          "permission_id",
          "friendly_name",
          "description"
        ],
        "title": "PermissionDefinition",
        "description": "One entry in the permission catalog."
      },
      "PermissionGrant": {
        "properties": {
          "group_permission_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Permission Id"
          },
          "group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Id"
          },
          "permission_name": {
            "type": "string",
            "title": "Permission Name",
            "description": "Stable permission identifier, matching PermissionDefinition.name."
          },
          "permission_friendly_name": {
            "type": "string",
            "title": "Permission Friendly Name",
            "description": "Display name, matching PermissionDefinition.friendly_name."
          },
          "permission_description": {
            "type": "string",
            "title": "Permission Description"
          },
          "permission_id": {
            "type": "integer",
            "title": "Permission Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "group_permission_id",
          "group_id",
          "permission_name",
          "permission_friendly_name",
          "permission_description",
          "permission_id"
        ],
        "title": "PermissionGrant",
        "description": "One permission granted to a group.\n\n``permission_name`` and ``permission_friendly_name`` match ``PermissionDefinition.name`` and\n``friendly_name``. ``UserPermissionSummary`` (``GET\n/api/identity/users/{user_id}/permissions``) uses the same row shape across all of a user's\ngroups."
      },
      "PersistentProfileEntry": {
        "properties": {
          "profile_id": {
            "type": "string",
            "format": "uuid",
            "title": "Profile Id"
          },
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "image_friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Friendly Name"
          },
          "storage_mapping_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Storage Mapping Id"
          },
          "storage_provider_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Storage Provider Type"
          },
          "snapshots_supported": {
            "type": "boolean",
            "title": "Snapshots Supported",
            "default": false
          },
          "modes": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Modes"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "profile_id",
          "image_id"
        ],
        "title": "PersistentProfileEntry",
        "description": "One persistent profile of the caller: the image it belongs to and\nwhether the storage provider can take snapshots of it."
      },
      "PersistentProfileList": {
        "properties": {
          "profiles": {
            "items": {
              "$ref": "#/components/schemas/PersistentProfileEntry"
            },
            "type": "array",
            "title": "Profiles"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "profiles"
        ],
        "title": "PersistentProfileList",
        "description": "``GET /api/session/persistent-profiles``."
      },
      "PersistentProfileModeProblem": {
        "properties": {
          "type": {
            "type": "string",
            "const": "persistent-profile-mode-unavailable",
            "title": "Type",
            "default": "persistent-profile-mode-unavailable"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "status": {
            "type": "integer",
            "title": "Status"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          },
          "instance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance"
          },
          "persistent_profile_modes": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Persistent Profile Modes"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "status",
          "detail",
          "persistent_profile_modes"
        ],
        "title": "PersistentProfileModeProblem",
        "description": "The requested ``persistent_profile_mode`` is not one the image offers;\n``persistent_profile_modes`` lists the modes it does."
      },
      "PersistentProfileSnapshot": {
        "properties": {
          "snapshot_id": {
            "type": "string",
            "title": "Snapshot Id"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "snapshot_id"
        ],
        "title": "PersistentProfileSnapshot",
        "description": "One snapshot the storage provider reports for a profile.\n\nProviders return opaque snapshot identifiers; ``created_at`` is only set\nwhen the provider reports it."
      },
      "PersistentProfileSnapshotList": {
        "properties": {
          "profile_id": {
            "type": "string",
            "format": "uuid",
            "title": "Profile Id"
          },
          "snapshots": {
            "items": {
              "$ref": "#/components/schemas/PersistentProfileSnapshot"
            },
            "type": "array",
            "title": "Snapshots"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "profile_id",
          "snapshots"
        ],
        "title": "PersistentProfileSnapshotList",
        "description": "``GET /api/session/persistent-profiles/{profile_id}/snapshots``."
      },
      "PhysicalTokenSeedUpload": {
        "properties": {
          "file": {
            "type": "string",
            "contentMediaType": "application/octet-stream",
            "title": "File",
            "description": "Vendor seed zip archive."
          },
          "password": {
            "type": "string",
            "title": "Password",
            "description": "Password for the seed zip archive."
          }
        },
        "type": "object",
        "required": [
          "file",
          "password"
        ],
        "title": "PhysicalTokenSeedUpload"
      },
      "PhysicalTokenSummary": {
        "properties": {
          "token_id": {
            "type": "string",
            "format": "uuid",
            "title": "Token Id"
          },
          "serial_number": {
            "type": "string",
            "title": "Serial Number"
          },
          "seed_filename": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seed Filename"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "username": {
            "type": "string",
            "title": "Username"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "token_id",
          "serial_number",
          "created",
          "username"
        ],
        "title": "PhysicalTokenSummary",
        "description": "One hardware OTP token.\n\n``username`` is the assigned user's username, or ``\"\"`` when the token is unassigned. The\ntoken seed is a secret and is never returned."
      },
      "PhysicalTokenUploadResult": {
        "properties": {
          "tokens_imported": {
            "type": "integer",
            "title": "Tokens Imported"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "tokens_imported"
        ],
        "title": "PhysicalTokenUploadResult",
        "description": "Response for the physical-token seed-file upload."
      },
      "PlatformVersion": {
        "properties": {
          "version": {
            "type": "string",
            "title": "Version"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "version"
        ],
        "title": "PlatformVersion",
        "description": "``GET /api/platform/version`` response — deliberately just the build\nid, so an unauthenticated caller can pick a matching generated SDK\nwithout also getting license/update/hostname details."
      },
      "PreviewConfigImportRequest": {
        "properties": {
          "import_data": {
            "type": "string",
            "title": "Import Data",
            "description": "The export payload: a base64-encoded ZIP archive when `import_format` is `zip`, or a raw YAML document when it is `yaml`."
          },
          "import_format": {
            "$ref": "#/components/schemas/ConfigImportFormat",
            "description": "Encoding of `import_data`."
          },
          "import_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Import Key",
            "description": "Password that decrypts the ZIP archive."
          }
        },
        "type": "object",
        "required": [
          "import_data",
          "import_format"
        ],
        "title": "PreviewConfigImportRequest",
        "description": "Body of ``POST /api/admin/platform/config-imports/preview``."
      },
      "ProblemDetail": {
        "properties": {
          "type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProblemType"
              },
              {
                "type": "string",
                "const": "about:blank"
              }
            ],
            "title": "Type",
            "default": "about:blank"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "status": {
            "type": "integer",
            "title": "Status"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          },
          "instance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "status",
          "detail"
        ],
        "title": "ProblemDetail",
        "description": "RFC 9457 Problem Details body, sent as ``application/problem+json`` for every error except\nrequest validation. A request that fails validation is a 422 with the\n``ValidationErrorResponse`` shape."
      },
      "ProblemType": {
        "type": "string",
        "enum": [
          "expired-password",
          "account-locked",
          "account-disabled",
          "email-not-verified",
          "sso-only",
          "license-exceeded",
          "launch-config-required",
          "egress-selection-required",
          "rdp-client-required",
          "captcha-required",
          "login-required",
          "invalid-credentials",
          "no-resources",
          "image-incompatible",
          "persistent-profile-mode-unavailable",
          "last-enabled-connection-proxy",
          "session-starting"
        ],
        "title": "ProblemType",
        "description": "Machine-readable problem `type` values a client can branch on.\n\nThe enum is part of the OpenAPI document, so generated clients get the\nsame set of names. `detail` is free text and may change between\nreleases; only `type` is stable enough to branch on."
      },
      "ProfileRestorationAccepted": {
        "properties": {
          "profile_id": {
            "type": "string",
            "format": "uuid",
            "title": "Profile Id"
          },
          "snapshot_id": {
            "type": "string",
            "title": "Snapshot Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "profile_id",
          "snapshot_id"
        ],
        "title": "ProfileRestorationAccepted"
      },
      "ProfileRestorationRequest": {
        "properties": {
          "snapshot_id": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "title": "Snapshot Id"
          }
        },
        "type": "object",
        "required": [
          "snapshot_id"
        ],
        "title": "ProfileRestorationRequest",
        "description": "``POST /api/session/persistent-profiles/{profile_id}/restorations``: revert the\nprofile to ``snapshot_id``."
      },
      "ProxmoxVmConfig": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `vm_provider_config_name`; same value."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "PROXMOX",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "host": {
            "type": "string",
            "title": "Host",
            "description": "Hostname or IP address and port of the Proxmox instance."
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "Name of the Proxmox user Kasm authenticates as, including the auth realm."
          },
          "token_name": {
            "type": "string",
            "title": "Token Name",
            "description": "Name of the Proxmox API token associated with the user."
          },
          "token_value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Token Value",
            "description": "Secret value of the Proxmox API token associated with the user."
          },
          "verify_ssl": {
            "type": "boolean",
            "title": "Verify Ssl",
            "description": "Whether to verify the Proxmox instance's SSL certificate."
          },
          "vmid_range_lower": {
            "type": "integer",
            "title": "Vmid Range Lower",
            "description": "Start of the VMID range Kasm uses when creating VMs on this provider."
          },
          "vmid_range_upper": {
            "type": "integer",
            "title": "Vmid Range Upper",
            "description": "End of the VMID range Kasm uses when creating VMs on this provider."
          },
          "full_clone": {
            "type": "boolean",
            "title": "Full Clone",
            "description": "If enabled, clones the VM template fully instead of using a faster but lower-performance linked clone."
          },
          "template_name": {
            "type": "string",
            "title": "Template Name",
            "description": "Name of the VM template to clone when provisioning new VMs."
          },
          "cluster_node_name": {
            "type": "string",
            "title": "Cluster Node Name",
            "description": "Name of the Proxmox cluster node that holds the VM template to clone."
          },
          "resource_pool_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resource Pool Name",
            "description": "Resource pool to use when cloning new VMs."
          },
          "storage_pool_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Storage Pool Name",
            "description": "Storage pool to use when cloning new VMs; requires full_clone to be enabled."
          },
          "target_node_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Node Name",
            "description": "Cluster node to provision new VMs on; defaults to cluster_node_name if unset."
          },
          "cores": {
            "type": "integer",
            "title": "Cores",
            "description": "The number of CPU cores to allocate to the VM."
          },
          "memory_bytes": {
            "type": "integer",
            "title": "Memory Bytes",
            "description": "Amount of memory to allocate to the VM, in bytes."
          },
          "installed_os_type": {
            "type": "string",
            "title": "Installed Os Type",
            "description": "Operating system family installed on the VM template (Linux or Windows)."
          },
          "startup_script_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script Path",
            "description": "Absolute path on the VM template where the startup script is uploaded and executed."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_display_name",
          "vm_provider_config_name",
          "config_name",
          "vm_provider_name",
          "max_instances",
          "host",
          "username",
          "token_name",
          "verify_ssl",
          "vmid_range_lower",
          "vmid_range_upper",
          "full_clone",
          "template_name",
          "cluster_node_name",
          "cores",
          "memory_bytes",
          "installed_os_type"
        ],
        "title": "ProxmoxVmConfig",
        "description": "`GET` response for a Proxmox VM provider config."
      },
      "ProxmoxVmConfigCreate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "PROXMOX",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "host": {
            "type": "string",
            "title": "Host",
            "description": "Hostname or IP address and port of the Proxmox instance."
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "Name of the Proxmox user Kasm authenticates as, including the auth realm."
          },
          "token_name": {
            "type": "string",
            "title": "Token Name",
            "description": "Name of the Proxmox API token associated with the user."
          },
          "token_value": {
            "type": "string",
            "title": "Token Value",
            "description": "Secret value of the Proxmox API token associated with the user."
          },
          "verify_ssl": {
            "type": "boolean",
            "title": "Verify Ssl",
            "description": "Whether to verify the Proxmox instance's SSL certificate.",
            "default": true
          },
          "vmid_range_lower": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Vmid Range Lower",
            "description": "Start of the VMID range Kasm uses when creating VMs on this provider."
          },
          "vmid_range_upper": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Vmid Range Upper",
            "description": "End of the VMID range Kasm uses when creating VMs on this provider."
          },
          "full_clone": {
            "type": "boolean",
            "title": "Full Clone",
            "description": "If enabled, clones the VM template fully instead of using a faster but lower-performance linked clone.",
            "default": false
          },
          "template_name": {
            "type": "string",
            "title": "Template Name",
            "description": "Name of the VM template to clone when provisioning new VMs."
          },
          "cluster_node_name": {
            "type": "string",
            "title": "Cluster Node Name",
            "description": "Name of the Proxmox cluster node that holds the VM template to clone."
          },
          "resource_pool_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resource Pool Name",
            "description": "Resource pool to use when cloning new VMs."
          },
          "storage_pool_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Storage Pool Name",
            "description": "Storage pool to use when cloning new VMs; requires full_clone to be enabled."
          },
          "target_node_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Node Name",
            "description": "Cluster node to provision new VMs on; defaults to cluster_node_name if unset."
          },
          "cores": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Cores",
            "description": "The number of CPU cores to allocate to the VM."
          },
          "memory_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Memory Bytes",
            "description": "Amount of memory to allocate to the VM, in bytes."
          },
          "installed_os_type": {
            "type": "string",
            "title": "Installed Os Type",
            "description": "Operating system family installed on the VM template (Linux or Windows)."
          },
          "startup_script_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script Path",
            "description": "Absolute path on the VM template where the startup script is uploaded and executed."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_config_name",
          "vm_provider_name",
          "max_instances",
          "host",
          "username",
          "token_name",
          "token_value",
          "vmid_range_lower",
          "vmid_range_upper",
          "template_name",
          "cluster_node_name",
          "cores",
          "memory_bytes",
          "installed_os_type"
        ],
        "title": "ProxmoxVmConfigCreate",
        "description": "`POST` body for a Proxmox VM provider config."
      },
      "ProxmoxVmConfigUpdate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider. Omit to leave unchanged."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot. Omit to leave unchanged; null clears it."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "PROXMOX",
            "title": "Vm Provider Name"
          },
          "host": {
            "type": "string",
            "title": "Host",
            "description": "Hostname or IP address and port of the Proxmox instance."
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "Name of the Proxmox user Kasm authenticates as, including the auth realm."
          },
          "token_name": {
            "type": "string",
            "title": "Token Name",
            "description": "Name of the Proxmox API token associated with the user."
          },
          "token_value": {
            "type": "string",
            "title": "Token Value",
            "description": "Secret value of the Proxmox API token associated with the user."
          },
          "verify_ssl": {
            "type": "boolean",
            "title": "Verify Ssl",
            "description": "Whether to verify the Proxmox instance's SSL certificate."
          },
          "vmid_range_lower": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Vmid Range Lower",
            "description": "Start of the VMID range Kasm uses when creating VMs on this provider."
          },
          "vmid_range_upper": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Vmid Range Upper",
            "description": "End of the VMID range Kasm uses when creating VMs on this provider."
          },
          "full_clone": {
            "type": "boolean",
            "title": "Full Clone",
            "description": "If enabled, clones the VM template fully instead of using a faster but lower-performance linked clone."
          },
          "template_name": {
            "type": "string",
            "title": "Template Name",
            "description": "Name of the VM template to clone when provisioning new VMs."
          },
          "cluster_node_name": {
            "type": "string",
            "title": "Cluster Node Name",
            "description": "Name of the Proxmox cluster node that holds the VM template to clone."
          },
          "resource_pool_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resource Pool Name",
            "description": "Resource pool to use when cloning new VMs."
          },
          "storage_pool_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Storage Pool Name",
            "description": "Storage pool to use when cloning new VMs; requires full_clone to be enabled."
          },
          "target_node_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Node Name",
            "description": "Cluster node to provision new VMs on; defaults to cluster_node_name if unset."
          },
          "cores": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Cores",
            "description": "The number of CPU cores to allocate to the VM."
          },
          "memory_bytes": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "title": "Memory Bytes",
            "description": "Amount of memory to allocate to the VM, in bytes."
          },
          "installed_os_type": {
            "type": "string",
            "title": "Installed Os Type",
            "description": "Operating system family installed on the VM template (Linux or Windows)."
          },
          "startup_script_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script Path",
            "description": "Absolute path on the VM template where the startup script is uploaded and executed."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_name"
        ],
        "title": "ProxmoxVmConfigUpdate",
        "description": "`PATCH` body for a Proxmox VM provider config. Every field optional."
      },
      "RDP_CONNECTION_TYPE": {
        "type": "string",
        "enum": [
          "RDP_CLIENT",
          "GUAC",
          "USER_SELECT"
        ],
        "title": "RDP_CONNECTION_TYPE"
      },
      "RdpClientFileRequest": {
        "properties": {
          "dpi": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Dpi"
          },
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          }
        },
        "type": "object",
        "required": [
          "session_id"
        ],
        "title": "RdpClientFileRequest",
        "description": "A request for the signed `.rdp` file of an existing session."
      },
      "RdpClientFileResponse": {
        "properties": {
          "file": {
            "type": "string",
            "title": "File"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "file"
        ],
        "title": "RdpClientFileResponse",
        "description": "The signed `.rdp` file content.\n\nKept as a single-key envelope rather than a bare string, against the usual\nrule, so the shape stays open to the signing metadata a caller may later\nneed alongside the document (filename, expiry, signer). The URL variant\nhas no such headroom to preserve and returns a bare string."
      },
      "RdpClientRequiredProblem": {
        "properties": {
          "type": {
            "type": "string",
            "const": "rdp-client-required",
            "title": "Type",
            "default": "rdp-client-required"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "status": {
            "type": "integer",
            "title": "Status"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          },
          "instance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance"
          },
          "launch_options": {
            "$ref": "#/components/schemas/LaunchOptions"
          },
          "rdp_client_types": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Rdp Client Types"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "status",
          "detail",
          "launch_options",
          "rdp_client_types"
        ],
        "title": "RdpClientRequiredProblem",
        "description": "The image leaves the RDP client to the caller and the request named none\n(or one that is not offered). ``rdp_client_types`` lists the accepted values."
      },
      "RdpClientSettingsRequest": {
        "properties": {
          "dpi": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Dpi"
          },
          "session_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Id"
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          }
        },
        "type": "object",
        "title": "RdpClientSettingsRequest",
        "description": "A request for the settings a local RDP client needs.\n\nWith no ``session_id`` this is a direct RDP login: the caller has no\nsession yet and one is created for ``image_id`` (or the caller's default\nimage). Only this variant supports that -- the file and url variants\nrequire ``session_id``."
      },
      "RdpClientSettingsResponse": {
        "additionalProperties": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "integer"
            }
          ]
        },
        "type": "object",
        "title": "RdpClientSettingsResponse",
        "description": "The flat RDP field set.\n\nKeys are Microsoft's RDP file property names -- `full address`,\n`screen mode id`, and so on -- so this is a free-form mapping rather than\na model with fields."
      },
      "RdpClientUrlRequest": {
        "properties": {
          "dpi": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Dpi"
          },
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "fully_encoded": {
            "type": "boolean",
            "title": "Fully Encoded",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "session_id"
        ],
        "title": "RdpClientUrlRequest",
        "description": "A request for the `rdp://` URL of an existing session."
      },
      "RdpSettings": {
        "properties": {
          "connection_credential_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Credential Type",
            "description": "How Kasm authenticates to the RDP server: `STATIC`, `SSO_CREATE_USER`, `SSO_USERNAME`, `PROMPT_USER`, or `SMARTCARD`."
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username",
            "description": "Username to connect with. Only meaningful when `connection_credential_type` is `STATIC`."
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password",
            "description": "Password for `connection_username`. Only meaningful when `connection_credential_type` is `STATIC`. Serialized back as a `\"****\"` placeholder, never the real value."
          },
          "connection_sso_username_domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Sso Username Domain",
            "description": "Domain prefixed to the Kasm username when `connection_credential_type` is `SSO_USERNAME`. Blank passes the username through unchanged; `localhost` strips any domain part, e.g. `john_smith@example.com` becomes `john_smith`."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "RdpSettings",
        "description": "``rdp_settings`` — populated when ``connection_type`` is ``\"RDP\"``."
      },
      "RdpSettingsCreate": {
        "properties": {
          "connection_credential_type": {
            "$ref": "#/components/schemas/ConnectionCredentialType",
            "description": "How Kasm authenticates to the RDP server: `STATIC`, `SSO_CREATE_USER`, `SSO_USERNAME`, `PROMPT_USER`, or `SMARTCARD`. `SSO_CREATE_USER` additionally requires `agent_installed` on `server_pool_settings`."
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username",
            "description": "Username to connect with. Required when `connection_credential_type` is `STATIC`."
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password",
            "description": "Password for `connection_username`. Required when `connection_credential_type` is `STATIC`."
          },
          "connection_sso_username_domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Sso Username Domain",
            "description": "Domain prefixed to the Kasm username when `connection_credential_type` is `SSO_USERNAME` (required in that case). Blank passes the username through unchanged; `localhost` strips any domain part, e.g. `john_smith@example.com` becomes `john_smith`."
          }
        },
        "type": "object",
        "required": [
          "connection_credential_type"
        ],
        "title": "RdpSettingsCreate",
        "description": "``rdp_settings`` on create.\n\n``connection_credential_type`` accepts any ``ConnectionCredentialType`` value. ``STATIC``\nrequires a username and password; ``SSO_USERNAME`` requires a domain. The other three\n(``PROMPT_USER``, ``SSO_CREATE_USER``, ``SMARTCARD``) need none of the fields below.\n``SSO_CREATE_USER`` also requires ``agent_installed`` on ``server_pool_settings``."
      },
      "RdpSettingsUpdate": {
        "properties": {
          "connection_credential_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectionCredentialType"
              },
              {
                "type": "null"
              }
            ],
            "description": "How Kasm authenticates to the RDP server. Omit to leave unchanged."
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username",
            "description": "Username to connect with. Omit to leave unchanged."
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password",
            "description": "Password for `connection_username`. Omit to leave unchanged."
          },
          "connection_sso_username_domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Sso Username Domain",
            "description": "Domain prefixed to the Kasm username when `connection_credential_type` is `SSO_USERNAME`. Omit to leave unchanged."
          }
        },
        "type": "object",
        "title": "RdpSettingsUpdate",
        "description": "``rdp_settings`` on update — every field optional. The credential-type\nshape rules (``STATIC``/``SSO_USERNAME`` requirements) are re-validated\nagainst the merged stored+patch state, since a patch may touch only one\nof the two related fields."
      },
      "RdpSignerCertificate": {
        "properties": {
          "thumbprint": {
            "type": "string",
            "title": "Thumbprint"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "thumbprint"
        ],
        "title": "RdpSignerCertificate",
        "description": "The deployment's RDP signing certificate, identified by its SHA-1 thumbprint."
      },
      "ReadinessStatus": {
        "properties": {
          "ok": {
            "type": "boolean",
            "title": "Ok"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "ok"
        ],
        "title": "ReadinessStatus",
        "description": "``GET /api/__healthcheck`` response."
      },
      "RecentSessionEntry": {
        "properties": {
          "share_id": {
            "type": "string",
            "title": "Share Id"
          },
          "image_friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Friendly Name"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "share_id"
        ],
        "title": "RecentSessionEntry",
        "description": "A shared session the caller previously joined that is still live."
      },
      "RecentSessionsResponse": {
        "properties": {
          "sessions": {
            "items": {
              "$ref": "#/components/schemas/RecentSessionEntry"
            },
            "type": "array",
            "title": "Sessions"
          },
          "expired_share_ids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Expired Share Ids"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "sessions",
          "expired_share_ids"
        ],
        "title": "RecentSessionsResponse",
        "description": "``GET /api/session/recent-sessions``: the live shares and the ones that are gone."
      },
      "RecordingsBySessionResponse": {
        "properties": {
          "sessions": {
            "items": {
              "$ref": "#/components/schemas/SessionRecordingGroup"
            },
            "type": "array",
            "title": "Sessions"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "sessions"
        ],
        "title": "RecordingsBySessionResponse"
      },
      "RegistryConfig": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "icon": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Icon"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "list_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "List Url"
          },
          "signature": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signature"
          },
          "default_channel": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Channel"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "RegistryConfig",
        "description": "The registry's bootstrap dataset (`<schema>/list.json`), minus\n`workspaces` (surfaced separately as `RegistrySummary.workspaces`). All\nfields are optional and unrecognized keys are preserved."
      },
      "RegistrySummary": {
        "properties": {
          "registry_id": {
            "type": "string",
            "format": "uuid",
            "title": "Registry Id"
          },
          "registry_url": {
            "type": "string",
            "title": "Registry Url"
          },
          "do_auto_update": {
            "type": "boolean",
            "title": "Do Auto Update"
          },
          "schema_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Schema Version"
          },
          "is_verified": {
            "type": "boolean",
            "title": "Is Verified"
          },
          "channel": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Channel"
          },
          "workspaces": {
            "title": "Workspaces"
          },
          "config": {
            "$ref": "#/components/schemas/RegistryConfig"
          },
          "error_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Message"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "registry_id",
          "registry_url",
          "do_auto_update",
          "is_verified",
          "workspaces",
          "config"
        ],
        "title": "RegistrySummary",
        "description": "One registry entry, as returned by every registry read/write endpoint.\n\n`error_message` is populated only by the list endpoint, when an\nopportunistic background refresh of this entry failed."
      },
      "ResetPasswordRequest": {
        "properties": {
          "username": {
            "type": "string",
            "title": "Username"
          },
          "current_password": {
            "type": "string",
            "title": "Current Password"
          },
          "new_password": {
            "type": "string",
            "title": "New Password"
          },
          "code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code"
          },
          "webauthn_credential": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webauthn Credential"
          },
          "request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Request Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "username",
          "current_password",
          "new_password"
        ],
        "title": "ResetPasswordRequest",
        "description": "Body for ``POST /api/auth/password/reset``.\n\nThe pre-login password change: the caller verifies the current password\n(which may itself be expired -- that is the usual reason to be here) plus\nwhichever second factor the account has enrolled."
      },
      "SafeSearchPattern": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "match": {
            "type": "string",
            "title": "Match"
          },
          "replace": {
            "type": "string",
            "title": "Replace"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name",
          "match",
          "replace"
        ],
        "title": "SafeSearchPattern",
        "description": "One safe-search rewrite rule (``match`` regex → ``replace`` template)."
      },
      "SamlConfigSummary": {
        "properties": {
          "saml_id": {
            "type": "string",
            "format": "uuid",
            "title": "Saml Id"
          },
          "strict": {
            "type": "boolean",
            "title": "Strict"
          },
          "debug": {
            "type": "boolean",
            "title": "Debug"
          },
          "adfs": {
            "type": "boolean",
            "title": "Adfs"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "auto_login": {
            "type": "boolean",
            "title": "Auto Login"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "group_attribute": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Attribute"
          },
          "sp_entity_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Entity Id"
          },
          "sp_acs_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Acs Url"
          },
          "sp_slo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Slo Url"
          },
          "sp_name_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Name Id"
          },
          "sp_x509_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp X509 Cert"
          },
          "sp_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Private Key"
          },
          "idp_entity_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp Entity Id"
          },
          "idp_sso_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp Sso Url"
          },
          "idp_slo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp Slo Url"
          },
          "idp_x509_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp X509 Cert"
          },
          "want_attribute_statement": {
            "type": "boolean",
            "title": "Want Attribute Statement"
          },
          "name_id_encrypted": {
            "type": "boolean",
            "title": "Name Id Encrypted"
          },
          "authn_request_signed": {
            "type": "boolean",
            "title": "Authn Request Signed"
          },
          "logout_request_signed": {
            "type": "boolean",
            "title": "Logout Request Signed"
          },
          "logout_response_signed": {
            "type": "boolean",
            "title": "Logout Response Signed"
          },
          "sign_metadata": {
            "type": "boolean",
            "title": "Sign Metadata"
          },
          "want_messages_signed": {
            "type": "boolean",
            "title": "Want Messages Signed"
          },
          "want_assertions_signed": {
            "type": "boolean",
            "title": "Want Assertions Signed"
          },
          "want_name_id": {
            "type": "boolean",
            "title": "Want Name Id"
          },
          "want_name_id_encrypted": {
            "type": "boolean",
            "title": "Want Name Id Encrypted"
          },
          "want_assertions_encrypted": {
            "type": "boolean",
            "title": "Want Assertions Encrypted"
          },
          "signature_algorithm": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signature Algorithm"
          },
          "digest_algorithm": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Digest Algorithm"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          },
          "requested_authn_context": {
            "type": "boolean",
            "title": "Requested Authn Context"
          },
          "authn_context_set": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Authn Context Set"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "saml_id",
          "strict",
          "debug",
          "adfs",
          "enabled",
          "auto_login",
          "is_default",
          "want_attribute_statement",
          "name_id_encrypted",
          "authn_request_signed",
          "logout_request_signed",
          "logout_response_signed",
          "sign_metadata",
          "want_messages_signed",
          "want_assertions_signed",
          "want_name_id",
          "want_name_id_encrypted",
          "want_assertions_encrypted",
          "requested_authn_context"
        ],
        "title": "SamlConfigSummary",
        "description": "One SAML identity-provider config (a ``saml_config`` row).\n\n``sp_x509_cert``, ``sp_private_key``, and ``idp_x509_cert`` are always\nmasked in responses; echoing a masked value back on update leaves it\nunchanged.\n\n``authn_context_set`` is populated only on the single-config fetch, and\nonly when the deployment forces ``requested_authn_context`` off via the\n``KASM_SAML_REQUESTED_AUTHN_CONTEXT`` env var."
      },
      "SamlDigestAlgorithm": {
        "type": "string",
        "enum": [
          "http://www.w3.org/2000/09/xmldsig#sha1",
          "http://www.w3.org/2001/04/xmlenc#sha256",
          "http://www.w3.org/2001/04/xmldsig-more#sha384",
          "http://www.w3.org/2001/04/xmlenc#sha512"
        ],
        "title": "SamlDigestAlgorithm",
        "description": "XML digest algorithm used when signing SAML messages."
      },
      "SamlSignatureAlgorithm": {
        "type": "string",
        "enum": [
          "http://www.w3.org/2000/09/xmldsig#rsa-sha1",
          "http://www.w3.org/2000/09/xmldsig#dsa-sha1",
          "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",
          "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384",
          "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"
        ],
        "title": "SamlSignatureAlgorithm",
        "description": "XML signature algorithm used when signing SAML messages."
      },
      "ScalarReport": {
        "properties": {
          "value": {
            "type": "number",
            "title": "Value"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "value"
        ],
        "title": "ScalarReport",
        "description": "A single-number report (``current-sessions``, ``errors``, ...)."
      },
      "ScheduleSummary": {
        "properties": {
          "schedule_id": {
            "type": "string",
            "format": "uuid",
            "title": "Schedule Id"
          },
          "autoscale_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Autoscale Config Id"
          },
          "days_of_the_week": {
            "items": {},
            "type": "array",
            "title": "Days Of The Week",
            "description": "Days the schedule is active, as ISO weekday numbers (1 = Monday ... 7 = Sunday)."
          },
          "active_start_time": {
            "type": "string",
            "format": "time",
            "title": "Active Start Time",
            "description": "Local time (in `timezone`) the schedule activates on each selected day."
          },
          "active_end_time": {
            "type": "string",
            "format": "time",
            "title": "Active End Time",
            "description": "Local time (in `timezone`) the schedule deactivates. When earlier than `active_start_time`, the window is overnight: it ends at this time on the following day."
          },
          "timezone": {
            "type": "string",
            "title": "Timezone",
            "description": "IANA time zone name the schedule's times are evaluated in, e.g. `America/New_York`."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "schedule_id",
          "autoscale_config_id",
          "days_of_the_week",
          "active_start_time",
          "active_end_time",
          "timezone"
        ],
        "title": "ScheduleSummary",
        "description": "One autoscale schedule, as returned by every schedule endpoint."
      },
      "ServerBatchImport": {
        "properties": {
          "file_content": {
            "type": "string",
            "contentMediaType": "application/octet-stream",
            "title": "File Content",
            "description": "CSV file of servers to create."
          }
        },
        "type": "object",
        "required": [
          "file_content"
        ],
        "title": "ServerBatchImport"
      },
      "ServerDetail": {
        "properties": {
          "server_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Id"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "server_type": {
            "type": "string",
            "title": "Server Type"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "liveness": {
            "type": "string",
            "title": "Liveness"
          },
          "intent": {
            "type": "string",
            "title": "Intent"
          },
          "intent_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intent Reason"
          },
          "operational_status": {
            "type": "string",
            "title": "Operational Status"
          },
          "is_draining": {
            "type": "boolean",
            "title": "Is Draining"
          },
          "is_autoscaled": {
            "type": "boolean",
            "title": "Is Autoscaled"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "instance_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance Id"
          },
          "public_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Public Ip"
          },
          "agent_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Agent Version"
          },
          "agent_installed": {
            "type": "boolean",
            "title": "Agent Installed"
          },
          "last_reported": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Reported"
          },
          "last_reported_elapsed": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Reported Elapsed"
          },
          "container_limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Container Limit"
          },
          "cores": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cores"
          },
          "cores_override": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cores Override"
          },
          "memory_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory Bytes"
          },
          "memory_override_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory Override Bytes"
          },
          "cpu_percent": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cpu Percent"
          },
          "core_calculations": {
            "additionalProperties": true,
            "type": "object",
            "title": "Core Calculations"
          },
          "memory_calculations": {
            "additionalProperties": true,
            "type": "object",
            "title": "Memory Calculations"
          },
          "docker_images": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Images"
          },
          "docker_info": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Info"
          },
          "memory_stats": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory Stats"
          },
          "disk_stats": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disk Stats"
          },
          "network_interfaces": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Interfaces"
          },
          "gpus": {
            "type": "integer",
            "title": "Gpus"
          },
          "gpus_override": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpus Override"
          },
          "gpu_info": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Info"
          },
          "gpu_info_other": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Info Other"
          },
          "gpu_percent": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Percent"
          },
          "gpu_memory_used_percent": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Memory Used Percent"
          },
          "gpu_temp": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Temp"
          },
          "gpu_exclusions": {
            "$ref": "#/components/schemas/GpuExclusions"
          },
          "prune_images_mode": {
            "type": "string",
            "title": "Prune Images Mode"
          },
          "manager_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manager Id"
          },
          "manager": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manager"
          },
          "connection_type": {
            "type": "string",
            "title": "Connection Type"
          },
          "connection_info": {
            "additionalProperties": true,
            "type": "object",
            "title": "Connection Info"
          },
          "connection_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Port"
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username"
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password"
          },
          "connection_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Private Key"
          },
          "connection_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Passphrase"
          },
          "use_user_private_key": {
            "type": "boolean",
            "title": "Use User Private Key"
          },
          "connection_credential_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Credential Type"
          },
          "connection_sso_username_domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Sso Username Domain"
          },
          "max_simultaneous_sessions": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Sessions"
          },
          "max_simultaneous_users": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Users"
          },
          "drain_time": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Drain Time"
          },
          "labels": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Labels"
          },
          "inherited_labels": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Inherited Labels"
          },
          "zone_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Id"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "zone": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ZoneRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "server_pool_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Name"
          },
          "server_pool": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ServerPoolSummary"
              },
              {
                "type": "null"
              }
            ]
          },
          "server_template_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Template Id"
          },
          "autoscale_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AutoscaleConfigRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "sessions": {
            "items": {
              "$ref": "#/components/schemas/ServerSessionRef"
            },
            "type": "array",
            "title": "Sessions",
            "default": []
          },
          "sessions_count": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Sessions Count",
            "default": 0
          },
          "assigned_users": {
            "items": {
              "$ref": "#/components/schemas/UserRef"
            },
            "type": "array",
            "title": "Assigned Users",
            "default": []
          },
          "server_assignment_enabled": {
            "type": "boolean",
            "title": "Server Assignment Enabled",
            "default": false
          },
          "registration_jwt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Registration Jwt"
          },
          "registration_jwt_expiration": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Registration Jwt Expiration"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_id",
          "created",
          "server_type",
          "enabled",
          "liveness",
          "intent",
          "operational_status",
          "is_draining",
          "is_autoscaled",
          "agent_installed",
          "core_calculations",
          "memory_calculations",
          "gpus",
          "gpu_exclusions",
          "prune_images_mode",
          "connection_type",
          "connection_info",
          "use_user_private_key",
          "max_simultaneous_sessions",
          "max_simultaneous_users",
          "labels",
          "inherited_labels"
        ],
        "title": "ServerDetail",
        "description": "``get``/``create`` response: the summary plus the agent registration\ntoken, included only when the caller may see it."
      },
      "ServerPoolAutoscaleConfigRef": {
        "properties": {
          "autoscale_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Autoscale Config Id"
          },
          "autoscale_config_name": {
            "type": "string",
            "title": "Autoscale Config Name"
          },
          "connection_credential_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Credential Type"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "autoscale_config_id",
          "autoscale_config_name"
        ],
        "title": "ServerPoolAutoscaleConfigRef"
      },
      "ServerPoolDetail": {
        "properties": {
          "server_pool_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Pool Id"
          },
          "server_pool_name": {
            "type": "string",
            "title": "Server Pool Name"
          },
          "server_pool_type": {
            "type": "string",
            "title": "Server Pool Type",
            "description": "Whether the pool holds Docker agents (\"DOCKER_AGENT\") or standalone servers (\"SERVER_POOL\")."
          },
          "server_assignment_enabled": {
            "type": "boolean",
            "title": "Server Assignment Enabled",
            "description": "Whether individual users can be assigned to specific servers in this pool. Only valid for `SERVER_POOL` pools."
          },
          "labels": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Labels",
            "default": []
          },
          "servers_count": {
            "type": "integer",
            "title": "Servers Count",
            "description": "Number of servers currently in the pool."
          },
          "connection_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Type",
            "description": "Connection type shared by every server and autoscale config in the pool; null while the pool is empty."
          },
          "servers": {
            "items": {
              "$ref": "#/components/schemas/ServerPoolServerRef"
            },
            "type": "array",
            "title": "Servers",
            "default": []
          },
          "images": {
            "items": {
              "$ref": "#/components/schemas/ServerPoolImageRef"
            },
            "type": "array",
            "title": "Images",
            "default": []
          },
          "autoscale_configs": {
            "items": {
              "$ref": "#/components/schemas/ServerPoolAutoscaleConfigRef"
            },
            "type": "array",
            "title": "Autoscale Configs",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_pool_id",
          "server_pool_name",
          "server_pool_type",
          "server_assignment_enabled",
          "servers_count"
        ],
        "title": "ServerPoolDetail",
        "description": "One server pool with its members, as returned by get/create/patch."
      },
      "ServerPoolImageRef": {
        "properties": {
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "image_id"
        ],
        "title": "ServerPoolImageRef"
      },
      "ServerPoolListItem": {
        "properties": {
          "server_pool_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Pool Id"
          },
          "server_pool_name": {
            "type": "string",
            "title": "Server Pool Name"
          },
          "server_pool_type": {
            "type": "string",
            "title": "Server Pool Type",
            "description": "Whether the pool holds Docker agents (\"DOCKER_AGENT\") or standalone servers (\"SERVER_POOL\")."
          },
          "server_assignment_enabled": {
            "type": "boolean",
            "title": "Server Assignment Enabled",
            "description": "Whether individual users can be assigned to specific servers in this pool. Only valid for `SERVER_POOL` pools."
          },
          "labels": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Labels",
            "default": []
          },
          "servers_count": {
            "type": "integer",
            "title": "Servers Count",
            "description": "Number of servers currently in the pool."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_pool_id",
          "server_pool_name",
          "server_pool_type",
          "server_assignment_enabled",
          "servers_count"
        ],
        "title": "ServerPoolListItem",
        "description": "One server pool as returned by the list endpoint."
      },
      "ServerPoolServerRef": {
        "properties": {
          "server_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Id"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "connection_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Type"
          },
          "connection_credential_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Credential Type"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_id"
        ],
        "title": "ServerPoolServerRef"
      },
      "ServerPoolSettings": {
        "properties": {
          "connection_type": {
            "type": "string",
            "title": "Connection Type",
            "description": "Protocol used to connect to the server: `KASMVNC`, `RDP`, `VNC`, or `SSH`."
          },
          "connection_info": {
            "additionalProperties": true,
            "type": "object",
            "title": "Connection Info",
            "description": "Extra provider-specific connection info."
          },
          "connection_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Port",
            "description": "TCP port to connect on."
          },
          "reusable": {
            "type": "boolean",
            "title": "Reusable",
            "description": "Whether a server can be reused for a new session once the previous session ends, rather than being torn down. Affects the `max_simultaneous_users` cap for non-reusable RDP/SSH servers."
          },
          "agent_installed": {
            "type": "boolean",
            "title": "Agent Installed",
            "description": "When true, Kasm assumes the Kasm Desktop Service is installed on the server, enabling workflows that require it. Requires `require_checkin`."
          },
          "require_checkin": {
            "type": "boolean",
            "title": "Require Checkin",
            "description": "When true, Kasm waits for a callback (via the Kasm Desktop Service or the `set_server_status` API) confirming the server finished initializing before marking it Running and assigning sessions to it."
          },
          "minimum_pool_standby_sessions": {
            "type": "integer",
            "title": "Minimum Pool Standby Sessions",
            "description": "Minimum number of free sessions to keep available across the pool. AutoScale provisions more servers when capacity falls below this threshold."
          },
          "max_simultaneous_sessions_per_server": {
            "type": "integer",
            "title": "Max Simultaneous Sessions Per Server",
            "description": "Maximum sessions allowed on a single server. `KASMVNC`/`VNC` require this to be `1`."
          },
          "max_simultaneous_users": {
            "type": "integer",
            "title": "Max Simultaneous Users",
            "description": "Maximum concurrently connected users per server, for `RDP`/`SSH` servers. Capped at `1` for `KASMVNC`/`VNC`, for `STATIC` credentials, and for non-`reusable` `RDP`/`SSH` servers — every session on such a server logs in as the same account."
          },
          "ad_create_machine_record": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ad Create Machine Record",
            "description": "Whether to create an Active Directory computer record for each provisioned server."
          },
          "active_directory_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ActiveDirectorySettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Populated when `ad_create_machine_record` is true; null otherwise."
          },
          "kasmvnc_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/KasmVncSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Populated when `connection_type` is \"KASMVNC\"; null otherwise."
          },
          "vnc_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/VncSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Populated when `connection_type` is \"VNC\"; null otherwise."
          },
          "rdp_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RdpSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Populated when `connection_type` is \"RDP\"; null otherwise."
          },
          "ssh_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SshSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Populated when `connection_type` is \"SSH\"; null otherwise."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "connection_type",
          "connection_info",
          "reusable",
          "agent_installed",
          "require_checkin",
          "minimum_pool_standby_sessions",
          "max_simultaneous_sessions_per_server",
          "max_simultaneous_users"
        ],
        "title": "ServerPoolSettings",
        "description": "Fields that apply only to a ``SERVER_POOL`` config.\n\nConnection-type-specific fields (credentials, SSH key, RDP SSO domain)\nlive under exactly one of ``kasmvnc_settings``/``vnc_settings``/\n``rdp_settings``/``ssh_settings``, chosen by ``connection_type`` — all\nfour are null when the stored ``connection_type`` doesn't match a known\nvalue."
      },
      "ServerPoolSettingsCreate": {
        "properties": {
          "connection_type": {
            "$ref": "#/components/schemas/ConnectionType",
            "description": "Protocol used to connect to the server: `KASMVNC`, `RDP`, `VNC`, or `SSH`. Determines which of `kasmvnc_settings`/`vnc_settings`/`rdp_settings`/`ssh_settings` is required."
          },
          "connection_port": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Connection Port",
            "description": "TCP port to connect on."
          },
          "connection_info": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Info",
            "description": "Extra provider-specific connection info, as a JSON object."
          },
          "reusable": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reusable",
            "description": "Whether a server can be reused for a new session once the previous session ends, rather than being torn down. Affects the `max_simultaneous_users` cap for non-reusable RDP/SSH servers."
          },
          "agent_installed": {
            "type": "boolean",
            "title": "Agent Installed",
            "description": "When true, Kasm assumes the Kasm Desktop Service is installed on the server, enabling workflows that require it. Requires `require_checkin`.",
            "default": false
          },
          "require_checkin": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Require Checkin",
            "description": "When true, Kasm waits for a callback (via the Kasm Desktop Service or the `set_server_status` API) confirming the server finished initializing before marking it Running and assigning sessions to it."
          },
          "minimum_pool_standby_sessions": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Minimum Pool Standby Sessions",
            "description": "Minimum number of free sessions to keep available across the pool. AutoScale provisions more servers when capacity falls below this threshold.",
            "default": 0
          },
          "max_simultaneous_sessions_per_server": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Sessions Per Server",
            "description": "Maximum sessions allowed on a single server. `KASMVNC`/`VNC` require this to be `1`.",
            "default": 1
          },
          "max_simultaneous_users": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Simultaneous Users",
            "description": "Maximum concurrently connected users per server, for `RDP`/`SSH` servers. Capped at `1` for `KASMVNC`/`VNC`, for `STATIC` credentials, and for non-`reusable` `RDP`/`SSH` servers — every session on such a server logs in as the same account."
          },
          "ad_create_machine_record": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ad Create Machine Record",
            "description": "Whether to create an Active Directory computer record for each provisioned server. Requires `active_directory_settings`."
          },
          "active_directory_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ActiveDirectorySettingsCreate"
              },
              {
                "type": "null"
              }
            ],
            "description": "Required when `ad_create_machine_record` is true; must be omitted/null otherwise."
          },
          "kasmvnc_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/KasmVncSettingsCreate"
              },
              {
                "type": "null"
              }
            ],
            "description": "Required when `connection_type` is \"KASMVNC\"; must be omitted/null otherwise."
          },
          "vnc_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/VncSettingsCreate"
              },
              {
                "type": "null"
              }
            ],
            "description": "Required when `connection_type` is \"VNC\"; must be omitted/null otherwise."
          },
          "rdp_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RdpSettingsCreate"
              },
              {
                "type": "null"
              }
            ],
            "description": "Required when `connection_type` is \"RDP\"; must be omitted/null otherwise."
          },
          "ssh_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SshSettingsCreate"
              },
              {
                "type": "null"
              }
            ],
            "description": "Required when `connection_type` is \"SSH\"; must be omitted/null otherwise."
          }
        },
        "type": "object",
        "required": [
          "connection_type",
          "connection_port"
        ],
        "title": "ServerPoolSettingsCreate",
        "description": "``server_pool_settings`` on create.\n\nCredential/connection-secret fields live on exactly one of\n``kasmvnc_settings``/``vnc_settings``/``rdp_settings``/``ssh_settings``,\nchosen by ``connection_type``."
      },
      "ServerPoolSettingsUpdate": {
        "properties": {
          "connection_type": {
            "$ref": "#/components/schemas/ConnectionType",
            "description": "Protocol used to connect to the server. Omit to leave unchanged; explicit null is rejected."
          },
          "connection_port": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Port",
            "description": "TCP port to connect on. Omit to leave unchanged."
          },
          "connection_info": {
            "additionalProperties": true,
            "type": "object",
            "title": "Connection Info",
            "description": "Extra provider-specific connection info, as a JSON object. Omit to leave unchanged; explicit null is rejected."
          },
          "reusable": {
            "type": "boolean",
            "title": "Reusable",
            "description": "Whether a server can be reused for a new session once the previous session ends, rather than being torn down. Omit to leave unchanged; explicit null is rejected."
          },
          "agent_installed": {
            "type": "boolean",
            "title": "Agent Installed",
            "description": "When true, Kasm assumes the Kasm Desktop Service is installed on the server. Omit to leave unchanged; explicit null is rejected."
          },
          "require_checkin": {
            "type": "boolean",
            "title": "Require Checkin",
            "description": "When true, Kasm waits for a startup callback before marking the server Running. Omit to leave unchanged; explicit null is rejected."
          },
          "minimum_pool_standby_sessions": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Minimum Pool Standby Sessions",
            "description": "Minimum number of free sessions to keep available across the pool. Omit to leave unchanged; explicit null is rejected."
          },
          "max_simultaneous_sessions_per_server": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Sessions Per Server",
            "description": "Maximum sessions allowed on a single server. Omit to leave unchanged; explicit null is rejected."
          },
          "max_simultaneous_users": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Users",
            "description": "Maximum concurrently connected users per server, for `RDP`/`SSH` servers. Capped at `1` for `KASMVNC`/`VNC`, for `STATIC` credentials, and for non-`reusable` `RDP`/`SSH` servers. Omit to leave unchanged; explicit null is rejected."
          },
          "ad_create_machine_record": {
            "type": "boolean",
            "title": "Ad Create Machine Record",
            "description": "Whether to create an Active Directory computer record for each provisioned server. Omit to leave unchanged; explicit null is rejected."
          },
          "active_directory_settings": {
            "$ref": "#/components/schemas/ActiveDirectorySettingsUpdate",
            "description": "Only meaningful when `ad_create_machine_record` is (or is being changed to) true. Omit to leave the stored block alone; explicit null is rejected."
          },
          "kasmvnc_settings": {
            "$ref": "#/components/schemas/KasmVncSettingsUpdate",
            "description": "Only meaningful when `connection_type` is (or is being changed to) \"KASMVNC\". Omit to leave the stored block alone; explicit null is rejected."
          },
          "vnc_settings": {
            "$ref": "#/components/schemas/VncSettingsUpdate",
            "description": "Only meaningful when `connection_type` is (or is being changed to) \"VNC\". Omit to leave the stored block alone; explicit null is rejected."
          },
          "rdp_settings": {
            "$ref": "#/components/schemas/RdpSettingsUpdate",
            "description": "Only meaningful when `connection_type` is (or is being changed to) \"RDP\". Omit to leave the stored block alone; explicit null is rejected."
          },
          "ssh_settings": {
            "$ref": "#/components/schemas/SshSettingsUpdate",
            "description": "Only meaningful when `connection_type` is (or is being changed to) \"SSH\". Omit to leave the stored block alone; explicit null is rejected."
          }
        },
        "type": "object",
        "title": "ServerPoolSettingsUpdate",
        "description": "``server_pool_settings`` on update — every shared field optional, plus\nthe same four connection-type blocks as ``ServerPoolSettingsCreate``,\neach with an Update-shaped variant. ``connection_type`` and its matching\nsettings block can be updated independently."
      },
      "ServerPoolSummary": {
        "properties": {
          "server_pool_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Pool Id"
          },
          "server_pool_name": {
            "type": "string",
            "title": "Server Pool Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_pool_id",
          "server_pool_name"
        ],
        "title": "ServerPoolSummary",
        "description": "Inline server-pool reference attached to an image when assigned to a pool."
      },
      "ServerPoolType": {
        "type": "string",
        "enum": [
          "DOCKER_AGENT",
          "SERVER_POOL"
        ],
        "title": "ServerPoolType"
      },
      "ServerRef": {
        "properties": {
          "server_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Id"
          },
          "hostname": {
            "type": "string",
            "title": "Hostname"
          },
          "connection_type": {
            "type": "string",
            "title": "Connection Type"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_id",
          "hostname",
          "connection_type"
        ],
        "title": "ServerRef",
        "description": "Inline server reference attached to an image when `restrict_to_server` is set."
      },
      "ServerSessionRef": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "start_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Date"
          },
          "keepalive_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Keepalive Date"
          },
          "user": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserRef"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id"
        ],
        "title": "ServerSessionRef"
      },
      "ServerSummary": {
        "properties": {
          "server_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Id"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "server_type": {
            "type": "string",
            "title": "Server Type"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "liveness": {
            "type": "string",
            "title": "Liveness"
          },
          "intent": {
            "type": "string",
            "title": "Intent"
          },
          "intent_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intent Reason"
          },
          "operational_status": {
            "type": "string",
            "title": "Operational Status"
          },
          "is_draining": {
            "type": "boolean",
            "title": "Is Draining"
          },
          "is_autoscaled": {
            "type": "boolean",
            "title": "Is Autoscaled"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "instance_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance Id"
          },
          "public_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Public Ip"
          },
          "agent_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Agent Version"
          },
          "agent_installed": {
            "type": "boolean",
            "title": "Agent Installed"
          },
          "last_reported": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Reported"
          },
          "last_reported_elapsed": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Reported Elapsed"
          },
          "container_limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Container Limit"
          },
          "cores": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cores"
          },
          "cores_override": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cores Override"
          },
          "memory_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory Bytes"
          },
          "memory_override_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory Override Bytes"
          },
          "cpu_percent": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cpu Percent"
          },
          "core_calculations": {
            "additionalProperties": true,
            "type": "object",
            "title": "Core Calculations"
          },
          "memory_calculations": {
            "additionalProperties": true,
            "type": "object",
            "title": "Memory Calculations"
          },
          "docker_images": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Images"
          },
          "docker_info": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Info"
          },
          "memory_stats": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory Stats"
          },
          "disk_stats": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disk Stats"
          },
          "network_interfaces": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Interfaces"
          },
          "gpus": {
            "type": "integer",
            "title": "Gpus"
          },
          "gpus_override": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpus Override"
          },
          "gpu_info": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Info"
          },
          "gpu_info_other": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Info Other"
          },
          "gpu_percent": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Percent"
          },
          "gpu_memory_used_percent": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Memory Used Percent"
          },
          "gpu_temp": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Temp"
          },
          "gpu_exclusions": {
            "$ref": "#/components/schemas/GpuExclusions"
          },
          "prune_images_mode": {
            "type": "string",
            "title": "Prune Images Mode"
          },
          "manager_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manager Id"
          },
          "manager": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manager"
          },
          "connection_type": {
            "type": "string",
            "title": "Connection Type"
          },
          "connection_info": {
            "additionalProperties": true,
            "type": "object",
            "title": "Connection Info"
          },
          "connection_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Port"
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username"
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password"
          },
          "connection_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Private Key"
          },
          "connection_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Passphrase"
          },
          "use_user_private_key": {
            "type": "boolean",
            "title": "Use User Private Key"
          },
          "connection_credential_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Credential Type"
          },
          "connection_sso_username_domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Sso Username Domain"
          },
          "max_simultaneous_sessions": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Sessions"
          },
          "max_simultaneous_users": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Users"
          },
          "drain_time": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Drain Time"
          },
          "labels": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Labels"
          },
          "inherited_labels": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Inherited Labels"
          },
          "zone_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Id"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "zone": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ZoneRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "server_pool_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Name"
          },
          "server_pool": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ServerPoolSummary"
              },
              {
                "type": "null"
              }
            ]
          },
          "server_template_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Template Id"
          },
          "autoscale_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AutoscaleConfigRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "sessions": {
            "items": {
              "$ref": "#/components/schemas/ServerSessionRef"
            },
            "type": "array",
            "title": "Sessions",
            "default": []
          },
          "sessions_count": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Sessions Count",
            "default": 0
          },
          "assigned_users": {
            "items": {
              "$ref": "#/components/schemas/UserRef"
            },
            "type": "array",
            "title": "Assigned Users",
            "default": []
          },
          "server_assignment_enabled": {
            "type": "boolean",
            "title": "Server Assignment Enabled",
            "default": false
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_id",
          "created",
          "server_type",
          "enabled",
          "liveness",
          "intent",
          "operational_status",
          "is_draining",
          "is_autoscaled",
          "agent_installed",
          "core_calculations",
          "memory_calculations",
          "gpus",
          "gpu_exclusions",
          "prune_images_mode",
          "connection_type",
          "connection_info",
          "use_user_private_key",
          "max_simultaneous_sessions",
          "max_simultaneous_users",
          "labels",
          "inherited_labels"
        ],
        "title": "ServerSummary",
        "description": "A server (desktop host or docker agent) with its zone, server pool, autoscale config,\nsessions and assigned users. Agent telemetry is untyped JSON; credential fields are returned\nmasked."
      },
      "ServerTemplateSummary": {
        "properties": {
          "server_template_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Template Id"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "deleted": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted"
          },
          "token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Token"
          },
          "servers_created": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Servers Created"
          },
          "template_name": {
            "type": "string",
            "title": "Template Name"
          },
          "template_enabled": {
            "type": "boolean",
            "title": "Template Enabled"
          },
          "maximum_uses": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "title": "Maximum Uses"
          },
          "expiration": {
            "type": "string",
            "format": "date-time",
            "title": "Expiration"
          },
          "connection_port": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": -2147483648
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Port"
          },
          "connection_credential_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectionCredentialType"
              },
              {
                "type": "null"
              }
            ]
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username"
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password"
          },
          "connection_sso_username_domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Sso Username Domain"
          },
          "connection_info": {
            "additionalProperties": true,
            "type": "object",
            "title": "Connection Info"
          },
          "max_simultaneous_sessions": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Sessions"
          },
          "max_simultaneous_users": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Users"
          },
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "is_deleted": {
            "type": "boolean",
            "title": "Is Deleted"
          },
          "zone": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ZoneRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "server_pool": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ServerPoolSummary"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_template_id",
          "created",
          "servers_created",
          "template_name",
          "template_enabled",
          "maximum_uses",
          "expiration",
          "max_simultaneous_sessions",
          "max_simultaneous_users",
          "zone_id",
          "is_deleted"
        ],
        "title": "ServerTemplateSummary",
        "description": "One server-template entry, as returned by every server-template\nread/write endpoint."
      },
      "ServerType": {
        "type": "string",
        "enum": [
          "host",
          "Desktop"
        ],
        "title": "ServerType"
      },
      "SessionBottleneckStatsResponse": {
        "additionalProperties": {
          "additionalProperties": {
            "items": {
              "type": "number"
            },
            "type": "array"
          },
          "type": "object"
        },
        "type": "object",
        "title": "SessionBottleneckStatsResponse",
        "description": "``GET .../bottleneck-stats``: ``{vnc_user: {connection: [cpu, cpu_total, net, net_total]}}``."
      },
      "SessionCommandAccepted": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "state": {
            "$ref": "#/components/schemas/SessionStateBlock"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "state"
        ],
        "title": "SessionCommandAccepted",
        "description": "A desired-state change was recorded (202). ``state`` is the row after the\ncommand; convergence is the reconciler's job."
      },
      "SessionDeletionRequest": {
        "properties": {
          "server_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Id"
          }
        },
        "type": "object",
        "required": [
          "server_id"
        ],
        "title": "SessionDeletionRequest",
        "description": "``POST /api/admin/session/session-deletions``: delete every session on one server."
      },
      "SessionFrameStatsResponse": {
        "properties": {
          "frame": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Frame"
          },
          "clients": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Clients"
          },
          "server_side": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Side"
          },
          "raw": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "SessionFrameStatsResponse",
        "description": "``GET .../frame-stats``: KasmVNC's per-frame timing sample.\n\n``frame`` and ``clients`` are KasmVNC's own structures, passed through; ``server_side`` maps\neach process name to its time in milliseconds."
      },
      "SessionHistoryEntry": {
        "properties": {
          "account_id": {
            "type": "string",
            "format": "uuid",
            "title": "Account Id"
          },
          "session_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "user_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Name"
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "image_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Name"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          },
          "image_friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Friendly Name"
          },
          "start_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Date"
          },
          "created_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created Date"
          },
          "destroyed_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Destroyed Date"
          },
          "destroy_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Destroy Reason"
          },
          "group_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Ids"
          },
          "usage_hours": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Usage Hours"
          },
          "user_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Ip"
          },
          "cast_link_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cast Link Id"
          },
          "staging_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Staging Config Id"
          },
          "zone_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Id"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "server_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Id"
          },
          "server_hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Hostname"
          },
          "docker_network": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Network"
          },
          "container_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Container Ip"
          },
          "container_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Container Id"
          },
          "is_anonymous": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Anonymous",
            "description": "Whether the session's owner was an anonymous account. Null for sessions recorded before the flag existed."
          },
          "session_recordings": {
            "items": {
              "$ref": "#/components/schemas/SessionRecordingEntry"
            },
            "type": "array",
            "title": "Session Recordings"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "account_id"
        ],
        "title": "SessionHistoryEntry",
        "description": "One past session's accounting record, with its recordings."
      },
      "SessionImageRef": {
        "properties": {
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          },
          "session_time_limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Time Limit"
          },
          "categories": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Categories"
          },
          "default_category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Category"
          },
          "image_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Type"
          },
          "rdp_client_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rdp Client Type"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "image_id"
        ],
        "title": "SessionImageRef",
        "description": "The image block embedded in a session (``get_normalized_kasm`` ``image``)."
      },
      "SessionPermissionBatchRequest": {
        "properties": {
          "grants": {
            "items": {
              "$ref": "#/components/schemas/SessionPermissionGrant"
            },
            "type": "array",
            "maxItems": 500,
            "minItems": 1,
            "title": "Grants"
          }
        },
        "type": "object",
        "required": [
          "grants"
        ],
        "title": "SessionPermissionBatchRequest",
        "description": "``POST .../permission-batches``: grant or change access for several users."
      },
      "SessionPermissionEntry": {
        "properties": {
          "session_permission_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Permission Id"
          },
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          },
          "access": {
            "type": "string",
            "title": "Access"
          },
          "vnc_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vnc Username"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_permission_id",
          "session_id",
          "user_id",
          "access"
        ],
        "title": "SessionPermissionEntry",
        "description": "One participant's access to a session. ``vnc_password`` is never returned."
      },
      "SessionPermissionGrant": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "access": {
            "type": "string",
            "enum": [
              "r",
              "rw"
            ],
            "title": "Access"
          }
        },
        "type": "object",
        "required": [
          "user_id",
          "access"
        ],
        "title": "SessionPermissionGrant",
        "description": "One ``{user_id, access}`` pair in a permission batch."
      },
      "SessionPermissionList": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "permissions": {
            "items": {
              "$ref": "#/components/schemas/SessionPermissionEntry"
            },
            "type": "array",
            "title": "Permissions"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "permissions"
        ],
        "title": "SessionPermissionList",
        "description": "``GET /api/session/sessions/{session_id}/permissions``."
      },
      "SessionPermissionRevocationRequest": {
        "properties": {
          "user_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "maxItems": 500,
            "minItems": 1,
            "title": "User Ids"
          }
        },
        "type": "object",
        "required": [
          "user_ids"
        ],
        "title": "SessionPermissionRevocationRequest",
        "description": "``POST .../permission-revocations``: remove access for the listed users."
      },
      "SessionPermissionRevocationResponse": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "revoked_user_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Revoked User Ids"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "revoked_user_ids"
        ],
        "title": "SessionPermissionRevocationResponse"
      },
      "SessionPermissionUpdateRequest": {
        "properties": {
          "access": {
            "type": "string",
            "enum": [
              "r",
              "rw"
            ],
            "title": "Access"
          }
        },
        "type": "object",
        "required": [
          "access"
        ],
        "title": "SessionPermissionUpdateRequest",
        "description": "``PATCH .../permissions``: set every current participant to one access level."
      },
      "SessionPortMapEntry": {
        "properties": {
          "path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Path"
          },
          "port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Port"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "SessionPortMapEntry",
        "description": "One proxied service the session exposes (``vnc``, ``audio``, ``uploads`` ...).\n\nWhen the session's zone proxies connections, ``path`` and ``port`` are the proxied values\n(``/<proxy_path>/<session_id>/<service>`` on the zone's proxy port). The service's\ncredentials are not included; the proxy supplies them on ``GET .../connection``."
      },
      "SessionRecordingEntry": {
        "properties": {
          "recording_id": {
            "type": "string",
            "format": "uuid",
            "title": "Recording Id"
          },
          "account_id": {
            "type": "string",
            "format": "uuid",
            "title": "Account Id"
          },
          "session_recording_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Recording Url"
          },
          "session_recording_metadata": {
            "additionalProperties": true,
            "type": "object",
            "title": "Session Recording Metadata"
          },
          "download_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Url"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "recording_id",
          "account_id"
        ],
        "title": "SessionRecordingEntry",
        "description": "One recorded segment of a session."
      },
      "SessionRecordingGroup": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "recordings": {
            "items": {
              "$ref": "#/components/schemas/SessionRecordingEntry"
            },
            "type": "array",
            "title": "Recordings"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "recordings"
        ],
        "title": "SessionRecordingGroup",
        "description": "All recordings of one session, oldest first."
      },
      "SessionRecordingsPage": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "recordings": {
            "items": {
              "$ref": "#/components/schemas/SessionRecordingEntry"
            },
            "type": "array",
            "title": "Recordings"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Zero-based page index: `0` is the first page."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "total_duration": {
            "type": "number",
            "title": "Total Duration"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "recordings",
          "total",
          "page",
          "page_size",
          "total_duration"
        ],
        "title": "SessionRecordingsPage",
        "description": "One page of a session's recordings, oldest segment first."
      },
      "SessionRequest": {
        "properties": {
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "zone_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Id"
          },
          "auto_zone_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auto Zone Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "enable_sharing": {
            "type": "boolean",
            "title": "Enable Sharing",
            "default": false
          },
          "environment": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Environment"
          },
          "launch_selections": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Launch Selections"
          },
          "egress_gateway_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway Id"
          },
          "egress_credential_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Credential Id"
          },
          "egress_provider_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Provider Id"
          },
          "network_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 256
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Id"
          },
          "persistent_profile_mode": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ],
            "title": "Persistent Profile Mode"
          },
          "server_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Id"
          },
          "rdp_client_type": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ],
            "title": "Rdp Client Type"
          },
          "session_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4096
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Url"
          },
          "client_language": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Language"
          },
          "client_timezone": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 64
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Timezone"
          },
          "dpi": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Dpi"
          },
          "x_res": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 16384,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "X Res"
          },
          "y_res": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 16384,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Y Res"
          },
          "connection_info": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Info"
          }
        },
        "type": "object",
        "title": "SessionRequest",
        "description": "``POST /api/session/sessions``: ask for a session.\n\n``image_id`` may be omitted: the owner's default image is launched (the user's\n``default_image`` attribute, else the group setting), and the request is refused with a 400\nwhen neither is set. ``connection_info`` is honoured only from an API-key caller and ignored\nfrom anyone else."
      },
      "SessionRequestAccepted": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "state": {
            "$ref": "#/components/schemas/SessionStateBlock"
          },
          "share_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Share Id"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          },
          "session_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Token"
          },
          "connect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connect Url"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "current_time": {
            "type": "string",
            "format": "date-time",
            "title": "Current Time"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "user_id",
          "state",
          "current_time"
        ],
        "title": "SessionRequestAccepted",
        "description": "``POST /api/session/sessions`` (202): the request was recorded and the\nreconciler will place it. Poll ``GET .../status``.\n\nThe credential fields are present only on an API-key request (delegated\nor anonymous launch): ``session_token`` is a signed login-session JWT for\nthe owner, backed by a revocable ``session_tokens`` row, and\n``connect_url`` is the browser hash route\n(``/#/connect/session/{session_id}/{user_id}/{session_token}``) that\nredeems it. ``expires_at`` is the earlier of the token's expiry and the\nowner's account expiry. A browser user launching their own session gets\nnone of them -- they already hold a login."
      },
      "SessionResponse": {
        "properties": {
          "outcome": {
            "type": "string",
            "const": "session",
            "title": "Outcome",
            "default": "session"
          },
          "token": {
            "type": "string",
            "title": "Token"
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "username": {
            "type": "string",
            "title": "Username"
          },
          "is_admin": {
            "type": "boolean",
            "title": "Is Admin"
          },
          "authorized_views": {
            "additionalProperties": {
              "type": "boolean"
            },
            "type": "object",
            "title": "Authorized Views"
          },
          "is_anonymous": {
            "type": "boolean",
            "title": "Is Anonymous"
          },
          "dashboard_redirect": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dashboard Redirect"
          },
          "require_subscription": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Require Subscription"
          },
          "has_subscription": {
            "type": "boolean",
            "title": "Has Subscription"
          },
          "has_plan": {
            "type": "boolean",
            "title": "Has Plan"
          },
          "auto_login_kasm": {
            "type": "boolean",
            "title": "Auto Login Kasm"
          },
          "allow_login_kasm_rdp": {
            "type": "boolean",
            "title": "Allow Login Kasm Rdp"
          },
          "display_ui_errors": {
            "type": "boolean",
            "title": "Display Ui Errors"
          },
          "enable_ui_server_logging": {
            "type": "boolean",
            "title": "Enable Ui Server Logging"
          },
          "default_ui_language": {
            "type": "string",
            "title": "Default Ui Language"
          },
          "program_data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Program Data"
          },
          "theme": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Theme"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "token",
          "user_id",
          "username",
          "is_admin",
          "authorized_views",
          "is_anonymous",
          "has_subscription",
          "has_plan",
          "auto_login_kasm",
          "allow_login_kasm_rdp",
          "display_ui_errors",
          "enable_ui_server_logging",
          "default_ui_language",
          "program_data"
        ],
        "title": "SessionResponse",
        "description": "A minted Kasm session.\n\n``dashboard_redirect``, ``require_subscription``, and ``theme`` are\ngenuinely absent for some users, so they stay optional rather than\ndefaulting to a sentinel value."
      },
      "SessionServerRef": {
        "properties": {
          "server_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Id"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Port"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "SessionServerRef",
        "description": "Host block on admin session views. ``None`` fields mean \"no host yet\"."
      },
      "SessionShare": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "share_id": {
            "type": "string",
            "title": "Share Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "share_id"
        ],
        "title": "SessionShare",
        "description": "The share handle of a session. One share per session."
      },
      "SessionShareList": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "shares": {
            "items": {
              "$ref": "#/components/schemas/SessionShare"
            },
            "type": "array",
            "title": "Shares"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "shares"
        ],
        "title": "SessionShareList",
        "description": "``GET /api/session/sessions/{session_id}/shares``: zero or one share."
      },
      "SessionStartingProblem": {
        "properties": {
          "type": {
            "type": "string",
            "const": "session-starting",
            "title": "Type",
            "default": "session-starting"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "status": {
            "type": "integer",
            "title": "Status"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          },
          "instance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "status",
          "detail"
        ],
        "title": "SessionStartingProblem",
        "description": "The session exists but is not running yet. Retrying the same request\nshortly is the expected response; it neither creates another session nor\nconsumes another slot."
      },
      "SessionStateBlock": {
        "properties": {
          "desired_state": {
            "type": "string",
            "title": "Desired State"
          },
          "observed_state": {
            "type": "string",
            "title": "Observed State"
          },
          "command_revision": {
            "type": "integer",
            "title": "Command Revision"
          },
          "progress_message": {
            "type": "string",
            "title": "Progress Message",
            "default": ""
          },
          "progress_percent": {
            "type": "integer",
            "title": "Progress Percent",
            "default": 0
          },
          "operational_status": {
            "type": "string",
            "title": "Operational Status"
          },
          "operational_message": {
            "type": "string",
            "title": "Operational Message",
            "default": ""
          },
          "operational_progress": {
            "type": "integer",
            "title": "Operational Progress"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "desired_state",
          "observed_state",
          "command_revision",
          "operational_status",
          "operational_progress"
        ],
        "title": "SessionStateBlock",
        "description": "The session's two-axis state and progress, included in every response that carries a\nsession.\n\n``desired_state`` and ``observed_state`` are the state. ``progress_message`` and\n``progress_percent`` say what is happening now. ``operational_message`` and\n``operational_progress`` carry the same pair under their older names, for clients that have\nnot moved to the new fields."
      },
      "SessionStatusResponse": {
        "properties": {
          "state": {
            "$ref": "#/components/schemas/SessionStateBlock"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Message"
          },
          "session": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SessionSummary"
              },
              {
                "type": "null"
              }
            ]
          },
          "current_time": {
            "type": "string",
            "format": "date-time",
            "title": "Current Time"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "state",
          "current_time"
        ],
        "title": "SessionStatusResponse",
        "description": "``GET /api/session/sessions/{session_id}/status``.\n\nThe state block is always present. ``session`` is present only when the\nsession is usable right now (compute exists and is serving); while it is\narriving, pausing, stopping or deleting the caller gets the state and a\nhuman-readable ``message`` and should poll again."
      },
      "SessionSummary": {
        "properties": {
          "desired_state": {
            "type": "string",
            "title": "Desired State"
          },
          "observed_state": {
            "type": "string",
            "title": "Observed State"
          },
          "command_revision": {
            "type": "integer",
            "title": "Command Revision"
          },
          "progress_message": {
            "type": "string",
            "title": "Progress Message",
            "default": ""
          },
          "progress_percent": {
            "type": "integer",
            "title": "Progress Percent",
            "default": 0
          },
          "operational_status": {
            "type": "string",
            "title": "Operational Status"
          },
          "operational_message": {
            "type": "string",
            "title": "Operational Message",
            "default": ""
          },
          "operational_progress": {
            "type": "integer",
            "title": "Operational Progress"
          },
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "image": {
            "$ref": "#/components/schemas/SessionImageRef"
          },
          "server_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Id"
          },
          "host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Host"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Port"
          },
          "port_map": {
            "additionalProperties": {
              "$ref": "#/components/schemas/SessionPortMapEntry"
            },
            "type": "object",
            "title": "Port Map"
          },
          "container_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Container Id"
          },
          "container_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Container Ip"
          },
          "cores": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cores"
          },
          "gpus": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpus"
          },
          "memory_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory Bytes"
          },
          "created_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created Date"
          },
          "start_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Date"
          },
          "keepalive_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Keepalive Date"
          },
          "expiration_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiration Date"
          },
          "share_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Share Id"
          },
          "cast_link_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cast Link Id"
          },
          "staging_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Staging Config Id"
          },
          "autoscale_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Autoscale Config Id"
          },
          "connection_proxy_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Proxy Id"
          },
          "egress_gateway_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway Id"
          },
          "egress_credential_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Credential Id"
          },
          "egress_provider_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Provider Id"
          },
          "egress_provider_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Provider Name"
          },
          "egress_gateway_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway Name"
          },
          "egress_gateway_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway Country"
          },
          "egress_gateway_city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway City"
          },
          "docker_network": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Network"
          },
          "is_standby": {
            "type": "boolean",
            "title": "Is Standby",
            "default": false
          },
          "rdp_client_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rdp Client Type"
          },
          "is_persistent_profile": {
            "type": "boolean",
            "title": "Is Persistent Profile",
            "default": false
          },
          "persistent_profile_mode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Persistent Profile Mode"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "border": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BannerConfig"
              },
              {
                "type": "null"
              }
            ]
          },
          "client_settings": {
            "additionalProperties": true,
            "type": "object",
            "title": "Client Settings"
          },
          "agent_installed": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Agent Installed"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "desired_state",
          "observed_state",
          "command_revision",
          "operational_status",
          "operational_progress",
          "session_id",
          "image"
        ],
        "title": "SessionSummary",
        "description": "A session as its owner sees it (``GET /api/session/sessions`` and the\n``session`` block of status / command responses).\n\nReplaces ``get_normalized_kasm``. Same information, minus the secrets that\nonly ever reached the wire because ``__dict__`` was serialized: ``token``,\n``view_only_token``, ``api_token``, ``connection_credential``,\n``connection_info``, ``queued_tasks``, ``spec``,\n``docker_environment``, ``placement_id``/``placement_kind``."
      },
      "SessionSystemStatsResponse": {
        "additionalProperties": true,
        "type": "object",
        "title": "SessionSystemStatsResponse",
        "description": "``GET .../system-stats``: KasmVNC ``system/stats`` passed through."
      },
      "SessionTokenDetail": {
        "properties": {
          "session_token_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Token Id"
          },
          "session_date": {
            "type": "string",
            "format": "date-time",
            "title": "Session Date"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expires At"
          },
          "session_jwt": {
            "type": "string",
            "title": "Session Jwt"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_token_id",
          "session_date",
          "expires_at",
          "session_jwt"
        ],
        "title": "SessionTokenDetail",
        "description": "Single-token shape: the summary plus a freshly minted session JWT."
      },
      "SessionTokenSummary": {
        "properties": {
          "session_token_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Token Id"
          },
          "session_date": {
            "type": "string",
            "format": "date-time",
            "title": "Session Date"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expires At"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_token_id",
          "session_date",
          "expires_at"
        ],
        "title": "SessionTokenSummary",
        "description": "One session token row, without the JWT (list shape)."
      },
      "SessionUrlMode": {
        "type": "string",
        "enum": [
          "fixed",
          "dynamic",
          "none"
        ],
        "title": "SessionUrlMode",
        "description": "Whether the link opens a fixed URL, lets the visitor pick one, or neither."
      },
      "SessionUserRef": {
        "properties": {
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "SessionUserRef",
        "description": "Owner block on admin session views."
      },
      "SessionViewer": {
        "properties": {
          "vnc_username": {
            "type": "string",
            "title": "Vnc Username"
          },
          "username": {
            "type": "string",
            "title": "Username"
          },
          "joined_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Joined At"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vnc_username",
          "username"
        ],
        "title": "SessionViewer",
        "description": "One participant currently connected to a shared session."
      },
      "SessionViewersResponse": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "viewers": {
            "items": {
              "$ref": "#/components/schemas/SessionViewer"
            },
            "type": "array",
            "title": "Viewers"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "viewers"
        ],
        "title": "SessionViewersResponse",
        "description": "``GET /api/session/sessions/{session_id}/viewers``."
      },
      "SessionsTimeSeries": {
        "properties": {
          "labels": {
            "items": {
              "type": "string",
              "format": "date-time"
            },
            "type": "array",
            "title": "Labels"
          },
          "sessions": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Sessions"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "labels",
          "sessions"
        ],
        "title": "SessionsTimeSeries"
      },
      "SettingSummary": {
        "properties": {
          "setting_id": {
            "type": "string",
            "format": "uuid",
            "title": "Setting Id"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          },
          "services_restart": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Services Restart"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "value_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value Type"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "setting_id"
        ],
        "title": "SettingSummary",
        "description": "One config setting, as returned by the list and patch endpoints.\nSecret-flagged settings return a masked ``value``."
      },
      "SharedSessionView": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "share_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Share Id"
          },
          "owner_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Owner Username"
          },
          "image": {
            "$ref": "#/components/schemas/SessionImageRef"
          },
          "host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Host"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Port"
          },
          "port_map": {
            "additionalProperties": {
              "$ref": "#/components/schemas/SessionPortMapEntry"
            },
            "type": "object",
            "title": "Port Map"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "border": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BannerConfig"
              },
              {
                "type": "null"
              }
            ]
          },
          "egress_provider_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Provider Name"
          },
          "egress_gateway_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway Name"
          },
          "egress_gateway_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway Country"
          },
          "egress_gateway_city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Egress Gateway City"
          },
          "client_settings": {
            "additionalProperties": true,
            "type": "object",
            "title": "Client Settings"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "image"
        ],
        "title": "SharedSessionView",
        "description": "What a participant is told about a session they joined.\n\nReplaces ``get_normalized_shared_kasm``: the connection details a viewer\nneeds and nothing the owner would not want them to have (``uploads``,\n``audio_input`` and ``webcam`` port-map entries are withheld)."
      },
      "SshSettings": {
        "properties": {
          "connection_credential_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Credential Type",
            "description": "How Kasm authenticates to the SSH server: `STATIC` or `SSO_USERNAME`."
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username",
            "description": "Username to connect with."
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password",
            "description": "Password for `connection_username`. Only meaningful when `connection_credential_type` is `STATIC` and `use_user_private_key` is false. Serialized back as a `\"****\"` placeholder, never the real value."
          },
          "use_user_private_key": {
            "type": "boolean",
            "title": "Use User Private Key",
            "description": "When true, Kasm sends the connecting user's own Kasm-stored SSH key instead of `connection_private_key`."
          },
          "connection_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Private Key",
            "description": "Private key used to authenticate when `use_user_private_key` is false. OpenSSH or RSA PKCS1 format, 2048-bit. Serialized back as a `\"****\"` placeholder, never the real value."
          },
          "connection_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Passphrase",
            "description": "Passphrase decrypting `connection_private_key`, if the key is passphrase-protected. Serialized back as a `\"****\"` placeholder, never the real value."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "use_user_private_key"
        ],
        "title": "SshSettings",
        "description": "``ssh_settings`` — populated when ``connection_type`` is ``\"SSH\"``."
      },
      "SshSettingsCreate": {
        "properties": {
          "connection_credential_type": {
            "type": "string",
            "enum": [
              "STATIC",
              "SSO_USERNAME"
            ],
            "title": "Connection Credential Type",
            "description": "How Kasm authenticates to the SSH server."
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username",
            "description": "Username to connect with. Required when `connection_credential_type` is `STATIC`."
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password",
            "description": "Password for `connection_username`. Required when `connection_credential_type` is `STATIC`."
          },
          "use_user_private_key": {
            "type": "boolean",
            "title": "Use User Private Key",
            "description": "When true, Kasm sends the connecting user's own Kasm-stored SSH key instead of `connection_private_key`.",
            "default": false
          },
          "connection_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Private Key",
            "description": "Private key used to authenticate when `use_user_private_key` is false (required in that case). OpenSSH or RSA PKCS1 format, 2048-bit."
          },
          "connection_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Passphrase",
            "description": "Passphrase decrypting `connection_private_key`, if the key is passphrase-protected."
          }
        },
        "type": "object",
        "required": [
          "connection_credential_type"
        ],
        "title": "SshSettingsCreate",
        "description": "``ssh_settings`` on create.\n\nSSH only accepts ``STATIC``/``SSO_USERNAME`` credential types — narrower\nthan RDP's. ``use_user_private_key`` picks whether the connecting user's\nown key is used; when it is not, ``connection_private_key`` is required\n(``connection_passphrase`` stays optional either way — not every key is\npassphrase-protected)."
      },
      "SshSettingsUpdate": {
        "properties": {
          "connection_credential_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "STATIC",
                  "SSO_USERNAME"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Credential Type",
            "description": "How Kasm authenticates to the SSH server. Omit to leave unchanged."
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username",
            "description": "Username to connect with. Omit to leave unchanged."
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password",
            "description": "Password for `connection_username`. Omit to leave unchanged."
          },
          "use_user_private_key": {
            "type": "boolean",
            "title": "Use User Private Key",
            "description": "When true, Kasm sends the connecting user's own Kasm-stored SSH key instead of `connection_private_key`. Omit to leave unchanged; explicit null is rejected."
          },
          "connection_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Private Key",
            "description": "Private key used to authenticate when `use_user_private_key` is false. Omit to leave unchanged; explicit null clears it."
          },
          "connection_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Passphrase",
            "description": "Passphrase decrypting `connection_private_key`. Omit to leave unchanged; explicit null clears it."
          }
        },
        "type": "object",
        "title": "SshSettingsUpdate",
        "description": "``ssh_settings`` on update — every field optional, and an explicit\n``null`` on ``use_user_private_key`` (the block's one NOT-NULL column) is\na 422."
      },
      "SsoAttributeMappingSummary": {
        "properties": {
          "sso_attribute_id": {
            "type": "string",
            "format": "uuid",
            "title": "Sso Attribute Id"
          },
          "ldap_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ldap Id"
          },
          "saml_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Saml Id"
          },
          "oidc_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oidc Id"
          },
          "attribute_name": {
            "type": "string",
            "title": "Attribute Name"
          },
          "user_field": {
            "type": "string",
            "title": "User Field"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "sso_attribute_id",
          "attribute_name",
          "user_field"
        ],
        "title": "SsoAttributeMappingSummary",
        "description": "One SSO attribute → user-field mapping (an\n``sso_attribute_userfield_mapping`` row). Exactly one of\n``ldap_id``/``saml_id``/``oidc_id`` is set."
      },
      "SsoExchangeRequest": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "session_token": {
            "type": "string",
            "title": "Session Token"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "user_id",
          "session_token"
        ],
        "title": "SsoExchangeRequest",
        "description": "Body for ``POST /api/auth/login/sso-exchange``.\n\nThe pair the SSO callback handed the browser in its redirect fragment,\ntraded back for the session cookies the SPA needs."
      },
      "SsoGroupMappingSummary": {
        "properties": {
          "sso_group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Sso Group Id"
          },
          "ldap_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ldap Id"
          },
          "saml_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Saml Id"
          },
          "oidc_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oidc Id"
          },
          "group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Id"
          },
          "sso_group_attributes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sso Group Attributes"
          },
          "apply_to_all_users": {
            "type": "boolean",
            "title": "Apply To All Users"
          },
          "sso_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sso Name"
          },
          "sso_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SsoType"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "sso_group_id",
          "group_id",
          "apply_to_all_users"
        ],
        "title": "SsoGroupMappingSummary",
        "description": "One SSO → group mapping (an ``sso_to_group_mapping`` row). Exactly one\nof ``ldap_id``/``saml_id``/``oidc_id`` is set; ``sso_name``/``sso_type``\nmirror the ORM convenience properties."
      },
      "SsoLoginUrlRequest": {
        "properties": {
          "sso_id": {
            "type": "string",
            "format": "uuid",
            "title": "Sso Id"
          },
          "sso_type": {
            "type": "string",
            "enum": [
              "saml",
              "oidc"
            ],
            "title": "Sso Type"
          }
        },
        "type": "object",
        "required": [
          "sso_id",
          "sso_type"
        ],
        "title": "SsoLoginUrlRequest",
        "description": "Body for ``POST /api/auth/sso/login-url``."
      },
      "SsoLoginUrlResponse": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "url"
        ],
        "title": "SsoLoginUrlResponse",
        "description": "Where the browser must go to start a login at the provider."
      },
      "SsoRef": {
        "properties": {
          "sso_id": {
            "type": "string",
            "format": "uuid",
            "title": "Sso Id"
          },
          "sso_type": {
            "$ref": "#/components/schemas/SsoType"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "sso_id",
          "sso_type"
        ],
        "title": "SsoRef",
        "description": "One configured SSO option — the unified `{sso_id, sso_type, name}`\nlisting the admin UI uses to populate SSO pickers."
      },
      "SsoType": {
        "type": "string",
        "enum": [
          "ldap",
          "saml",
          "oidc"
        ],
        "title": "SsoType",
        "description": "Which provider table an SSO-scoped id (``sso_id``, group/attribute\nmapping) resolves to."
      },
      "SsoUserField": {
        "type": "string",
        "enum": [
          "First Name",
          "Last Name",
          "Phone",
          "Organization",
          "Notes",
          "City",
          "State",
          "Country",
          "Email",
          "Custom Attribute 1",
          "Custom Attribute 2",
          "Custom Attribute 3"
        ],
        "title": "SsoUserField",
        "description": "Kasm user fields an SSO attribute may be mapped onto.\n\nThe value is the display label, which is also what the ``user_field``\ncolumn persists. Member names mirror the ``User`` column they target."
      },
      "StagingConfigSummary": {
        "properties": {
          "staging_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Staging Config Id"
          },
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          },
          "zone_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Name"
          },
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "image_friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Friendly Name"
          },
          "num_sessions": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Num Sessions"
          },
          "num_current_sessions": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Num Current Sessions"
          },
          "expiration": {
            "type": "number",
            "title": "Expiration"
          },
          "allow_kasm_audio": {
            "type": "boolean",
            "title": "Allow Kasm Audio"
          },
          "allow_kasm_uploads": {
            "type": "boolean",
            "title": "Allow Kasm Uploads"
          },
          "allow_kasm_downloads": {
            "type": "boolean",
            "title": "Allow Kasm Downloads"
          },
          "allow_kasm_clipboard_down": {
            "type": "boolean",
            "title": "Allow Kasm Clipboard Down"
          },
          "allow_kasm_clipboard_up": {
            "type": "boolean",
            "title": "Allow Kasm Clipboard Up"
          },
          "allow_kasm_microphone": {
            "type": "boolean",
            "title": "Allow Kasm Microphone"
          },
          "allow_kasm_gamepad": {
            "type": "boolean",
            "title": "Allow Kasm Gamepad"
          },
          "allow_kasm_webcam": {
            "type": "boolean",
            "title": "Allow Kasm Webcam"
          },
          "allow_kasm_printing": {
            "type": "boolean",
            "title": "Allow Kasm Printing"
          },
          "allow_kasm_rdp_client_file_transfer_clipboard": {
            "type": "boolean",
            "title": "Allow Kasm Rdp Client File Transfer Clipboard"
          },
          "allow_kasm_smart_card_passthrough": {
            "type": "boolean",
            "title": "Allow Kasm Smart Card Passthrough"
          },
          "allow_kasm_webauthn_passthrough": {
            "type": "boolean",
            "title": "Allow Kasm Webauthn Passthrough"
          },
          "allow_kasm_ssh_agent_passthrough": {
            "type": "boolean",
            "title": "Allow Kasm Ssh Agent Passthrough"
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "server_pool_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Name"
          },
          "autoscale_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Autoscale Config Id"
          },
          "autoscale_config_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Autoscale Config Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "staging_config_id",
          "zone_id",
          "image_id",
          "num_sessions",
          "num_current_sessions",
          "expiration",
          "allow_kasm_audio",
          "allow_kasm_uploads",
          "allow_kasm_downloads",
          "allow_kasm_clipboard_down",
          "allow_kasm_clipboard_up",
          "allow_kasm_microphone",
          "allow_kasm_gamepad",
          "allow_kasm_webcam",
          "allow_kasm_printing",
          "allow_kasm_rdp_client_file_transfer_clipboard",
          "allow_kasm_smart_card_passthrough",
          "allow_kasm_webauthn_passthrough",
          "allow_kasm_ssh_agent_passthrough"
        ],
        "title": "StagingConfigSummary",
        "description": "One staging-config entry, as returned by every staging-config\nread/write endpoint."
      },
      "StartTotpEnrollmentRequest": {
        "properties": {
          "password": {
            "type": "string",
            "title": "Password"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          },
          "serial_number": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Serial Number"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "password"
        ],
        "title": "StartTotpEnrollmentRequest",
        "description": "Body for ``POST /api/auth/totp/enrollment``.\n\n``username`` is read only when no session is presented (enrollment forced\nat login time); an authenticated caller always enrolls itself.\n``serial_number`` assigns an unused hardware token instead of generating a\nsoft-token secret."
      },
      "StartWebAuthnEnrollmentRequest": {
        "properties": {
          "password": {
            "type": "string",
            "title": "Password"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "password"
        ],
        "title": "StartWebAuthnEnrollmentRequest",
        "description": "Body for ``POST /api/auth/webauthn/enrollment``.\n\n``username`` is read only when no session is presented (enrollment forced\nat login time); an authenticated caller always enrolls itself. Both\nvariants verify ``password`` again before an authenticator is registered."
      },
      "StorageMappingOauthLogin": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "url"
        ],
        "title": "StorageMappingOauthLogin",
        "description": "Where to send the browser to authorize the provider. The request's\npending mapping rides along in the `storage_token` cookie."
      },
      "StorageMappingOauthLoginRequest": {
        "properties": {
          "storage_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Storage Provider Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id"
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": false
          },
          "read_only": {
            "type": "boolean",
            "title": "Read Only",
            "default": false
          },
          "target": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(/|[a-zA-Z]:\\\\)"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target"
          },
          "return_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Return Url"
          }
        },
        "type": "object",
        "required": [
          "storage_provider_id"
        ],
        "title": "StorageMappingOauthLoginRequest",
        "description": "Request body for `POST /api/providers/storage-mapping-oauth-logins`.\n\nThe mapping itself is created when the provider redirects back to\n`GET /api/cloud_storage_callback`; the browser is then sent to\n`return_url` (default: the deployment root)."
      },
      "StorageMappingSummary": {
        "properties": {
          "storage_mapping_id": {
            "type": "string",
            "format": "uuid",
            "title": "Storage Mapping Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "storage_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Storage Provider Id"
          },
          "storage_provider_type": {
            "type": "string",
            "title": "Storage Provider Type"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id"
          },
          "image_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Id"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "read_only": {
            "type": "boolean",
            "title": "Read Only"
          },
          "target": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target"
          },
          "webdav_user": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webdav User"
          },
          "webdav_pass": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webdav Pass"
          },
          "s3_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Access Key Id"
          },
          "s3_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Secret Access Key"
          },
          "s3_bucket": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Bucket"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "storage_mapping_id",
          "name",
          "storage_provider_id",
          "storage_provider_type",
          "enabled",
          "read_only"
        ],
        "title": "StorageMappingSummary",
        "description": "One storage mapping, in the same shape for every caller."
      },
      "StorageMappingTargetType": {
        "type": "string",
        "enum": [
          "user",
          "group",
          "image"
        ]
      },
      "StorageProviderOption": {
        "properties": {
          "storage_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Storage Provider Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "storage_provider_type": {
            "type": "string",
            "title": "Storage Provider Type"
          },
          "requires_oauth_login": {
            "type": "boolean",
            "title": "Requires Oauth Login"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "storage_provider_id",
          "name",
          "storage_provider_type",
          "requires_oauth_login"
        ],
        "title": "StorageProviderOption",
        "description": "An enabled storage provider the caller may create a mapping against."
      },
      "StorageProviderSummary": {
        "properties": {
          "storage_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Storage Provider Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "storage_provider_type": {
            "type": "string",
            "title": "Storage Provider Type"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "default_target": {
            "type": "string",
            "title": "Default Target"
          },
          "client_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Id"
          },
          "client_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Secret"
          },
          "auth_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auth Url"
          },
          "token_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Token Url"
          },
          "webdav_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webdav Url"
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url"
          },
          "root_drive_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Root Drive Url"
          },
          "scope": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Scope"
          },
          "auth_url_options": {
            "additionalProperties": true,
            "type": "object",
            "title": "Auth Url Options"
          },
          "volume_config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Volume Config"
          },
          "mount_config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Mount Config"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "storage_provider_id",
          "name",
          "storage_provider_type",
          "enabled",
          "default_target",
          "scope",
          "auth_url_options",
          "volume_config",
          "mount_config"
        ],
        "title": "StorageProviderSummary",
        "description": "One storage provider, as returned by every storage-provider endpoint."
      },
      "StorageProviderType": {
        "type": "string",
        "enum": [
          "Other",
          "Google Drive",
          "OneDrive",
          "Dropbox",
          "S3",
          "Nextcloud",
          "Custom",
          "Kasm Profile Sync"
        ],
        "title": "StorageProviderType",
        "description": "Cloud storage backends a storage provider can be configured for.\nRe-exported by ``kasm_models.enums``/``data.enums`` as ``STORAGE_PROVIDER_TYPES``."
      },
      "SubscriptionDetail": {
        "properties": {
          "plans": {
            "items": {
              "$ref": "#/components/schemas/SubscriptionPlan"
            },
            "type": "array",
            "title": "Plans",
            "default": []
          },
          "period_end_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Period End Date"
          },
          "start_date": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Date"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "pending_cancel": {
            "type": "boolean",
            "title": "Pending Cancel",
            "default": false
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "SubscriptionDetail",
        "description": "The user's current Stripe subscription."
      },
      "SubscriptionPlan": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description",
            "default": ""
          },
          "amount": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount"
          },
          "recurring": {
            "type": "string",
            "title": "Recurring",
            "default": ""
          },
          "nickname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Nickname"
          },
          "metadata": {
            "additionalProperties": true,
            "type": "object",
            "title": "Metadata",
            "default": {}
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "name"
        ],
        "title": "SubscriptionPlan",
        "description": "One line item on the user's Stripe subscription."
      },
      "SubscriptionResponse": {
        "properties": {
          "billing_info": {
            "$ref": "#/components/schemas/BillingInfo"
          },
          "subscription_info": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SubscriptionDetail"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "SubscriptionResponse",
        "description": "Response for the client-surface subscription endpoint."
      },
      "SupportBundleComponentSummary": {
        "properties": {
          "support_bundle_component_id": {
            "type": "string",
            "format": "uuid",
            "title": "Support Bundle Component Id"
          },
          "component_id": {
            "type": "string",
            "format": "uuid",
            "title": "Component Id"
          },
          "component_type": {
            "type": "string",
            "title": "Component Type"
          },
          "processed": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Processed"
          },
          "completed": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "support_bundle_component_id",
          "component_id",
          "component_type"
        ],
        "title": "SupportBundleComponentSummary",
        "description": "One deployment component (manager, agent or proxy) a bundle collects from."
      },
      "SupportBundleSummary": {
        "properties": {
          "support_bundle_id": {
            "type": "string",
            "format": "uuid",
            "title": "Support Bundle Id"
          },
          "requested": {
            "type": "string",
            "format": "date-time",
            "title": "Requested"
          },
          "processed": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Processed"
          },
          "completed": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed"
          },
          "deleted": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted"
          },
          "collection_timeout": {
            "type": "integer",
            "title": "Collection Timeout"
          },
          "bundle_expiration": {
            "type": "integer",
            "title": "Bundle Expiration"
          },
          "bundle_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bundle Size"
          },
          "total_components": {
            "type": "integer",
            "title": "Total Components"
          },
          "completed_components": {
            "type": "integer",
            "title": "Completed Components"
          },
          "target_session_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Session Id"
          },
          "support_bundle_components": {
            "items": {
              "$ref": "#/components/schemas/SupportBundleComponentSummary"
            },
            "type": "array",
            "title": "Support Bundle Components"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "support_bundle_id",
          "requested",
          "collection_timeout",
          "bundle_expiration",
          "total_components",
          "completed_components",
          "support_bundle_components"
        ],
        "title": "SupportBundleSummary",
        "description": "One support bundle, as returned by the list, get and create endpoints."
      },
      "SystemInfo": {
        "properties": {
          "db": {
            "$ref": "#/components/schemas/SystemInfoDb"
          },
          "api": {
            "$ref": "#/components/schemas/SystemInfoApi"
          },
          "license": {
            "$ref": "#/components/schemas/SystemInfoLicense"
          },
          "update": {
            "$ref": "#/components/schemas/SystemInfoUpdate"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "db",
          "api",
          "license",
          "update"
        ],
        "title": "SystemInfo",
        "description": "``GET /api/admin/platform/system-info`` response."
      },
      "SystemInfoApi": {
        "properties": {
          "server_id": {
            "type": "string",
            "title": "Server Id"
          },
          "server_hostname": {
            "type": "string",
            "title": "Server Hostname"
          },
          "build_id": {
            "type": "string",
            "title": "Build Id"
          },
          "zone_name": {
            "type": "string",
            "title": "Zone Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_id",
          "server_hostname",
          "build_id",
          "zone_name"
        ],
        "title": "SystemInfoApi",
        "description": "This API process's identity (``system_info.api``)."
      },
      "SystemInfoDb": {
        "properties": {
          "alembic_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Alembic Version"
          },
          "host": {
            "type": "string",
            "title": "Host"
          },
          "installation_id": {
            "type": "string",
            "format": "uuid",
            "title": "Installation Id"
          },
          "table_export": {
            "additionalProperties": true,
            "type": "object",
            "title": "Table Export"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "host",
          "installation_id",
          "table_export"
        ],
        "title": "SystemInfoDb",
        "description": "Facts about the deployment's database."
      },
      "SystemInfoLicense": {
        "properties": {
          "status": {
            "additionalProperties": true,
            "type": "object",
            "title": "Status"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "status"
        ],
        "title": "SystemInfoLicense",
        "description": "The deployment's effective license.\n\n``status`` is a free-form object describing the effective license, including\n``limit_remaining``."
      },
      "SystemInfoUpdate": {
        "properties": {
          "status": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "update_available": {
            "type": "boolean",
            "title": "Update Available"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "update_available"
        ],
        "title": "SystemInfoUpdate",
        "description": "Update-availability info (``system_info.update``)."
      },
      "SystemMetricSample": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "data"
        ],
        "title": "SystemMetricSample",
        "description": "One row from ``DataAccess.metrics_to_dict`` (a single stored sample)."
      },
      "SystemMetricsComponent": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          },
          "rows": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Rows",
            "default": []
          },
          "statusCounts": {
            "additionalProperties": true,
            "type": "object",
            "title": "Statuscounts"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "firstRecordedAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Firstrecordedat"
          },
          "lastRecordedAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lastrecordedat"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "name",
          "title",
          "statusCounts",
          "status"
        ],
        "title": "SystemMetricsComponent",
        "description": "One top-level entry from ``DataAccess.get_system_metrics_overview``.\n\nField names mirror the dict keys that method emits verbatim (mixed\nsnake_case from ``component_to_dict`` plus the camelCase aggregates it\nadds on top) — this is the wire shape, not a naming convention choice.\n``rows`` (children) and any nested metrics-group/raw-data payloads stay\nloosely typed: they are wide, per-component blobs this migration does not\notherwise touch."
      },
      "SystemMetricsSettings": {
        "properties": {
          "enable_system_metrics": {
            "type": "boolean",
            "title": "Enable System Metrics"
          },
          "system_metrics_poll_interval": {
            "type": "integer",
            "title": "System Metrics Poll Interval"
          },
          "system_metrics_retention": {
            "type": "integer",
            "title": "System Metrics Retention"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "enable_system_metrics",
          "system_metrics_poll_interval",
          "system_metrics_retention"
        ],
        "title": "SystemMetricsSettings"
      },
      "TestLdapConfigRequest": {
        "properties": {
          "username": {
            "type": "string",
            "title": "Username"
          },
          "password": {
            "type": "string",
            "title": "Password"
          }
        },
        "type": "object",
        "required": [
          "username",
          "password"
        ],
        "title": "TestLdapConfigRequest",
        "description": "Body for ``POST /api/admin/identity/ldap-configs/{ldap_id}/test`` —\ncredentials to attempt a live directory login with."
      },
      "TotpChallenge": {
        "properties": {
          "outcome": {
            "type": "string",
            "const": "totp_required",
            "title": "Outcome",
            "default": "totp_required"
          },
          "allow_totp_2fa": {
            "type": "boolean",
            "title": "Allow Totp 2Fa"
          },
          "allow_webauthn_2fa": {
            "type": "boolean",
            "title": "Allow Webauthn 2Fa"
          },
          "set_two_factor": {
            "type": "boolean",
            "title": "Set Two Factor"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "allow_totp_2fa",
          "allow_webauthn_2fa",
          "set_two_factor"
        ],
        "title": "TotpChallenge",
        "description": "Second-factor challenge: the caller must submit a TOTP code next."
      },
      "TotpEnrollmentResponse": {
        "properties": {
          "generated_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Generated Secret"
          },
          "qrcode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Qrcode"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "TotpEnrollmentResponse",
        "description": "What the caller shows the user to finish a TOTP enrollment.\n\nBoth fields are ``null`` for a hardware-token assignment: the token holds\nthe secret, so there is nothing to display."
      },
      "TotpLoginRequest": {
        "properties": {
          "username": {
            "type": "string",
            "title": "Username"
          },
          "password": {
            "type": "string",
            "title": "Password"
          },
          "code": {
            "type": "string",
            "title": "Code"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "username",
          "password",
          "code"
        ],
        "title": "TotpLoginRequest",
        "description": "Body for ``POST /api/auth/login/totp``.\n\nThe password is verified again alongside the code: the TOTP step is a\ncontinuation of the same login, not a credential of its own."
      },
      "TracesPayload": {
        "properties": {
          "resourceSpans": {
            "items": {
              "$ref": "#/components/schemas/OtlpResourceSpans"
            },
            "type": "array",
            "title": "Resourcespans"
          }
        },
        "type": "object",
        "required": [
          "resourceSpans"
        ],
        "title": "TracesPayload"
      },
      "UnixNano": {
        "type": "integer"
      },
      "UpdateAdUserManagementConfigRequest": {
        "properties": {
          "ldap_id": {
            "type": "string",
            "format": "uuid",
            "title": "Ldap Id"
          },
          "saml_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Saml Id"
          },
          "oidc_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oidc Id"
          },
          "local_accounts": {
            "type": "boolean",
            "title": "Local Accounts"
          },
          "enable_random_password_on_login": {
            "type": "boolean",
            "title": "Enable Random Password On Login"
          },
          "enable_create_user": {
            "type": "boolean",
            "title": "Enable Create User"
          },
          "enable_ad_group_management": {
            "type": "boolean",
            "title": "Enable Ad Group Management"
          },
          "password_len": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0,
            "title": "Password Len"
          },
          "user_container_dn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Container Dn"
          }
        },
        "type": "object",
        "title": "UpdateAdUserManagementConfigRequest",
        "description": "Body for ``PATCH .../ad-user-management-configs/{ad_user_mgmt_config_id}``.\n\nAn omitted field is left unchanged. ``saml_id``, ``oidc_id`` and\n``user_container_dn`` may be sent as null to clear them. The account-source\nand container-DN rules of create are checked against the merged config."
      },
      "UpdateApiConfigRequest": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Name"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "read_only": {
            "type": "boolean",
            "title": "Read Only"
          },
          "expires": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires"
          }
        },
        "type": "object",
        "title": "UpdateApiConfigRequest",
        "description": "Body for ``PATCH /api/admin/identity/api-configs/{api_id}``.\n\nPartial update: an omitted field is left unchanged; an explicit ``null``\n``expires`` clears the expiry (the service distinguishes the two via\n``model_fields_set``). ``name``/``enabled``/``read_only`` have no cleared\nstate, so an explicit ``null`` on them is rejected (422) and\n``strip_null_from_schema`` keeps the spec from advertising it."
      },
      "UpdateApiInstanceRequest": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Whether the API instance accepts work. The last enabled instance in a zone cannot be disabled."
          }
        },
        "type": "object",
        "required": [
          "enabled"
        ],
        "title": "UpdateApiInstanceRequest",
        "description": "Request body for ``PATCH /api/admin/infrastructure/api-instances/{api_instance_id}``."
      },
      "UpdateAutoscaleConfigRequest": {
        "properties": {
          "autoscale_config_name": {
            "type": "string",
            "title": "Autoscale Config Name",
            "description": "Display name for the AutoScale config. Omit to leave unchanged; explicit null is rejected."
          },
          "autoscale_type": {
            "$ref": "#/components/schemas/AutoscaleType",
            "description": "Whether this config provisions \"DOCKER_AGENT\" or \"SERVER_POOL\" capacity. Omit to leave unchanged; explicit null is rejected."
          },
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id",
            "description": "Deployment zone this config provisions into. Omit to leave unchanged; explicit null is rejected."
          },
          "docker_agent_settings": {
            "$ref": "#/components/schemas/DockerAgentSettingsUpdate",
            "description": "Only meaningful when `autoscale_type` is (or is being changed to) \"DOCKER_AGENT\". Omit to leave the stored block alone; explicit null is rejected."
          },
          "server_pool_settings": {
            "$ref": "#/components/schemas/ServerPoolSettingsUpdate",
            "description": "Only meaningful when `autoscale_type` is (or is being changed to) \"SERVER_POOL\". Omit to leave the stored block alone; explicit null is rejected."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Whether this config is active. Omit to leave unchanged; explicit null is rejected."
          },
          "downscale_backoff": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Downscale Backoff",
            "description": "Seconds to wait after downscaling before downscaling again. Omit to leave unchanged; explicit null is rejected."
          },
          "rotate_servers_in_days": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Rotate Servers In Days",
            "description": "Days until an AutoScaled agent/server is drained and replaced. Omit to leave unchanged; explicit null is rejected."
          },
          "rotate_servers_pre_warm_minutes": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Rotate Servers Pre Warm Minutes",
            "description": "Minutes before an agent/server's drain time that Kasm begins provisioning its replacement. Omit to leave unchanged; explicit null is rejected."
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id",
            "description": "Pool this config is attached to. Omit to leave unchanged; explicit null detaches the config from its pool."
          },
          "vm_provider_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Provider Config Id",
            "description": "VM provider configuration used to provision compute for this config. Omit to leave unchanged; explicit null clears it."
          },
          "dns_provider_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dns Provider Config Id",
            "description": "DNS provider configuration used for agent DNS registration. Omit to leave unchanged; explicit null clears it."
          }
        },
        "type": "object",
        "title": "UpdateAutoscaleConfigRequest",
        "description": "Partial-update body for\n``PATCH /api/admin/infrastructure/autoscale-configs/{autoscale_config_id}``.\n\nCommon fields sit at the top level, and the type-specific ones nest under\n``docker_agent_settings`` / ``server_pool_settings`` — see\n``DockerAgentSettingsUpdate`` / ``ServerPoolSettingsUpdate``.\n\nOmitted and ``null`` mean different things, and both are honoured:\n\n- **Omitted** always leaves the stored value alone.\n- **Explicit ``null``** clears the column — for *every* nullable field,\n  ``server_pool_id`` included: that is how the admin AutoScale grid's\n  \"Unassign\" action detaches a config from its pool.\n- **Explicit ``null`` on a NOT-NULL column** is a 422 rather than a silent\n  no-op — there is nothing for the column to hold.\n- **A block itself set to ``null``** is a separate rule from the one above:\n  there is no \"remove the settings\" operation, so ``docker_agent_settings``\n  or ``server_pool_settings`` being explicitly ``null`` is always rejected,\n  independent of what its individual fields are.\n\n``\"\"`` is never a stand-in for either. On a non-string field it fails the\nfield's own type validation, which is the intended contract: a cleared\nnumeric input must be sent as ``null`` (to clear) or omitted (to leave\nalone), and an empty JSON object as ``{}``.\n\nOmitting ``vm_provider_config_id`` preserves the existing provider link;\nsend an explicit ``null`` to unlink it."
      },
      "UpdateBannerRequest": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "config": {
            "$ref": "#/components/schemas/BannerConfig"
          }
        },
        "type": "object",
        "title": "UpdateBannerRequest",
        "description": "Request body for ``PATCH /api/admin/platform/banners/{banner_id}``.\n\nBoth fields are optional partial-update fields; omit either to leave it\nunchanged. Neither accepts an explicit ``null``: both back non-nullable\ncolumns, so a client that sends e.g. ``{\"name\": null}`` gets a 422 rather\nthan a silently-ignored (or worse, misapplied) no-op."
      },
      "UpdateBrandingConfigRequest": {
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name"
          },
          "favicon_logo_url": {
            "type": "string",
            "title": "Favicon Logo Url"
          },
          "header_logo_url": {
            "type": "string",
            "title": "Header Logo Url"
          },
          "dashboard_logo_url": {
            "type": "string",
            "title": "Dashboard Logo Url"
          },
          "html_title": {
            "type": "string",
            "title": "Html Title"
          },
          "login_caption": {
            "type": "string",
            "title": "Login Caption"
          },
          "login_logo_url": {
            "type": "string",
            "title": "Login Logo Url"
          },
          "login_splash_url": {
            "type": "string",
            "title": "Login Splash Url"
          },
          "loading_session_text": {
            "type": "string",
            "title": "Loading Session Text"
          },
          "joining_session_text": {
            "type": "string",
            "title": "Joining Session Text"
          },
          "destroying_session_text": {
            "type": "string",
            "title": "Destroying Session Text"
          },
          "hostname": {
            "type": "string",
            "minLength": 1,
            "title": "Hostname"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default"
          },
          "launcher_background_url": {
            "type": "string",
            "title": "Launcher Background Url"
          },
          "username_input_label": {
            "type": "string",
            "title": "Username Input Label"
          }
        },
        "type": "object",
        "title": "UpdateBrandingConfigRequest",
        "description": "Partial-update body for ``PATCH /api/admin/tenant/branding-configs/{branding_config_id}``.\n\nAn omitted field is left unchanged. No field can be cleared, so an explicit ``null`` is a\n422. ``is_default: false`` is applied."
      },
      "UpdateCastLinkRequest": {
        "properties": {
          "casting_config_name": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "title": "Casting Config Name"
          },
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id"
          },
          "allowed_referrers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "maxItems": 200,
            "title": "Allowed Referrers"
          },
          "limit_sessions": {
            "type": "boolean",
            "title": "Limit Sessions"
          },
          "session_remaining": {
            "type": "integer",
            "minimum": 0,
            "title": "Session Remaining"
          },
          "limit_ips": {
            "type": "boolean",
            "title": "Limit Ips"
          },
          "ip_request_limit": {
            "type": "integer",
            "minimum": 1,
            "title": "Ip Request Limit"
          },
          "ip_request_seconds": {
            "type": "integer",
            "minimum": 1,
            "title": "Ip Request Seconds"
          },
          "error_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4096
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Url"
          },
          "enable_sharing": {
            "type": "boolean",
            "title": "Enable Sharing"
          },
          "disable_control_panel": {
            "type": "boolean",
            "title": "Disable Control Panel"
          },
          "disable_tips": {
            "type": "boolean",
            "title": "Disable Tips"
          },
          "disable_fixed_res": {
            "type": "boolean",
            "title": "Disable Fixed Res"
          },
          "allow_anonymous": {
            "type": "boolean",
            "title": "Allow Anonymous"
          },
          "require_recaptcha": {
            "type": "boolean",
            "title": "Require Recaptcha"
          },
          "kasm_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4096
              },
              {
                "type": "null"
              }
            ],
            "title": "Kasm Url"
          },
          "dynamic_kasm_url": {
            "type": "boolean",
            "title": "Dynamic Kasm Url"
          },
          "dynamic_docker_network": {
            "type": "boolean",
            "title": "Dynamic Docker Network"
          },
          "allow_resume": {
            "type": "boolean",
            "title": "Allow Resume"
          },
          "enforce_client_settings": {
            "type": "boolean",
            "title": "Enforce Client Settings"
          },
          "client_settings": {
            "$ref": "#/components/schemas/CastLinkClientSettings",
            "title": "Client Settings"
          },
          "valid_until": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Valid Until"
          },
          "remote_app_configs": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Configs"
          },
          "launcher_background_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4096
              },
              {
                "type": "null"
              }
            ],
            "title": "Launcher Background Url"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          }
        },
        "type": "object",
        "title": "UpdateCastLinkRequest",
        "description": "``PATCH /api/admin/session/cast-links/{cast_link_id}``: partial update. Omitted\nfields leave the stored value alone; an explicit ``null`` clears a nullable\nfield (``group_id``, ``valid_until``, ``error_url``, ``kasm_url``,\n``launcher_background_url``, ``remote_app_configs``) and is a 422 on any other.\n\nThe key is not updatable here — use ``POST .../key-rotations``."
      },
      "UpdateCompanyRequest": {
        "properties": {
          "company_name": {
            "type": "string",
            "minLength": 1,
            "title": "Company Name"
          },
          "street": {
            "type": "string",
            "title": "Street"
          },
          "city": {
            "type": "string",
            "title": "City"
          },
          "zip": {
            "type": "string",
            "title": "Zip"
          },
          "country": {
            "type": "string",
            "title": "Country"
          }
        },
        "type": "object",
        "title": "UpdateCompanyRequest",
        "description": "Partial-update body for ``PATCH /api/admin/tenant/companies/{company_id}``.\n\nAn omitted field is left unchanged. No field can be cleared, so an explicit ``null`` is a\n422."
      },
      "UpdateConnectionProxyRequest": {
        "properties": {
          "server_address": {
            "type": "string",
            "minLength": 1,
            "title": "Server Address"
          },
          "server_port": {
            "type": "integer",
            "maximum": 65535,
            "minimum": 1,
            "title": "Server Port"
          },
          "connection_proxy_type": {
            "$ref": "#/components/schemas/CONNECTION_PROXY_TYPE"
          },
          "auth_token": {
            "type": "string",
            "title": "Auth Token"
          },
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Set `false` to stop selecting the proxy for new connections, or `true` to select it again. Disabling the last enabled proxy of its type in its zone while sessions rely on it needs `force`."
          },
          "force": {
            "type": "boolean",
            "title": "Force",
            "description": "Disable the proxy even if it is the last enabled one of its type in its zone with sessions still relying on it. Without it that request is refused with a `last-enabled-connection-proxy` problem.",
            "default": false
          },
          "stop_sessions": {
            "type": "boolean",
            "title": "Stop Sessions",
            "description": "With `force`, also delete the sessions left without an enabled proxy. Requires the sessions-delete permission.",
            "default": false
          }
        },
        "type": "object",
        "title": "UpdateConnectionProxyRequest",
        "description": "Partial-update body for\n``PATCH /api/admin/security/connection-proxies/{connection_proxy_id}``.\n\nAn omitted field is left unchanged. No field can be cleared, so an explicit ``null`` is a\n422."
      },
      "UpdateDnsProviderRequest": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AzureDnsProviderUpdate"
          },
          {
            "$ref": "#/components/schemas/AwsDnsProviderUpdate"
          },
          {
            "$ref": "#/components/schemas/DigitalOceanDnsProviderUpdate"
          },
          {
            "$ref": "#/components/schemas/OciDnsProviderUpdate"
          },
          {
            "$ref": "#/components/schemas/GcpDnsProviderUpdate"
          }
        ],
        "title": "UpdateDnsProviderRequest",
        "description": "``PATCH`` request body: the update union, named for the spec.\n\nWraps :data:`AnyUpdateDnsProvider`. See\n:class:`CreateDnsProviderRequest` on the naming.",
        "discriminator": {
          "propertyName": "dns_provider_name",
          "mapping": {
            "AWS": "#/components/schemas/AwsDnsProviderUpdate",
            "AZURE": "#/components/schemas/AzureDnsProviderUpdate",
            "DIGITAL_OCEAN": "#/components/schemas/DigitalOceanDnsProviderUpdate",
            "GCP": "#/components/schemas/GcpDnsProviderUpdate",
            "OCI": "#/components/schemas/OciDnsProviderUpdate"
          }
        }
      },
      "UpdateEgressCredentialRequest": {
        "properties": {
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the Egress Provider this credential targets."
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The unique name for the Egress Credential."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration."
          },
          "allow_all_gateways": {
            "type": "boolean",
            "title": "Allow All Gateways",
            "description": "When enabled, all Egress Gateways in the selected Provider will be available to this credential. Disabling requires specifying which gateways to make available in selected_gateways."
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "The username for this credential, if any."
          },
          "password": {
            "type": "string",
            "title": "Password",
            "description": "The password for this credential."
          },
          "wireguard_private_key": {
            "type": "string",
            "title": "Wireguard Private Key",
            "description": "The WireGuard private key for this credential."
          },
          "tailscale_key": {
            "type": "string",
            "title": "Tailscale Key",
            "description": "The Tailscale auth key for this credential."
          },
          "custom_credential": {
            "type": "string",
            "title": "Custom Credential",
            "description": "The custom credential value for this credential."
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id",
            "description": "The user to bind this credential to."
          },
          "group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Id",
            "description": "The group to bind this credential to."
          },
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id",
            "description": "The image (workspace) to bind this credential to."
          },
          "selected_gateways": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Selected Gateways",
            "description": "When Allow All Gateways is disabled, the gateways this credential is available on. Omitted or empty leaves the current set of gateways unchanged."
          },
          "limit_active_connections": {
            "type": "boolean",
            "title": "Limit Active Connections",
            "description": "When enabled, the number of concurrent active connections using this credential is capped at active_connection_limit."
          },
          "active_connection_limit": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Active Connection Limit",
            "description": "The maximum number of concurrent active connections allowed for this credential when limit_active_connections is enabled."
          }
        },
        "type": "object",
        "title": "UpdateEgressCredentialRequest",
        "description": "Request body for\n``PATCH /api/admin/providers/egress-credentials/{egress_credential_id}``.\n\nEvery field is optional to omit — an omitted field leaves the current\nvalue unchanged. At most one of ``user_id``/``group_id``/``image_id``\nmay be set, and at most one of ``password``/``wireguard_private_key``/\n``tailscale_key``/``custom_credential`` may be set.\n\nNone of the fields accept an explicit ``null``, including ``username``\nand the four secret fields: there is no \"clear this field\" operation, so\nomit a field to leave it unchanged rather than sending ``null``."
      },
      "UpdateEgressGatewayRequest": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The unique name for the Egress Gateway."
          },
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the owning egress provider."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration."
          },
          "country": {
            "type": "string",
            "title": "Country",
            "description": "The country for the Egress Gateway."
          },
          "city": {
            "type": "string",
            "title": "City",
            "description": "The city for the Egress Gateway."
          },
          "config": {
            "type": "string",
            "title": "Config",
            "description": "The Egress Gateway configuration (OpenVPN, WireGuard, or Custom)."
          }
        },
        "type": "object",
        "title": "UpdateEgressGatewayRequest",
        "description": "Request body for ``PATCH /api/admin/providers/egress-gateways/{egress_gateway_id}``.\n\nEvery field is optional to omit — an omitted field leaves the current\nvalue unchanged — but none accept an explicit ``null``."
      },
      "UpdateEgressProviderMappingRequest": {
        "properties": {
          "egress_provider_id": {
            "type": "string",
            "format": "uuid",
            "title": "Egress Provider Id",
            "description": "Unique identifier of the Egress Provider this mapping targets."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration."
          },
          "allow_all_gateways": {
            "type": "boolean",
            "title": "Allow All Gateways",
            "description": "When enabled, all Egress Gateways in the selected Provider will be mapped. Disabling requires specifying which gateways to map in selected_gateways."
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id",
            "description": "The user to bind this mapping to."
          },
          "group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Id",
            "description": "The group to bind this mapping to."
          },
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id",
            "description": "The image (workspace) to bind this mapping to."
          },
          "selected_gateways": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Selected Gateways",
            "description": "When Allow All Gateways is disabled, the gateways that apply to this mapping. Omitted or empty leaves the current set of gateways unchanged."
          }
        },
        "type": "object",
        "title": "UpdateEgressProviderMappingRequest",
        "description": "Request body for\n``PATCH /api/admin/providers/egress-provider-mappings/{egress_provider_mapping_id}``.\n\nEvery field is optional to omit — an omitted field leaves the current\nvalue unchanged. At most one of ``user_id``/``group_id``/``image_id``\nmay be set (none leaves the mapping's existing target unchanged), and\n``egress_provider_id``, if provided, must resolve to a real Egress\nProvider.\n\nNone of the scalar/id fields accept an explicit ``null``, except\n``selected_gateways``: omitted or empty leaves the current set of\ngateways unchanged."
      },
      "UpdateEgressProviderRequest": {
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name",
            "description": "The unique name for the Egress Provider."
          },
          "egress_provider_type": {
            "$ref": "#/components/schemas/EgressProviderType",
            "description": "The type of Egress Provider configuration."
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Enable or disable this configuration."
          },
          "enable_new_managed_gateways": {
            "type": "boolean",
            "title": "Enable New Managed Gateways",
            "description": "For a managed Egress Provider, when enabled any new Egress Gateways sent by the Egress Plugin Service are automatically enabled."
          }
        },
        "type": "object",
        "title": "UpdateEgressProviderRequest",
        "description": "Request body for ``PATCH /api/admin/providers/egress-providers/{egress_provider_id}``.\n\nEvery field is optional to omit — an omitted field leaves the current\nvalue unchanged — but none accept an explicit ``null``: all four back\nnon-nullable columns, so a client that sends e.g. ``{\"enabled\": null}``\ngets a 422 rather than a silently-ignored (or worse, misapplied) no-op."
      },
      "UpdateFileMappingRequest": {
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "destination": {
            "type": "string",
            "minLength": 1,
            "title": "Destination"
          },
          "content": {
            "type": "string",
            "minLength": 1,
            "title": "Content"
          },
          "is_readable": {
            "type": "boolean",
            "title": "Is Readable"
          },
          "is_writable": {
            "type": "boolean",
            "title": "Is Writable"
          },
          "is_executable": {
            "type": "boolean",
            "title": "Is Executable"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          }
        },
        "type": "object",
        "title": "UpdateFileMappingRequest",
        "description": "Partial update; omitted fields are unchanged and the owner and file type are immutable.\n\nOnly `description` is nullable on the row, so an explicit `null` clears it;\nan explicit `null` on any other field is a 422 rather than a silent no-op."
      },
      "UpdateGroupRequest": {
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name"
          },
          "priority": {
            "type": "integer",
            "maximum": 4095,
            "minimum": 1,
            "title": "Priority"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "group_metadata": {
            "additionalProperties": true,
            "type": "object",
            "title": "Group Metadata"
          }
        },
        "type": "object",
        "title": "UpdateGroupRequest",
        "description": "Partial-update body for ``PATCH /api/admin/identity/groups/{group_id}``.\n\nAn omitted field is left unchanged. ``description`` is the one nullable\ncolumn, so an explicit ``null`` there *clears* it (the service reads\n``model_fields_set`` to tell the two apart). ``name``/``priority``/\n``group_metadata`` have no \"cleared\" state, so an explicit ``null`` on\nthem is rejected (422) rather than silently ignored, and\n``strip_null_from_schema`` keeps the spec from advertising it."
      },
      "UpdateGroupSettingRequest": {
        "properties": {
          "value": {
            "type": "string",
            "title": "Value"
          }
        },
        "type": "object",
        "required": [
          "value"
        ],
        "title": "UpdateGroupSettingRequest"
      },
      "UpdateImageRequest": {
        "properties": {
          "image_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Name"
          },
          "cores": {
            "anyOf": [
              {
                "type": "number",
                "exclusiveMinimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Cores"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "docker_registry": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Registry"
          },
          "docker_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker Token"
          },
          "docker_user": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docker User"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hash"
          },
          "memory_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "exclusiveMinimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory Bytes"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "x_res": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "X Res"
          },
          "y_res": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Y Res"
          },
          "run_config": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Run Config"
          },
          "restrict_to_network": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Restrict To Network"
          },
          "restrict_network_names": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Restrict Network Names"
          },
          "restrict_to_server": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Restrict To Server"
          },
          "server_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Id"
          },
          "persistent_profile_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Persistent Profile Path"
          },
          "volume_mappings": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Volume Mappings"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          },
          "exec_config": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exec Config"
          },
          "restrict_to_zone": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Restrict To Zone"
          },
          "zone_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Id"
          },
          "filter_policy_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter Policy Id"
          },
          "filter_policy_force_disabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter Policy Force Disabled"
          },
          "network_policy_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Policy Id"
          },
          "session_time_limit": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Time Limit"
          },
          "categories": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Categories"
          },
          "allow_network_selection": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allow Network Selection"
          },
          "require_gpu": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Require Gpu"
          },
          "gpu_count": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Count"
          },
          "hidden": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hidden"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "image_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/IMAGE_TYPE"
              },
              {
                "type": "null"
              }
            ]
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "link_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Link Url"
          },
          "cpu_allocation_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CPU_ALLOCATION_METHOD"
              },
              {
                "type": "null"
              }
            ]
          },
          "uncompressed_size_mb": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Uncompressed Size Mb"
          },
          "launch_config": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Launch Config"
          },
          "rdp_client_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RDP_CONNECTION_TYPE"
              },
              {
                "type": "null"
              }
            ]
          },
          "override_egress_gateways": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Override Egress Gateways"
          },
          "remote_app_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Name"
          },
          "remote_app_args": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Args"
          },
          "remote_app_icon": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Icon"
          },
          "remote_app_program": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remote App Program"
          },
          "is_remote_app": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Remote App"
          },
          "session_banner_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Banner Id"
          },
          "session_banner_force_disabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Banner Force Disabled"
          },
          "enforce_workspace_persistence": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enforce Workspace Persistence"
          },
          "include_labels": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Include Labels"
          },
          "exclude_labels": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exclude Labels"
          },
          "gpu_graphics_acceleration": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/GPU_GRAPHICS_ACCELERATION"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Graphics Acceleration"
          },
          "gpu_video_encoding": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/GPU_VIDEO_ENCODING"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpu Video Encoding"
          }
        },
        "type": "object",
        "title": "UpdateImageRequest",
        "description": "The update-image request body: the create payload, every field optional. The image is the\none named in the path."
      },
      "UpdateLdapConfigRequest": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "auto_create_app_user": {
            "type": "boolean",
            "title": "Auto Create App User"
          },
          "search_base": {
            "type": "string",
            "title": "Search Base"
          },
          "search_filter": {
            "type": "string",
            "title": "Search Filter"
          },
          "group_membership_filter": {
            "type": "string",
            "title": "Group Membership Filter"
          },
          "email_attribute": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Attribute"
          },
          "search_subtree": {
            "type": "boolean",
            "title": "Search Subtree"
          },
          "service_account_dn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Account Dn"
          },
          "service_account_password": {
            "type": "string",
            "title": "Service Account Password"
          },
          "username_domain_match": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username Domain Match"
          }
        },
        "type": "object",
        "title": "UpdateLdapConfigRequest",
        "description": "Body for ``PATCH /api/admin/identity/ldap-configs/{ldap_id}``.\n\nAn omitted field is left unchanged. ``email_attribute``,\n``service_account_dn`` and ``username_domain_match`` may be sent as null\nto clear them. A masked ``service_account_password`` echoed back is\nignored. ``connection_timeout`` is create-only and cannot be updated."
      },
      "UpdateNetworkPolicyRequest": {
        "properties": {
          "network_policy_name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Network Policy Name"
          },
          "network_policy_description": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1024
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Policy Description"
          },
          "inbound": {
            "$ref": "#/components/schemas/NetworkPolicyDirectionRequest",
            "title": "Inbound"
          },
          "outbound": {
            "$ref": "#/components/schemas/NetworkPolicyDirectionRequest",
            "title": "Outbound"
          }
        },
        "type": "object",
        "title": "UpdateNetworkPolicyRequest",
        "description": "A supplied direction replaces that direction's user rules whole."
      },
      "UpdateOidcConfigRequest": {
        "properties": {
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "client_id": {
            "type": "string",
            "title": "Client Id"
          },
          "client_secret": {
            "type": "string",
            "title": "Client Secret"
          },
          "auth_url": {
            "type": "string",
            "title": "Auth Url"
          },
          "token_url": {
            "type": "string",
            "title": "Token Url"
          },
          "scope": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Scope"
          },
          "redirect_url": {
            "type": "string",
            "title": "Redirect Url"
          },
          "user_info_url": {
            "type": "string",
            "title": "User Info Url"
          },
          "username_attribute": {
            "type": "string",
            "title": "Username Attribute"
          },
          "auto_login": {
            "type": "boolean",
            "title": "Auto Login"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          },
          "groups_attribute": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Groups Attribute"
          },
          "debug": {
            "type": "boolean",
            "title": "Debug"
          },
          "issuer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Issuer"
          },
          "logout_with_oidc_provider": {
            "type": "boolean",
            "title": "Logout With Oidc Provider"
          },
          "enable_frontchannel_logout": {
            "type": "boolean",
            "title": "Enable Frontchannel Logout"
          }
        },
        "type": "object",
        "title": "UpdateOidcConfigRequest",
        "description": "Body for ``PATCH /api/admin/identity/oidc-configs/{oidc_id}``.\n\nAn omitted field is left unchanged. ``hostname``, ``logo_url``,\n``groups_attribute`` and ``issuer`` may be sent as null to clear them. A\nmasked ``client_secret`` echoed back is ignored. ``scope`` matches the\nresponse shape (``list[str]``); send ``[]`` to clear it."
      },
      "UpdateRegistryRequest": {
        "properties": {
          "do_auto_update": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Do Auto Update"
          },
          "channel": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Channel"
          }
        },
        "type": "object",
        "title": "UpdateRegistryRequest",
        "description": "Partial-update body for `PATCH /api/admin/catalog/registries/{registry_id}`.\n\nA field omitted from the request is left unchanged on the registry.\n`channel` may be set to `null` to clear it; `do_auto_update` has no such\nstate and rejects an explicit `null`."
      },
      "UpdateSamlConfigRequest": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "debug": {
            "type": "boolean",
            "title": "Debug"
          },
          "auto_login": {
            "type": "boolean",
            "title": "Auto Login"
          },
          "adfs": {
            "type": "boolean",
            "title": "Adfs"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default"
          },
          "group_attribute": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Attribute"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "sp_entity_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Entity Id"
          },
          "sp_acs_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Acs Url"
          },
          "sp_slo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Slo Url"
          },
          "sp_name_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Name Id"
          },
          "sp_x509_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp X509 Cert"
          },
          "sp_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sp Private Key"
          },
          "idp_entity_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp Entity Id"
          },
          "idp_sso_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp Sso Url"
          },
          "idp_slo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp Slo Url"
          },
          "idp_x509_cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idp X509 Cert"
          },
          "want_attribute_statement": {
            "type": "boolean",
            "title": "Want Attribute Statement"
          },
          "name_id_encrypted": {
            "type": "boolean",
            "title": "Name Id Encrypted"
          },
          "authn_request_signed": {
            "type": "boolean",
            "title": "Authn Request Signed"
          },
          "logout_request_signed": {
            "type": "boolean",
            "title": "Logout Request Signed"
          },
          "logout_response_signed": {
            "type": "boolean",
            "title": "Logout Response Signed"
          },
          "sign_metadata": {
            "type": "boolean",
            "title": "Sign Metadata"
          },
          "want_messages_signed": {
            "type": "boolean",
            "title": "Want Messages Signed"
          },
          "want_assertions_signed": {
            "type": "boolean",
            "title": "Want Assertions Signed"
          },
          "want_name_id": {
            "type": "boolean",
            "title": "Want Name Id"
          },
          "want_name_id_encrypted": {
            "type": "boolean",
            "title": "Want Name Id Encrypted"
          },
          "want_assertions_encrypted": {
            "type": "boolean",
            "title": "Want Assertions Encrypted"
          },
          "signature_algorithm": {
            "$ref": "#/components/schemas/SamlSignatureAlgorithm",
            "title": "Signature Algorithm"
          },
          "digest_algorithm": {
            "$ref": "#/components/schemas/SamlDigestAlgorithm",
            "title": "Digest Algorithm"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          },
          "requested_authn_context": {
            "type": "boolean",
            "title": "Requested Authn Context"
          }
        },
        "type": "object",
        "title": "UpdateSamlConfigRequest",
        "description": "Body for ``PATCH /api/admin/identity/saml-configs/{saml_id}``.\n\nAn omitted field is left unchanged. The string fields (``hostname``,\n``display_name``, ``group_attribute``, the SP/IdP fields and ``logo_url``)\nmay be sent as null to clear them. The signature/digest algorithms may not:\npython3-saml cannot sign requests or metadata without them. A masked secret\nechoed back is ignored."
      },
      "UpdateScheduleRequest": {
        "properties": {
          "days_of_the_week": {
            "items": {
              "type": "integer",
              "maximum": 7,
              "minimum": 1
            },
            "type": "array",
            "title": "Days Of The Week",
            "description": "Days the schedule is active, as ISO weekday numbers (1 = Monday ... 7 = Sunday). Omit to leave unchanged; explicit null is rejected."
          },
          "active_start_time": {
            "type": "string",
            "format": "time",
            "title": "Active Start Time",
            "description": "Local time (in `timezone`) the schedule activates. Omit to leave unchanged; explicit null is rejected."
          },
          "active_end_time": {
            "type": "string",
            "format": "time",
            "title": "Active End Time",
            "description": "Local time (in `timezone`) the schedule deactivates. Omit to leave unchanged; explicit null is rejected."
          },
          "timezone": {
            "type": "string",
            "title": "Timezone",
            "description": "IANA time zone name the schedule's times are evaluated in. Omit to leave unchanged; explicit null is rejected."
          }
        },
        "type": "object",
        "title": "UpdateScheduleRequest",
        "description": "Partial-update body for\n``PATCH /api/admin/infrastructure/autoscale-schedules/{schedule_id}``.\n\nA field omitted from the request is left unchanged. ``autoscale_config_id``\nis absent by design: re-parenting a schedule was never supported.\n\nEvery column a schedule exposes is ``nullable=False``, so there is no field\nan explicit ``null`` could clear — sending one is a 422 rather than a silent\nno-op."
      },
      "UpdateServerPoolRequest": {
        "properties": {
          "server_pool_name": {
            "type": "string",
            "minLength": 1,
            "title": "Server Pool Name"
          },
          "server_pool_type": {
            "$ref": "#/components/schemas/ServerPoolType"
          },
          "server_assignment_enabled": {
            "type": "boolean",
            "title": "Server Assignment Enabled",
            "description": "Whether individual users can be assigned to specific servers in this pool. Only valid for `SERVER_POOL` pools."
          },
          "labels": {
            "items": {
              "type": "string",
              "pattern": "^[^,]*$"
            },
            "type": "array",
            "title": "Labels"
          }
        },
        "type": "object",
        "title": "UpdateServerPoolRequest",
        "description": "Partial-update body for ``PATCH /api/admin/infrastructure/server-pools/{server_pool_id}``.\n\nA field omitted from the request is left unchanged. Every column here is\nNOT NULL, so an explicit ``null`` is rejected rather than silently\nignored; send ``[]`` to clear ``labels``."
      },
      "UpdateServerRequest": {
        "properties": {
          "server_type": {
            "$ref": "#/components/schemas/ServerType"
          },
          "hostname": {
            "type": "string",
            "minLength": 1,
            "title": "Hostname"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "agent_installed": {
            "type": "boolean",
            "title": "Agent Installed"
          },
          "is_draining": {
            "type": "boolean",
            "title": "Is Draining"
          },
          "connection_type": {
            "$ref": "#/components/schemas/ConnectionType"
          },
          "connection_port": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": -2147483648
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Port"
          },
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username"
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password"
          },
          "connection_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Private Key"
          },
          "connection_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Passphrase"
          },
          "use_user_private_key": {
            "type": "boolean",
            "title": "Use User Private Key"
          },
          "connection_credential_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectionCredentialType"
              },
              {
                "type": "null"
              }
            ]
          },
          "connection_sso_username_domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Sso Username Domain"
          },
          "connection_info": {
            "additionalProperties": true,
            "type": "object",
            "title": "Connection Info"
          },
          "max_simultaneous_sessions": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Sessions"
          },
          "max_simultaneous_users": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Simultaneous Users"
          },
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "labels": {
            "items": {
              "type": "string",
              "pattern": "^[^,]*$"
            },
            "type": "array",
            "title": "Labels"
          },
          "drain_time": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Drain Time"
          },
          "cores_override": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Cores Override"
          },
          "memory_override_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory Override Bytes"
          },
          "gpus_override": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Gpus Override"
          },
          "prune_images_mode": {
            "type": "string",
            "title": "Prune Images Mode"
          },
          "gpu_exclusions": {
            "$ref": "#/components/schemas/GpuExclusions"
          }
        },
        "type": "object",
        "title": "UpdateServerRequest",
        "description": "Partial update; omitted fields are unchanged. ``is_draining`` is the\ndrain toggle (autoscaled hosts/desktops only). ``memory_override``\n(deprecated) is rejected outright."
      },
      "UpdateServerTemplateRequest": {
        "properties": {
          "template_enabled": {
            "type": "boolean",
            "title": "Template Enabled"
          }
        },
        "type": "object",
        "title": "UpdateServerTemplateRequest",
        "description": "Partial-update body for `PATCH /api/admin/catalog/server-templates/{server_template_id}`.\n\nA field omitted from the request is left unchanged on the template.\n`template_enabled` has no \"cleared\" state (like `UpdateRegistryRequest.do_auto_update`),\nso an explicit `null` is rejected rather than silently treated as omitted."
      },
      "UpdateSettingRequest": {
        "properties": {
          "value": {
            "type": "string",
            "title": "Value"
          }
        },
        "type": "object",
        "required": [
          "value"
        ],
        "title": "UpdateSettingRequest",
        "description": "Request body for ``PATCH /api/admin/platform/settings/{setting_id}``.\n\n``value`` is always a string — settings are stored and coerced as\nstrings by the service (``int``/``float``/``bool``/``json`` parsing per\n``value_type``); an empty string is a legitimate value here, not the\ndropped clear-to-null convention used elsewhere."
      },
      "UpdateSsoAttributeMappingRequest": {
        "properties": {
          "attribute_name": {
            "type": "string",
            "minLength": 1,
            "title": "Attribute Name"
          },
          "user_field": {
            "$ref": "#/components/schemas/SsoUserField"
          }
        },
        "type": "object",
        "required": [
          "attribute_name",
          "user_field"
        ],
        "title": "UpdateSsoAttributeMappingRequest",
        "description": "Body for ``PATCH .../sso-configs/{sso_id}/attribute-mappings/{sso_attribute_id}``.\n\nBoth fields are required non-empty."
      },
      "UpdateSsoGroupMappingRequest": {
        "properties": {
          "sso_group_attributes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sso Group Attributes"
          },
          "apply_to_all_users": {
            "type": "boolean",
            "title": "Apply To All Users"
          }
        },
        "type": "object",
        "title": "UpdateSsoGroupMappingRequest",
        "description": "Body for ``PATCH /api/admin/identity/sso-group-mappings/{sso_group_id}``.\n\nAn omitted field is left unchanged; ``sso_group_attributes`` may be sent as\nnull to clear it. The mapping must still either apply to all users or name\ngroup attributes after the change -- the service checks the merged state."
      },
      "UpdateStagingConfigRequest": {
        "properties": {
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          },
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "num_sessions": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Num Sessions"
          },
          "expiration": {
            "type": "number",
            "exclusiveMinimum": 0,
            "title": "Expiration"
          },
          "server_pool_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Pool Id"
          },
          "autoscale_config_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Autoscale Config Id"
          },
          "allow_kasm_audio": {
            "type": "boolean",
            "title": "Allow Kasm Audio"
          },
          "allow_kasm_uploads": {
            "type": "boolean",
            "title": "Allow Kasm Uploads"
          },
          "allow_kasm_downloads": {
            "type": "boolean",
            "title": "Allow Kasm Downloads"
          },
          "allow_kasm_clipboard_down": {
            "type": "boolean",
            "title": "Allow Kasm Clipboard Down"
          },
          "allow_kasm_clipboard_up": {
            "type": "boolean",
            "title": "Allow Kasm Clipboard Up"
          },
          "allow_kasm_microphone": {
            "type": "boolean",
            "title": "Allow Kasm Microphone"
          },
          "allow_kasm_gamepad": {
            "type": "boolean",
            "title": "Allow Kasm Gamepad"
          },
          "allow_kasm_webcam": {
            "type": "boolean",
            "title": "Allow Kasm Webcam"
          },
          "allow_kasm_printing": {
            "type": "boolean",
            "title": "Allow Kasm Printing"
          },
          "allow_kasm_rdp_client_file_transfer_clipboard": {
            "type": "boolean",
            "title": "Allow Kasm Rdp Client File Transfer Clipboard"
          },
          "allow_kasm_smart_card_passthrough": {
            "type": "boolean",
            "title": "Allow Kasm Smart Card Passthrough"
          },
          "allow_kasm_webauthn_passthrough": {
            "type": "boolean",
            "title": "Allow Kasm Webauthn Passthrough"
          },
          "allow_kasm_ssh_agent_passthrough": {
            "type": "boolean",
            "title": "Allow Kasm Ssh Agent Passthrough"
          }
        },
        "type": "object",
        "title": "UpdateStagingConfigRequest",
        "description": "Partial-update body for\n`PATCH /api/admin/catalog/staging-configs/{staging_config_id}`.\n\nNo id field -- the path param is the only id. Omitted fields leave the\ncurrent value unchanged. `server_pool_id`/`autoscale_config_id` are\nnullable FKs, so an explicit `null` clears the relation. Every other\nfield has no legitimate cleared state, so an explicit `null` on it is\nrejected with 422."
      },
      "UpdateStorageMappingRequest": {
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "read_only": {
            "type": "boolean",
            "title": "Read Only"
          },
          "target": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(/|[a-zA-Z]:\\\\)"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target"
          },
          "webdav_user": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webdav User"
          },
          "webdav_pass": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webdav Pass"
          },
          "s3_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Access Key Id"
          },
          "s3_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Secret Access Key"
          },
          "s3_bucket": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Bucket"
          }
        },
        "type": "object",
        "title": "UpdateStorageMappingRequest",
        "description": "Partial-update body for\n`PATCH /api/providers/storage-mappings/{storage_mapping_id}`.\n\nOmitted fields keep their current value. An explicit `null` clears\n`target` (restoring the provider's `default_target`) or a credential\nfield, and is a 422 on `name`, `enabled` and `read_only`. Credential\nfields that do not belong to the mapping's provider type are ignored. The\nbound user/group/image cannot change -- delete and recreate to move a\nmapping. Masked secrets echoed back from a read are dropped rather than\nstored."
      },
      "UpdateStorageProviderRequest": {
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "title": "Name"
          },
          "default_target": {
            "type": "string",
            "pattern": "^(/|[a-zA-Z]:\\\\)",
            "title": "Default Target"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "client_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Id"
          },
          "client_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Secret"
          },
          "auth_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auth Url"
          },
          "token_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Token Url"
          },
          "webdav_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webdav Url"
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url"
          },
          "root_drive_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Root Drive Url"
          },
          "scope": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Scope"
          },
          "auth_url_options": {
            "additionalProperties": true,
            "type": "object",
            "title": "Auth Url Options"
          },
          "volume_config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Volume Config"
          },
          "mount_config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Mount Config"
          }
        },
        "type": "object",
        "title": "UpdateStorageProviderRequest",
        "description": "Partial-update body for\n`PATCH /api/admin/providers/storage-providers/{storage_provider_id}`.\n\nOmitted fields keep their current value. An explicit `null` clears the\noptional OAuth/WebDAV settings (`client_id`, `client_secret`, `auth_url`,\n`token_url`, `webdav_url`, `redirect_url`, `root_drive_url`) and is a 422\non every other field. The provider type is fixed at creation, since\nexisting mappings hold credentials shaped for it. A masked\n`client_secret` echoed back from a read is dropped rather than stored."
      },
      "UpdateUserAttributesRequest": {
        "properties": {
          "default_image": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Image"
          },
          "show_tips": {
            "type": "boolean",
            "title": "Show Tips"
          },
          "auto_login_kasm": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auto Login Kasm"
          },
          "toggle_control_panel": {
            "type": "boolean",
            "title": "Toggle Control Panel"
          },
          "theme": {
            "type": "string",
            "enum": [
              "Auto",
              "Dark",
              "Light"
            ],
            "title": "Theme"
          },
          "preferred_language": {
            "type": "string",
            "title": "Preferred Language"
          },
          "preferred_timezone": {
            "type": "string",
            "title": "Preferred Timezone"
          },
          "ssh_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ssh Private Key"
          },
          "ssh_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ssh Passphrase"
          }
        },
        "type": "object",
        "title": "UpdateUserAttributesRequest",
        "description": "``PATCH .../users/{user_id}/attributes`` request body.\n\n``ssh_private_key``/``ssh_passphrase`` are write-only: supplying a private\nkey derives both ``ssh_private_key`` (encoded) and ``ssh_public_key`` on\nthe stored record, and sending ``ssh_private_key: null`` clears both. They\nare never read back (see ``UserAttributesDetail``, which has no\nprivate-key field)."
      },
      "UpdateUserRequest": {
        "properties": {
          "username": {
            "type": "string",
            "title": "Username"
          },
          "password": {
            "type": "string",
            "title": "Password"
          },
          "company_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Company Id"
          },
          "program_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Program Id"
          },
          "first_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name"
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "organization": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Organization"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "City"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "custom_attribute_1": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 1"
          },
          "custom_attribute_2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 2"
          },
          "custom_attribute_3": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 3"
          },
          "set_two_factor": {
            "type": "boolean",
            "title": "Set Two Factor"
          },
          "reset_webauthn": {
            "type": "boolean",
            "title": "Reset Webauthn"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ],
            "title": "Status"
          },
          "realm": {
            "type": "string",
            "enum": [
              "local",
              "ldap",
              "oidc",
              "saml"
            ],
            "title": "Realm"
          },
          "locked": {
            "type": "boolean",
            "title": "Locked"
          },
          "disabled": {
            "type": "boolean",
            "title": "Disabled"
          },
          "force_password_reset": {
            "type": "boolean",
            "title": "Force Password Reset"
          },
          "crypt_password": {
            "type": "string",
            "title": "Crypt Password"
          },
          "crypt_salt": {
            "type": "string",
            "title": "Crypt Salt"
          }
        },
        "type": "object",
        "title": "UpdateUserRequest",
        "description": "The update-user request body (``PATCH .../users/{user_id}``).\n\nAn omitted field is left unchanged; profile fields may be sent as null to clear them. Fields\nmarked admin-only below are ignored unless the caller holds ``USERS_MODIFY`` on the target\nuser, so users editing themselves cannot set them."
      },
      "UpdateVmProviderConfigRequest": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AzureVmConfigUpdate"
          },
          {
            "$ref": "#/components/schemas/AwsVmConfigUpdate"
          },
          {
            "$ref": "#/components/schemas/DigitalOceanVmConfigUpdate"
          },
          {
            "$ref": "#/components/schemas/OciVmConfigUpdate"
          },
          {
            "$ref": "#/components/schemas/GcpVmConfigUpdate"
          },
          {
            "$ref": "#/components/schemas/VsphereVmConfigUpdate"
          },
          {
            "$ref": "#/components/schemas/OpenstackVmConfigUpdate"
          },
          {
            "$ref": "#/components/schemas/KubevirtVmConfigUpdate"
          },
          {
            "$ref": "#/components/schemas/HarvesterVmConfigUpdate"
          },
          {
            "$ref": "#/components/schemas/ProxmoxVmConfigUpdate"
          },
          {
            "$ref": "#/components/schemas/NutanixVmConfigUpdate"
          }
        ],
        "title": "UpdateVmProviderConfigRequest",
        "description": "``PATCH`` request body: the update union, named for the spec.\n\nWraps :data:`AnyUpdateVmProviderConfig`. See\n:class:`CreateVmProviderConfigRequest` on the naming.",
        "discriminator": {
          "propertyName": "vm_provider_name",
          "mapping": {
            "AWS": "#/components/schemas/AwsVmConfigUpdate",
            "AZURE": "#/components/schemas/AzureVmConfigUpdate",
            "DIGITAL_OCEAN": "#/components/schemas/DigitalOceanVmConfigUpdate",
            "GCP": "#/components/schemas/GcpVmConfigUpdate",
            "HARVESTER": "#/components/schemas/HarvesterVmConfigUpdate",
            "KUBEVIRT": "#/components/schemas/KubevirtVmConfigUpdate",
            "NUTANIX": "#/components/schemas/NutanixVmConfigUpdate",
            "OCI": "#/components/schemas/OciVmConfigUpdate",
            "OPENSTACK": "#/components/schemas/OpenstackVmConfigUpdate",
            "PROXMOX": "#/components/schemas/ProxmoxVmConfigUpdate",
            "VSPHERE": "#/components/schemas/VsphereVmConfigUpdate"
          }
        }
      },
      "UpdateWebFilterPolicyRequest": {
        "properties": {
          "filter_policy_name": {
            "type": "string",
            "minLength": 1,
            "title": "Filter Policy Name"
          },
          "filter_policy_descriptions": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter Policy Descriptions"
          },
          "categories": {
            "additionalProperties": {
              "$ref": "#/components/schemas/WebFilterCategoryAction"
            },
            "type": "object",
            "title": "Categories"
          },
          "domain_blacklist": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Domain Blacklist"
          },
          "domain_whitelist": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Domain Whitelist"
          },
          "deny_by_default": {
            "type": "boolean",
            "title": "Deny By Default"
          },
          "enable_categorization": {
            "type": "boolean",
            "title": "Enable Categorization"
          },
          "ssl_bypass_domains": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Ssl Bypass Domains"
          },
          "ssl_bypass_ips": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Ssl Bypass Ips"
          },
          "enable_safe_search": {
            "type": "boolean",
            "title": "Enable Safe Search"
          },
          "safe_search_patterns": {
            "items": {
              "$ref": "#/components/schemas/SafeSearchPattern"
            },
            "type": "array",
            "title": "Safe Search Patterns"
          },
          "disable_logging": {
            "type": "boolean",
            "title": "Disable Logging"
          }
        },
        "type": "object",
        "title": "UpdateWebFilterPolicyRequest",
        "description": "Partial-update body for ``PATCH .../web-filter-policies/{filter_policy_id}``.\n\nOmitted fields are left unchanged. Only ``filter_policy_descriptions`` may\nbe cleared with an explicit ``null``; every other field rejects ``null``\n(422) because its column is NOT NULL."
      },
      "UpdateZoneRequest": {
        "properties": {
          "zone_name": {
            "type": "string",
            "minLength": 1,
            "title": "Zone Name"
          },
          "load_strategy": {
            "$ref": "#/components/schemas/LOAD_STRATEGY",
            "title": "Load Strategy"
          },
          "proxy_load_strategy": {
            "type": "string",
            "enum": [
              "least_proxy_kasms",
              "most_proxy_kasms",
              "random",
              "least_proxy_load",
              "most_proxy_load"
            ],
            "title": "Proxy Load Strategy"
          },
          "search_alternate_zones": {
            "type": "boolean",
            "title": "Search Alternate Zones"
          },
          "prioritize_static_agents": {
            "type": "boolean",
            "title": "Prioritize Static Agents"
          },
          "allow_origin_domain": {
            "type": "string",
            "title": "Allow Origin Domain"
          },
          "upstream_auth_address": {
            "type": "string",
            "title": "Upstream Auth Address"
          },
          "proxy_connections": {
            "type": "boolean",
            "title": "Proxy Connections"
          },
          "proxy_rdp_client_connections": {
            "type": "boolean",
            "title": "Proxy Rdp Client Connections"
          },
          "proxy_hostname": {
            "type": "string",
            "title": "Proxy Hostname"
          },
          "proxy_path": {
            "type": "string",
            "title": "Proxy Path"
          },
          "proxy_port": {
            "type": "integer",
            "maximum": 65535,
            "minimum": 0,
            "title": "Proxy Port"
          },
          "verify_rdp_client_ip": {
            "type": "boolean",
            "title": "Verify Rdp Client Ip"
          },
          "enable_rdp_https_gw": {
            "type": "boolean",
            "title": "Enable Rdp Https Gw"
          },
          "proxy_rdp_hostname": {
            "type": "string",
            "title": "Proxy Rdp Hostname"
          },
          "proxy_rdp_port": {
            "type": "integer",
            "maximum": 65535,
            "minimum": 0,
            "title": "Proxy Rdp Port"
          },
          "enable_rdp_https_gw_dlp": {
            "type": "boolean",
            "title": "Enable Rdp Https Gw Dlp"
          },
          "enable_rdp_direct_login": {
            "type": "boolean",
            "title": "Enable Rdp Direct Login"
          },
          "labels": {
            "items": {
              "type": "string",
              "pattern": "^[^,]*$"
            },
            "type": "array",
            "title": "Labels"
          }
        },
        "type": "object",
        "title": "UpdateZoneRequest",
        "description": "The update-zone request body; the zone id rides the URL path. Every zones\ncolumn is NOT NULL, so no field can be cleared: a field may be omitted\n(left unchanged) but not sent as null."
      },
      "UrlCacheConfig": {
        "properties": {
          "deny_by_default": {
            "type": "boolean",
            "title": "Deny By Default"
          },
          "enable_categorization": {
            "type": "boolean",
            "title": "Enable Categorization"
          },
          "redirect_url": {
            "type": "string",
            "title": "Redirect Url"
          },
          "ssl_bypass_domains": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Ssl Bypass Domains"
          },
          "ssl_bypass_ips": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Ssl Bypass Ips"
          },
          "safe_search_patterns": {
            "items": {
              "$ref": "#/components/schemas/SafeSearchPattern"
            },
            "type": "array",
            "title": "Safe Search Patterns"
          },
          "disable_logging": {
            "type": "boolean",
            "title": "Disable Logging"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "deny_by_default",
          "enable_categorization",
          "redirect_url",
          "ssl_bypass_domains",
          "ssl_bypass_ips",
          "safe_search_patterns",
          "disable_logging"
        ],
        "title": "UrlCacheConfig"
      },
      "UrlCacheEntry": {
        "properties": {
          "allow": {
            "type": "boolean",
            "title": "Allow"
          },
          "category": {
            "type": "string",
            "title": "Category"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "allow",
          "category"
        ],
        "title": "UrlCacheEntry"
      },
      "UrlCacheResponse": {
        "properties": {
          "config": {
            "$ref": "#/components/schemas/UrlCacheConfig"
          },
          "cache": {
            "additionalProperties": {
              "$ref": "#/components/schemas/UrlCacheEntry"
            },
            "type": "object",
            "title": "Cache"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "config",
          "cache"
        ],
        "title": "UrlCacheResponse",
        "description": "Policy config plus a domain → decision seed cache for the in-session proxy."
      },
      "UrlCheckRequest": {
        "properties": {
          "url": {
            "type": "string",
            "minLength": 1,
            "title": "Url"
          }
        },
        "type": "object",
        "required": [
          "url"
        ],
        "title": "UrlCheckRequest"
      },
      "UrlCheckResponse": {
        "properties": {
          "allow": {
            "type": "boolean",
            "title": "Allow"
          },
          "category": {
            "type": "string",
            "title": "Category"
          },
          "cache": {
            "type": "string",
            "title": "Cache"
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "allow",
          "category",
          "cache"
        ],
        "title": "UrlCheckResponse",
        "description": "Allow/deny decision for one URL. ``cache`` is the most specific domain the\ndecision applies to (the proxy caches by it); ``redirect_url`` only on deny."
      },
      "UsageLimit": {
        "properties": {
          "type": {
            "type": "string",
            "title": "Type"
          },
          "interval": {
            "type": "string",
            "title": "Interval"
          },
          "hours": {
            "type": "number",
            "title": "Hours"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "type",
          "interval",
          "hours"
        ],
        "title": "UsageLimit",
        "description": "A user's configured usage-limit setting (``usage_limit`` group setting)."
      },
      "UsageSummary": {
        "properties": {
          "usage_limit": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UsageLimit"
              },
              {
                "type": "null"
              }
            ]
          },
          "usage_limit_remaining": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Usage Limit Remaining"
          },
          "usage_limit_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Usage Limit Type"
          },
          "usage_limit_interval": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Usage Limit Interval"
          },
          "usage_limit_hours": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Usage Limit Hours"
          },
          "usage_limit_start_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Usage Limit Start Date"
          },
          "usage_limit_next_start_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Usage Limit Next Start Date"
          },
          "group_metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Metadata"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "UsageSummary",
        "description": "Usage-limit summary for a user. All fields beyond ``usage_limit`` are\n``None`` when the user has no usage limit configured. The two window\ndates are also ``None`` for the all-time (``total``) interval, which has\nno meaningful start."
      },
      "UserAssignedServerRef": {
        "properties": {
          "server_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Id"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "server_assignment_enabled": {
            "type": "boolean",
            "title": "Server Assignment Enabled"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_id",
          "hostname",
          "friendly_name",
          "server_assignment_enabled"
        ],
        "title": "UserAssignedServerRef",
        "description": "Server directly assigned to a user."
      },
      "UserAttributesDetail": {
        "properties": {
          "user_attributes_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Attributes Id"
          },
          "default_image": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Image"
          },
          "show_tips": {
            "type": "boolean",
            "title": "Show Tips"
          },
          "auto_login_kasm": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auto Login Kasm"
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "toggle_control_panel": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Toggle Control Panel"
          },
          "theme": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Theme"
          },
          "ssh_public_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ssh Public Key"
          },
          "preferred_language": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preferred Language"
          },
          "preferred_timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preferred Timezone"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "user_attributes_id",
          "default_image",
          "show_tips",
          "auto_login_kasm",
          "user_id",
          "toggle_control_panel",
          "theme",
          "ssh_public_key",
          "preferred_language",
          "preferred_timezone"
        ],
        "title": "UserAttributesDetail",
        "description": "The caller's self-service profile attributes.\n\n``GET .../users/{user_id}/attributes`` response."
      },
      "UserAuthSettings": {
        "properties": {
          "allow_2fa_self_enrollment": {
            "type": "boolean",
            "title": "Allow 2Fa Self Enrollment"
          },
          "allow_webauthn_2fa": {
            "type": "boolean",
            "title": "Allow Webauthn 2Fa"
          },
          "allow_totp_2fa": {
            "type": "boolean",
            "title": "Allow Totp 2Fa"
          },
          "set_two_factor": {
            "type": "boolean",
            "title": "Set Two Factor"
          },
          "set_webauthn": {
            "type": "boolean",
            "title": "Set Webauthn"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "allow_2fa_self_enrollment",
          "allow_webauthn_2fa",
          "allow_totp_2fa",
          "set_two_factor",
          "set_webauthn"
        ],
        "title": "UserAuthSettings",
        "description": "``GET /api/identity/user-auth-settings`` response — always the\ncaller's own settings, never another user's."
      },
      "UserBatchImport": {
        "properties": {
          "file_content": {
            "type": "string",
            "contentMediaType": "application/octet-stream",
            "title": "File Content",
            "description": "CSV file of users to create."
          }
        },
        "type": "object",
        "required": [
          "file_content"
        ],
        "title": "UserBatchImport"
      },
      "UserDetail": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "username": {
            "type": "string",
            "title": "Username"
          },
          "locked": {
            "type": "boolean",
            "title": "Locked"
          },
          "disabled": {
            "type": "boolean",
            "title": "Disabled"
          },
          "last_session": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Session"
          },
          "groups": {
            "items": {
              "$ref": "#/components/schemas/UserGroupRef"
            },
            "type": "array",
            "title": "Groups"
          },
          "first_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name"
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "organization": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Organization"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "sessions": {
            "items": {
              "$ref": "#/components/schemas/UserSessionSummary"
            },
            "type": "array",
            "title": "Sessions"
          },
          "assigned_servers": {
            "items": {
              "$ref": "#/components/schemas/UserAssignedServerRef"
            },
            "type": "array",
            "title": "Assigned Servers"
          },
          "realm": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Realm"
          },
          "two_factor": {
            "type": "boolean",
            "title": "Two Factor"
          },
          "program_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Program Id"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "password_set_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Password Set Date"
          },
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "City"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "custom_attribute_1": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 1"
          },
          "custom_attribute_2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 2"
          },
          "custom_attribute_3": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Attribute 3"
          },
          "crypt_password": {
            "type": "string",
            "const": "********",
            "title": "Crypt Password"
          },
          "crypt_salt": {
            "type": "string",
            "const": "********",
            "title": "Crypt Salt"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "user_id",
          "username",
          "locked",
          "disabled",
          "last_session",
          "groups",
          "first_name",
          "last_name",
          "phone",
          "organization",
          "notes",
          "sessions",
          "assigned_servers",
          "realm",
          "two_factor",
          "program_id",
          "created",
          "password_set_date",
          "city",
          "state",
          "country",
          "email",
          "custom_attribute_1",
          "custom_attribute_2",
          "custom_attribute_3",
          "crypt_password",
          "crypt_salt"
        ],
        "title": "UserDetail",
        "description": "Full single-user record — the ``GET .../users/{user_id}`` (and\n``GET /api/identity/users?username=``) row.\n\nA superset of ``UserSummary``, adding fields only a single-user fetch\nreturns (``two_factor``, ``program_id``, ``password_set_date``, address\nfields, custom attributes); kept as its own model rather than folding\nthese onto the list-item ``UserSummary``."
      },
      "UserEffectiveSetting": {
        "properties": {
          "group_setting_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Setting Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "value": {
            "title": "Value"
          },
          "value_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value Type"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "group_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "group_setting_id",
          "name",
          "value",
          "value_type",
          "description",
          "group_id"
        ],
        "title": "UserEffectiveSetting",
        "description": "One group setting with its value resolved for a specific user."
      },
      "UserGroupRef": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name",
          "group_id"
        ],
        "title": "UserGroupRef",
        "description": "Group membership reference returned inside a user summary."
      },
      "UserImageSummary": {
        "properties": {
          "image_id": {
            "type": "string",
            "format": "uuid",
            "title": "Image Id"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "image_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Src"
          },
          "available": {
            "type": "boolean",
            "title": "Available"
          },
          "unavailable_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Unavailable Message"
          },
          "cores": {
            "type": "number",
            "title": "Cores"
          },
          "memory_bytes": {
            "type": "integer",
            "title": "Memory Bytes"
          },
          "memory_friendly": {
            "type": "string",
            "title": "Memory Friendly"
          },
          "persistent_profile_settings": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Persistent Profile Settings"
          },
          "zones": {
            "items": {
              "$ref": "#/components/schemas/ZoneRef"
            },
            "type": "array",
            "title": "Zones"
          },
          "networks": {
            "items": {
              "$ref": "#/components/schemas/NetworkRef"
            },
            "type": "array",
            "title": "Networks"
          },
          "categories": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Categories"
          },
          "default_category": {
            "type": "string",
            "title": "Default Category"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "hidden": {
            "type": "boolean",
            "title": "Hidden"
          },
          "image_type": {
            "type": "string",
            "title": "Image Type"
          },
          "link_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Link Url"
          },
          "launch_config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Launch Config"
          },
          "rdp_client_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rdp Client Type"
          },
          "override_egress_gateways": {
            "type": "boolean",
            "title": "Override Egress Gateways"
          },
          "enforce_workspace_persistence": {
            "type": "boolean",
            "title": "Enforce Workspace Persistence"
          },
          "assigned_servers": {
            "items": {
              "$ref": "#/components/schemas/AssignedServerRef"
            },
            "type": "array",
            "title": "Assigned Servers"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "image_id",
          "available",
          "cores",
          "memory_bytes",
          "memory_friendly",
          "persistent_profile_settings",
          "zones",
          "networks",
          "categories",
          "default_category",
          "enabled",
          "hidden",
          "image_type",
          "launch_config",
          "override_egress_gateways",
          "enforce_workspace_persistence",
          "assigned_servers"
        ],
        "title": "UserImageSummary",
        "description": "Per-image entry in `get_user_images` — a user-facing launcher view,\ndistinct from the admin `ImageSummary`."
      },
      "UserLoginUrlResponse": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "username": {
            "type": "string",
            "title": "Username"
          },
          "session_token": {
            "type": "string",
            "title": "Session Token"
          },
          "connect_url": {
            "type": "string",
            "title": "Connect Url"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expires At"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "user_id",
          "username",
          "session_token",
          "connect_url",
          "expires_at"
        ],
        "title": "UserLoginUrlResponse",
        "description": "``POST /api/admin/identity/users/{user_id}/login-urls``: a fresh\nlogin-session JWT and the ``connect_url`` that logs the user into their\ndashboard. Every call persists a new revocable ``session_tokens`` row."
      },
      "UserPermissionSummary": {
        "properties": {
          "group_permission_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Permission Id"
          },
          "group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Group Id"
          },
          "permission_name": {
            "type": "string",
            "title": "Permission Name",
            "description": "Stable permission identifier, matching PermissionDefinition.name."
          },
          "permission_friendly_name": {
            "type": "string",
            "title": "Permission Friendly Name",
            "description": "Display name, matching PermissionDefinition.friendly_name."
          },
          "permission_description": {
            "type": "string",
            "title": "Permission Description"
          },
          "permission_id": {
            "type": "integer",
            "title": "Permission Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "group_permission_id",
          "group_id",
          "permission_name",
          "permission_friendly_name",
          "permission_description",
          "permission_id"
        ],
        "title": "UserPermissionSummary",
        "description": "One resolved group-permission grant in ``GET .../users/{user_id}/permissions``.\n\nSame field semantics as ``PermissionGrant``. May be superseded by a shared ``PermissionGrant`` type once the Permissions\ndomain migrates ``get_permissions_group``, which serializes the identical\nrow shape."
      },
      "UserRef": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "username": {
            "type": "string",
            "title": "Username"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "user_id",
          "username"
        ],
        "title": "UserRef",
        "description": "A user's id and username, embedded in another resource's response."
      },
      "UserServerAssignment": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "server_id": {
            "type": "string",
            "format": "uuid",
            "title": "Server Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "user_id",
          "server_id"
        ],
        "title": "UserServerAssignment"
      },
      "UserSessionServerRef": {
        "properties": {
          "server_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Server Id"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Port"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "server_id",
          "hostname",
          "port"
        ],
        "title": "UserSessionServerRef",
        "description": "Nested server reference inside a user's active session."
      },
      "UserSessionSummary": {
        "properties": {
          "session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Session Id"
          },
          "start_date": {
            "type": "string",
            "format": "date-time",
            "title": "Start Date"
          },
          "keepalive_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Keepalive Date"
          },
          "expiration_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiration Date"
          },
          "server": {
            "$ref": "#/components/schemas/UserSessionServerRef"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_id",
          "start_date",
          "keepalive_date",
          "expiration_date",
          "server"
        ],
        "title": "UserSessionSummary",
        "description": "One active session belonging to a user."
      },
      "UserSessionUsageRow": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "avg_session_length": {
            "type": "number",
            "title": "Avg Session Length"
          },
          "session_length": {
            "type": "number",
            "title": "Session Length"
          },
          "longest_session": {
            "type": "number",
            "title": "Longest Session"
          },
          "shortest_session": {
            "type": "number",
            "title": "Shortest Session"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name",
          "avg_session_length",
          "session_length",
          "longest_session",
          "shortest_session"
        ],
        "title": "UserSessionUsageRow"
      },
      "UserSummary": {
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "username": {
            "type": "string",
            "title": "Username"
          },
          "anonymous": {
            "type": "boolean",
            "title": "Anonymous"
          },
          "locked": {
            "type": "boolean",
            "title": "Locked"
          },
          "disabled": {
            "type": "boolean",
            "title": "Disabled"
          },
          "last_session": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Session"
          },
          "groups": {
            "items": {
              "$ref": "#/components/schemas/UserGroupRef"
            },
            "type": "array",
            "title": "Groups"
          },
          "first_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name"
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "organization": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Organization"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "sessions": {
            "items": {
              "$ref": "#/components/schemas/UserSessionSummary"
            },
            "type": "array",
            "title": "Sessions"
          },
          "realm": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Realm"
          },
          "company": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CompanySummary"
              },
              {
                "type": "null"
              }
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "assigned_servers": {
            "items": {
              "$ref": "#/components/schemas/UserAssignedServerRef"
            },
            "type": "array",
            "title": "Assigned Servers"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "user_id",
          "username",
          "anonymous",
          "locked",
          "disabled",
          "last_session",
          "groups",
          "first_name",
          "last_name",
          "phone",
          "organization",
          "notes",
          "sessions",
          "realm",
          "company",
          "created",
          "assigned_servers"
        ],
        "title": "UserSummary",
        "description": "Per-row DTO in the paginated user list response."
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "VerifyPasswordRequest": {
        "properties": {
          "password": {
            "type": "string",
            "title": "Password"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "password"
        ],
        "title": "VerifyPasswordRequest",
        "description": "Body for ``POST /api/auth/password/verify``.\n\nThe caller is always the authenticated user (from ``AuthContext``);\nthere is no ``username`` field."
      },
      "VerifyTotpEnrollmentRequest": {
        "properties": {
          "password": {
            "type": "string",
            "title": "Password"
          },
          "code": {
            "type": "string",
            "title": "Code"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "password",
          "code"
        ],
        "title": "VerifyTotpEnrollmentRequest",
        "description": "Body for ``POST /api/auth/totp/enrollment/verify``.\n\n``username`` follows the same rule as ``StartTotpEnrollmentRequest``."
      },
      "VerifyWebAuthnEnrollmentRequest": {
        "properties": {
          "credential": {
            "additionalProperties": true,
            "type": "object",
            "title": "Credential"
          },
          "request_id": {
            "type": "string",
            "title": "Request Id"
          },
          "password": {
            "type": "string",
            "title": "Password"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "credential",
          "request_id",
          "password"
        ],
        "title": "VerifyWebAuthnEnrollmentRequest",
        "description": "Body for ``POST /api/auth/webauthn/enrollment/verify``.\n\n``credential`` is the attestation the browser produced; ``username``\nfollows the same rule as ``StartWebAuthnEnrollmentRequest``."
      },
      "VmProviderConfigResponse": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AzureVmConfig"
          },
          {
            "$ref": "#/components/schemas/AwsVmConfig"
          },
          {
            "$ref": "#/components/schemas/DigitalOceanVmConfig"
          },
          {
            "$ref": "#/components/schemas/OciVmConfig"
          },
          {
            "$ref": "#/components/schemas/GcpVmConfig"
          },
          {
            "$ref": "#/components/schemas/VsphereVmConfig"
          },
          {
            "$ref": "#/components/schemas/OpenstackVmConfig"
          },
          {
            "$ref": "#/components/schemas/KubevirtVmConfig"
          },
          {
            "$ref": "#/components/schemas/HarvesterVmConfig"
          },
          {
            "$ref": "#/components/schemas/ProxmoxVmConfig"
          },
          {
            "$ref": "#/components/schemas/NutanixVmConfig"
          }
        ],
        "title": "VmProviderConfigResponse",
        "description": "Response body for a single VM provider config: the tagged union, named.\n\nWraps :data:`AnyVmProviderConfig` so the ``oneOf``/``discriminator`` schema\ngets its own entry in ``components/schemas`` rather than being inlined\nper operation.",
        "discriminator": {
          "propertyName": "vm_provider_name",
          "mapping": {
            "AWS": "#/components/schemas/AwsVmConfig",
            "AZURE": "#/components/schemas/AzureVmConfig",
            "DIGITAL_OCEAN": "#/components/schemas/DigitalOceanVmConfig",
            "GCP": "#/components/schemas/GcpVmConfig",
            "HARVESTER": "#/components/schemas/HarvesterVmConfig",
            "KUBEVIRT": "#/components/schemas/KubevirtVmConfig",
            "NUTANIX": "#/components/schemas/NutanixVmConfig",
            "OCI": "#/components/schemas/OciVmConfig",
            "OPENSTACK": "#/components/schemas/OpenstackVmConfig",
            "PROXMOX": "#/components/schemas/ProxmoxVmConfig",
            "VSPHERE": "#/components/schemas/VsphereVmConfig"
          }
        }
      },
      "VmProviderConfigSummary": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id"
          },
          "vm_provider_name": {
            "$ref": "#/components/schemas/VmProviderName",
            "description": "Provider the config belongs to, e.g. `AWS`. Pass as `?vm_provider_name=` to fetch the config from the vm-configs routes."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_name",
          "vm_provider_display_name"
        ],
        "title": "VmProviderConfigSummary",
        "description": "Inline VM-provider reference, embedded in an autoscale config.\n\nCarries the ``{id, vm_provider_name}`` pair the id-scoped vm-configs routes\nneed, since the id alone does not identify a row."
      },
      "VmProviderName": {
        "type": "string",
        "enum": [
          "HARVESTER",
          "KUBEVIRT",
          "AWS",
          "AZURE",
          "DIGITAL_OCEAN",
          "GCP",
          "OCI",
          "OPENSTACK",
          "PROXMOX",
          "VSPHERE",
          "NUTANIX"
        ],
        "title": "VmProviderName",
        "description": "A VM provider that has its own config table."
      },
      "VncSettings": {
        "properties": {
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username",
            "description": "Username VNC logs the session in as."
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password",
            "description": "Password for `connection_username`. Serialized back as a `\"****\"` placeholder, never the real value."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "VncSettings",
        "description": "``vnc_settings`` — populated when ``connection_type`` is ``\"VNC\"``."
      },
      "VncSettingsCreate": {
        "properties": {
          "connection_username": {
            "type": "string",
            "title": "Connection Username",
            "description": "Username VNC logs the session in as."
          },
          "connection_password": {
            "type": "string",
            "title": "Connection Password",
            "description": "Password for `connection_username`."
          }
        },
        "type": "object",
        "required": [
          "connection_username",
          "connection_password"
        ],
        "title": "VncSettingsCreate",
        "description": "``vnc_settings`` on create. Both fields required."
      },
      "VncSettingsUpdate": {
        "properties": {
          "connection_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Username",
            "description": "Username VNC logs the session in as. Omit to leave unchanged."
          },
          "connection_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Password",
            "description": "Password for `connection_username`. Omit to leave unchanged."
          }
        },
        "type": "object",
        "title": "VncSettingsUpdate",
        "description": "``vnc_settings`` on update — every field optional."
      },
      "VsphereVmConfig": {
        "properties": {
          "vm_provider_config_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vm Provider Config Id",
            "description": "Primary key of the backing provider-specific config row."
          },
          "vm_provider_display_name": {
            "type": "string",
            "title": "Vm Provider Display Name",
            "description": "Human-readable provider name, e.g. `Amazon Web Services`."
          },
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "config_name": {
            "type": "string",
            "title": "Config Name",
            "description": "Backing column for `vm_provider_config_name`; same value."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "VSPHERE",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "vsphere_vcenter_address": {
            "type": "string",
            "title": "Vsphere Vcenter Address",
            "description": "The IP address or FQDN of the VMware vSphere vCenter server to connect to."
          },
          "vsphere_vcenter_port": {
            "type": "integer",
            "title": "Vsphere Vcenter Port",
            "description": "The management port of the vCenter server, typically 443."
          },
          "vsphere_vcenter_username": {
            "type": "string",
            "title": "Vsphere Vcenter Username",
            "description": "The username used to authenticate with the vSphere vCenter server."
          },
          "vsphere_vcenter_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vcenter Password",
            "description": "The password used to authenticate with the vSphere vCenter server."
          },
          "vsphere_clone_type": {
            "type": "string",
            "enum": [
              "template",
              "linked",
              "instant"
            ],
            "title": "Vsphere Clone Type",
            "description": "The cloning method used to provision new VMs: a full clone from a template, a linked clone from a VM snapshot, or an instant clone from a frozen parent VM."
          },
          "vsphere_template_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Template Name",
            "description": "The name of the template VM to clone from; used only when vsphere_clone_type is 'template'."
          },
          "vsphere_vm_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vm Name",
            "description": "The name of the source VM to clone from: the VM holding the snapshot for linked clones, or the frozen parent VM for instant clones."
          },
          "vsphere_vm_snapshot_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vm Snapshot Name",
            "description": "The name of the snapshot on the source VM to use for linked clones."
          },
          "vsphere_datacenter_name": {
            "type": "string",
            "title": "Vsphere Datacenter Name",
            "description": "The vSphere datacenter to use when cloning new VM instances."
          },
          "vsphere_vm_folder": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vm Folder",
            "description": "The VM folder to place new VM instances in; if omitted, the template's VM folder is used."
          },
          "vsphere_datastore_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Datastore Name",
            "description": "The datastore (or datastore cluster, when vsphere_use_datastore_cluster is enabled) to use for new VM instances; if omitted, the source VM's datastore is used."
          },
          "vsphere_use_datastore_cluster": {
            "type": "boolean",
            "title": "Vsphere Use Datastore Cluster",
            "description": "When enabled, treats vsphere_datastore_name as a datastore cluster name and lets vSphere recommend the optimal datastore for each clone; only applies to full clones."
          },
          "vsphere_cluster_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Cluster Name",
            "description": "The vSphere cluster to use when cloning new VM instances; if omitted, the template's cluster is used."
          },
          "vsphere_resource_pool": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Resource Pool",
            "description": "The resource pool to use when cloning new VM instances; if omitted, the template's resource pool is used."
          },
          "vsphere_startup_script_method": {
            "type": "string",
            "enum": [
              "vmware_cloud_init",
              "vmware_guest_operations"
            ],
            "title": "Vsphere Startup Script Method",
            "description": "How the startup script is executed on new VM instances: via cloud-init/cloudbase-init at first boot, or via the VMware Tools Guest Operations API after boot."
          },
          "vsphere_os_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Os Username",
            "description": "The guest VM username used to run the startup script; required for the VMware Guest Operations startup method and for instant clones."
          },
          "vsphere_os_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Os Password",
            "description": "The guest VM password used to run the startup script; required for the VMware Guest Operations startup method and for instant clones."
          },
          "vsphere_cpus": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Cpus",
            "description": "The number of CPUs to configure on new VM instances; not used for instant clones, which inherit the frozen parent VM's CPU configuration."
          },
          "vsphere_memory_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Memory Bytes",
            "description": "The amount of memory, in bytes, to configure on new VM instances; not used for instant clones, which inherit the frozen parent VM's memory configuration."
          },
          "vsphere_installed_OS_type": {
            "type": "string",
            "title": "Vsphere Installed Os Type",
            "description": "The OS family (Linux or Windows) installed on the source VM or template, needed to run the startup script correctly."
          },
          "vm_public_ssh_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Public Ssh Key",
            "description": "A public SSH key added to the autoscale agent, made available to the startup script."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "vm_provider_config_id",
          "vm_provider_display_name",
          "vm_provider_config_name",
          "config_name",
          "vm_provider_name",
          "max_instances",
          "vsphere_vcenter_address",
          "vsphere_vcenter_port",
          "vsphere_vcenter_username",
          "vsphere_clone_type",
          "vsphere_datacenter_name",
          "vsphere_use_datastore_cluster",
          "vsphere_startup_script_method",
          "vsphere_installed_OS_type"
        ],
        "title": "VsphereVmConfig",
        "description": "`GET` response for a vSphere VM provider config."
      },
      "VsphereVmConfigCreate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "VSPHERE",
            "title": "Vm Provider Name"
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider."
          },
          "vsphere_vcenter_address": {
            "type": "string",
            "title": "Vsphere Vcenter Address",
            "description": "The IP address or FQDN of the VMware vSphere vCenter server to connect to."
          },
          "vsphere_vcenter_port": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Vsphere Vcenter Port",
            "description": "The management port of the vCenter server, typically 443."
          },
          "vsphere_vcenter_username": {
            "type": "string",
            "title": "Vsphere Vcenter Username",
            "description": "The username used to authenticate with the vSphere vCenter server."
          },
          "vsphere_vcenter_password": {
            "type": "string",
            "title": "Vsphere Vcenter Password",
            "description": "The password used to authenticate with the vSphere vCenter server."
          },
          "vsphere_clone_type": {
            "type": "string",
            "enum": [
              "template",
              "linked",
              "instant"
            ],
            "title": "Vsphere Clone Type",
            "description": "The cloning method used to provision new VMs: a full clone from a template, a linked clone from a VM snapshot, or an instant clone from a frozen parent VM.",
            "default": "template"
          },
          "vsphere_template_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Template Name",
            "description": "The name of the template VM to clone from; used only when vsphere_clone_type is 'template'."
          },
          "vsphere_vm_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vm Name",
            "description": "The name of the source VM to clone from: the VM holding the snapshot for linked clones, or the frozen parent VM for instant clones."
          },
          "vsphere_vm_snapshot_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vm Snapshot Name",
            "description": "The name of the snapshot on the source VM to use for linked clones."
          },
          "vsphere_datacenter_name": {
            "type": "string",
            "title": "Vsphere Datacenter Name",
            "description": "The vSphere datacenter to use when cloning new VM instances."
          },
          "vsphere_vm_folder": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vm Folder",
            "description": "The VM folder to place new VM instances in; if omitted, the template's VM folder is used."
          },
          "vsphere_datastore_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Datastore Name",
            "description": "The datastore (or datastore cluster, when vsphere_use_datastore_cluster is enabled) to use for new VM instances; if omitted, the source VM's datastore is used."
          },
          "vsphere_use_datastore_cluster": {
            "type": "boolean",
            "title": "Vsphere Use Datastore Cluster",
            "description": "When enabled, treats vsphere_datastore_name as a datastore cluster name and lets vSphere recommend the optimal datastore for each clone; only applies to full clones.",
            "default": false
          },
          "vsphere_cluster_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Cluster Name",
            "description": "The vSphere cluster to use when cloning new VM instances; if omitted, the template's cluster is used."
          },
          "vsphere_resource_pool": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Resource Pool",
            "description": "The resource pool to use when cloning new VM instances; if omitted, the template's resource pool is used."
          },
          "vsphere_startup_script_method": {
            "type": "string",
            "enum": [
              "vmware_cloud_init",
              "vmware_guest_operations"
            ],
            "title": "Vsphere Startup Script Method",
            "description": "How the startup script is executed on new VM instances: via cloud-init/cloudbase-init at first boot, or via the VMware Tools Guest Operations API after boot.",
            "default": "vmware_cloud_init"
          },
          "vsphere_os_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Os Username",
            "description": "The guest VM username used to run the startup script; required for the VMware Guest Operations startup method and for instant clones."
          },
          "vsphere_os_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Os Password",
            "description": "The guest VM password used to run the startup script; required for the VMware Guest Operations startup method and for instant clones."
          },
          "vsphere_cpus": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Cpus",
            "description": "The number of CPUs to configure on new VM instances; not used for instant clones, which inherit the frozen parent VM's CPU configuration."
          },
          "vsphere_memory_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Memory Bytes",
            "description": "The amount of memory, in bytes, to configure on new VM instances; not used for instant clones, which inherit the frozen parent VM's memory configuration."
          },
          "vsphere_installed_OS_type": {
            "type": "string",
            "title": "Vsphere Installed Os Type",
            "description": "The OS family (Linux or Windows) installed on the source VM or template, needed to run the startup script correctly."
          },
          "vm_public_ssh_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Public Ssh Key",
            "description": "A public SSH key added to the autoscale agent, made available to the startup script."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_config_name",
          "vm_provider_name",
          "max_instances",
          "vsphere_vcenter_address",
          "vsphere_vcenter_port",
          "vsphere_vcenter_username",
          "vsphere_vcenter_password",
          "vsphere_datacenter_name",
          "vsphere_installed_OS_type"
        ],
        "title": "VsphereVmConfigCreate",
        "description": "`POST` body for a vSphere VM provider config."
      },
      "VsphereVmConfigUpdate": {
        "properties": {
          "vm_provider_config_name": {
            "type": "string",
            "title": "Vm Provider Config Name",
            "description": "Operator-assigned name for this config. Omit to leave unchanged."
          },
          "max_instances": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 0,
            "title": "Max Instances",
            "description": "Maximum number of VMs Kasm will run against this provider. Omit to leave unchanged."
          },
          "startup_script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Startup Script",
            "description": "Cloud-init / user-data script run at VM boot. Omit to leave unchanged; null clears it."
          },
          "vm_provider_name": {
            "type": "string",
            "const": "VSPHERE",
            "title": "Vm Provider Name"
          },
          "vsphere_vcenter_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vcenter Address",
            "description": "The IP address or FQDN of the VMware vSphere vCenter server to connect to."
          },
          "vsphere_vcenter_port": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vcenter Port",
            "description": "The management port of the vCenter server, typically 443."
          },
          "vsphere_vcenter_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vcenter Username",
            "description": "The username used to authenticate with the vSphere vCenter server."
          },
          "vsphere_vcenter_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vcenter Password",
            "description": "The password used to authenticate with the vSphere vCenter server."
          },
          "vsphere_clone_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "template",
                  "linked",
                  "instant"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Clone Type",
            "description": "The cloning method used to provision new VMs: a full clone from a template, a linked clone from a VM snapshot, or an instant clone from a frozen parent VM."
          },
          "vsphere_template_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Template Name",
            "description": "The name of the template VM to clone from; used only when vsphere_clone_type is 'template'."
          },
          "vsphere_vm_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vm Name",
            "description": "The name of the source VM to clone from: the VM holding the snapshot for linked clones, or the frozen parent VM for instant clones."
          },
          "vsphere_vm_snapshot_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vm Snapshot Name",
            "description": "The name of the snapshot on the source VM to use for linked clones."
          },
          "vsphere_datacenter_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Datacenter Name",
            "description": "The vSphere datacenter to use when cloning new VM instances."
          },
          "vsphere_vm_folder": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Vm Folder",
            "description": "The VM folder to place new VM instances in; if omitted, the template's VM folder is used."
          },
          "vsphere_datastore_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Datastore Name",
            "description": "The datastore (or datastore cluster, when vsphere_use_datastore_cluster is enabled) to use for new VM instances; if omitted, the source VM's datastore is used."
          },
          "vsphere_use_datastore_cluster": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Use Datastore Cluster",
            "description": "When enabled, treats vsphere_datastore_name as a datastore cluster name and lets vSphere recommend the optimal datastore for each clone; only applies to full clones."
          },
          "vsphere_cluster_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Cluster Name",
            "description": "The vSphere cluster to use when cloning new VM instances; if omitted, the template's cluster is used."
          },
          "vsphere_resource_pool": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Resource Pool",
            "description": "The resource pool to use when cloning new VM instances; if omitted, the template's resource pool is used."
          },
          "vsphere_startup_script_method": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "vmware_cloud_init",
                  "vmware_guest_operations"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Startup Script Method",
            "description": "How the startup script is executed on new VM instances: via cloud-init/cloudbase-init at first boot, or via the VMware Tools Guest Operations API after boot."
          },
          "vsphere_os_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Os Username",
            "description": "The guest VM username used to run the startup script; required for the VMware Guest Operations startup method and for instant clones."
          },
          "vsphere_os_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Os Password",
            "description": "The guest VM password used to run the startup script; required for the VMware Guest Operations startup method and for instant clones."
          },
          "vsphere_cpus": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Cpus",
            "description": "The number of CPUs to configure on new VM instances; not used for instant clones, which inherit the frozen parent VM's CPU configuration."
          },
          "vsphere_memory_bytes": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Memory Bytes",
            "description": "The amount of memory, in bytes, to configure on new VM instances; not used for instant clones, which inherit the frozen parent VM's memory configuration."
          },
          "vsphere_installed_OS_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vsphere Installed Os Type",
            "description": "The OS family (Linux or Windows) installed on the source VM or template, needed to run the startup script correctly."
          },
          "vm_public_ssh_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vm Public Ssh Key",
            "description": "A public SSH key added to the autoscale agent, made available to the startup script."
          }
        },
        "type": "object",
        "required": [
          "vm_provider_name"
        ],
        "title": "VsphereVmConfigUpdate",
        "description": "`PATCH` body for a vSphere VM provider config. Every field optional."
      },
      "WebAuthnChallenge": {
        "properties": {
          "outcome": {
            "type": "string",
            "const": "webauthn_required",
            "title": "Outcome",
            "default": "webauthn_required"
          },
          "webauthn_authentication_options": {
            "additionalProperties": true,
            "type": "object",
            "title": "Webauthn Authentication Options"
          },
          "request_id": {
            "type": "string",
            "title": "Request Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "webauthn_authentication_options",
          "request_id"
        ],
        "title": "WebAuthnChallenge",
        "description": "Second-factor challenge: the caller must complete a WebAuthn assertion next."
      },
      "WebAuthnChallengeResponse": {
        "properties": {
          "webauthn_authentication_options": {
            "additionalProperties": true,
            "type": "object",
            "title": "Webauthn Authentication Options"
          },
          "request_id": {
            "type": "string",
            "title": "Request Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "webauthn_authentication_options",
          "request_id"
        ],
        "title": "WebAuthnChallengeResponse",
        "description": "The request options the browser hands to ``navigator.credentials.get``.\n\nSame payload as ``WebAuthnChallenge`` without the ``outcome``\ndiscriminator: this is the response of a route that only ever issues a\nchallenge, not one of several outcomes a login may take."
      },
      "WebAuthnLoginRequest": {
        "properties": {
          "username": {
            "type": "string",
            "title": "Username"
          },
          "password": {
            "type": "string",
            "title": "Password"
          },
          "credential": {
            "additionalProperties": true,
            "type": "object",
            "title": "Credential"
          },
          "request_id": {
            "type": "string",
            "title": "Request Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "username",
          "password",
          "credential",
          "request_id"
        ],
        "title": "WebAuthnLoginRequest",
        "description": "Body for ``POST /api/auth/login/webauthn``.\n\n``credential`` is the assertion the browser produced for the challenge\n``request_id`` names; the password is verified again for the same reason\nas in ``TotpLoginRequest``."
      },
      "WebAuthnRegistrationOptionsResponse": {
        "properties": {
          "registration_options": {
            "additionalProperties": true,
            "type": "object",
            "title": "Registration Options"
          },
          "request_id": {
            "type": "string",
            "title": "Request Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "registration_options",
          "request_id"
        ],
        "title": "WebAuthnRegistrationOptionsResponse",
        "description": "The creation options the browser hands to ``navigator.credentials.create``.\n\n``registration_options`` is the WebAuthn library's own JSON, passed through\nunchanged; ``request_id`` correlates the challenge stored server side with\nthe attestation the caller returns."
      },
      "WebFilterCategory": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "label": {
            "type": "string",
            "title": "Label"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "label"
        ],
        "title": "WebFilterCategory",
        "description": "One categorization-service category (``cat_id_N`` → label)."
      },
      "WebFilterCategoryAction": {
        "type": "string",
        "enum": [
          "allow",
          "deny",
          "inherit"
        ],
        "title": "WebFilterCategoryAction"
      },
      "WebFilterPolicySummary": {
        "properties": {
          "filter_policy_id": {
            "type": "string",
            "format": "uuid",
            "title": "Filter Policy Id"
          },
          "filter_policy_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter Policy Name"
          },
          "filter_policy_descriptions": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter Policy Descriptions"
          },
          "categories": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "title": "Categories"
          },
          "domain_blacklist": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Domain Blacklist"
          },
          "domain_whitelist": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Domain Whitelist"
          },
          "deny_by_default": {
            "type": "boolean",
            "title": "Deny By Default"
          },
          "enable_categorization": {
            "type": "boolean",
            "title": "Enable Categorization"
          },
          "ssl_bypass_domains": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Ssl Bypass Domains"
          },
          "ssl_bypass_ips": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Ssl Bypass Ips"
          },
          "enable_safe_search": {
            "type": "boolean",
            "title": "Enable Safe Search"
          },
          "safe_search_patterns": {
            "items": {
              "$ref": "#/components/schemas/SafeSearchPattern"
            },
            "type": "array",
            "title": "Safe Search Patterns"
          },
          "disable_logging": {
            "type": "boolean",
            "title": "Disable Logging"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "filter_policy_id",
          "deny_by_default",
          "enable_categorization",
          "enable_safe_search",
          "disable_logging"
        ],
        "title": "WebFilterPolicySummary",
        "description": "A web filter policy as returned by every policy endpoint."
      },
      "ZitiAdminIdentity": {
        "properties": {
          "ztAPI": {
            "type": "string",
            "title": "Ztapi",
            "description": "URL of the OpenZiti controller's management API."
          },
          "id": {
            "$ref": "#/components/schemas/ZitiIdentityKeyPair"
          }
        },
        "type": "object",
        "required": [
          "ztAPI",
          "id"
        ],
        "title": "ZitiAdminIdentity",
        "description": "OpenZiti admin identity credential used to manage this provider's overlay network."
      },
      "ZitiIdentityKeyPair": {
        "properties": {
          "key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Key",
            "description": "Private key for the OpenZiti admin identity."
          },
          "cert": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cert",
            "description": "Signed certificate for the OpenZiti admin identity."
          },
          "ca": {
            "type": "string",
            "title": "Ca",
            "description": "CA certificate bundle required to validate the OpenZiti controller's identity."
          }
        },
        "type": "object",
        "required": [
          "ca"
        ],
        "title": "ZitiIdentityKeyPair",
        "description": "The Ziti controller-issued key/certificate pair for an admin identity."
      },
      "ZoneListItem": {
        "properties": {
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          },
          "zone_name": {
            "type": "string",
            "title": "Zone Name"
          },
          "managers": {
            "items": {
              "$ref": "#/components/schemas/ZoneManagerRef"
            },
            "type": "array",
            "title": "Managers",
            "default": []
          },
          "allow_origin_domain": {
            "type": "string",
            "title": "Allow Origin Domain"
          },
          "upstream_auth_address": {
            "type": "string",
            "title": "Upstream Auth Address"
          },
          "proxy_connections": {
            "type": "boolean",
            "title": "Proxy Connections"
          },
          "proxy_rdp_client_connections": {
            "type": "boolean",
            "title": "Proxy Rdp Client Connections"
          },
          "proxy_hostname": {
            "type": "string",
            "title": "Proxy Hostname"
          },
          "proxy_path": {
            "type": "string",
            "title": "Proxy Path"
          },
          "proxy_port": {
            "type": "integer",
            "title": "Proxy Port"
          },
          "load_strategy": {
            "type": "string",
            "title": "Load Strategy"
          },
          "proxy_load_strategy": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "least_proxy_kasms",
                  "most_proxy_kasms",
                  "random",
                  "least_proxy_load",
                  "most_proxy_load"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Load Strategy"
          },
          "prioritize_static_agents": {
            "type": "boolean",
            "title": "Prioritize Static Agents"
          },
          "search_alternate_zones": {
            "type": "boolean",
            "title": "Search Alternate Zones"
          },
          "verify_rdp_client_ip": {
            "type": "boolean",
            "title": "Verify Rdp Client Ip"
          },
          "enable_rdp_https_gw": {
            "type": "boolean",
            "title": "Enable Rdp Https Gw"
          },
          "proxy_rdp_hostname": {
            "type": "string",
            "title": "Proxy Rdp Hostname"
          },
          "proxy_rdp_port": {
            "type": "integer",
            "title": "Proxy Rdp Port"
          },
          "enable_rdp_https_gw_dlp": {
            "type": "boolean",
            "title": "Enable Rdp Https Gw Dlp"
          },
          "labels": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Labels",
            "default": []
          },
          "enable_rdp_direct_login": {
            "type": "boolean",
            "title": "Enable Rdp Direct Login"
          },
          "servers": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Servers"
          },
          "num_sessions": {
            "type": "integer",
            "title": "Num Sessions"
          },
          "available_cores": {
            "type": "integer",
            "title": "Available Cores"
          },
          "available_memory": {
            "type": "integer",
            "title": "Available Memory"
          },
          "available_gpus": {
            "type": "integer",
            "title": "Available Gpus"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "zone_id",
          "zone_name",
          "allow_origin_domain",
          "upstream_auth_address",
          "proxy_connections",
          "proxy_rdp_client_connections",
          "proxy_hostname",
          "proxy_path",
          "proxy_port",
          "load_strategy",
          "prioritize_static_agents",
          "search_alternate_zones",
          "verify_rdp_client_ip",
          "enable_rdp_https_gw",
          "proxy_rdp_hostname",
          "proxy_rdp_port",
          "enable_rdp_https_gw_dlp",
          "enable_rdp_direct_login",
          "num_sessions",
          "available_cores",
          "available_memory",
          "available_gpus"
        ],
        "title": "ZoneListItem",
        "description": "One zone in the zone list: its configuration plus live usage.\n\n``managers`` holds only each manager's ID and hostname. ``servers`` is null when the request\nsets ``brief``."
      },
      "ZoneManagerRef": {
        "properties": {
          "manager_id": {
            "type": "string",
            "format": "uuid",
            "title": "Manager Id"
          },
          "manager_hostname": {
            "type": "string",
            "title": "Manager Hostname"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "manager_id",
          "manager_hostname"
        ],
        "title": "ZoneManagerRef",
        "description": "A manager's ID and hostname, as listed on a zone."
      },
      "ZoneOption": {
        "properties": {
          "host": {
            "type": "string",
            "title": "Host"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "host",
          "id"
        ],
        "title": "ZoneOption",
        "description": "One entry in the public zone selector on the login page.\n\n``host`` is the zone's externally reachable base URL: ``https://`` and the zone's proxy\nhostname, with ``$request_host$`` replaced by the request's own host."
      },
      "ZoneRef": {
        "properties": {
          "zone_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zone Id"
          },
          "zone_name": {
            "type": "string",
            "title": "Zone Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "zone_id",
          "zone_name"
        ],
        "title": "ZoneRef",
        "description": "Inline zone reference returned in user-facing image listings.\n\nLightweight ``{id, name}`` embed of the ``Zone`` ORM entity; the full\nzone DTO lives alongside it (``ZoneSummary``)."
      },
      "ZoneSummary": {
        "properties": {
          "zone_id": {
            "type": "string",
            "format": "uuid",
            "title": "Zone Id"
          },
          "zone_name": {
            "type": "string",
            "title": "Zone Name"
          },
          "managers": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Managers",
            "default": []
          },
          "allow_origin_domain": {
            "type": "string",
            "title": "Allow Origin Domain"
          },
          "upstream_auth_address": {
            "type": "string",
            "title": "Upstream Auth Address"
          },
          "proxy_connections": {
            "type": "boolean",
            "title": "Proxy Connections"
          },
          "proxy_rdp_client_connections": {
            "type": "boolean",
            "title": "Proxy Rdp Client Connections"
          },
          "proxy_hostname": {
            "type": "string",
            "title": "Proxy Hostname"
          },
          "proxy_path": {
            "type": "string",
            "title": "Proxy Path"
          },
          "proxy_port": {
            "type": "integer",
            "title": "Proxy Port"
          },
          "load_strategy": {
            "type": "string",
            "title": "Load Strategy"
          },
          "proxy_load_strategy": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "least_proxy_kasms",
                  "most_proxy_kasms",
                  "random",
                  "least_proxy_load",
                  "most_proxy_load"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Load Strategy"
          },
          "prioritize_static_agents": {
            "type": "boolean",
            "title": "Prioritize Static Agents"
          },
          "search_alternate_zones": {
            "type": "boolean",
            "title": "Search Alternate Zones"
          },
          "verify_rdp_client_ip": {
            "type": "boolean",
            "title": "Verify Rdp Client Ip"
          },
          "enable_rdp_https_gw": {
            "type": "boolean",
            "title": "Enable Rdp Https Gw"
          },
          "proxy_rdp_hostname": {
            "type": "string",
            "title": "Proxy Rdp Hostname"
          },
          "proxy_rdp_port": {
            "type": "integer",
            "title": "Proxy Rdp Port"
          },
          "enable_rdp_https_gw_dlp": {
            "type": "boolean",
            "title": "Enable Rdp Https Gw Dlp"
          },
          "labels": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Labels",
            "default": []
          },
          "enable_rdp_direct_login": {
            "type": "boolean",
            "title": "Enable Rdp Direct Login"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "zone_id",
          "zone_name",
          "allow_origin_domain",
          "upstream_auth_address",
          "proxy_connections",
          "proxy_rdp_client_connections",
          "proxy_hostname",
          "proxy_path",
          "proxy_port",
          "load_strategy",
          "prioritize_static_agents",
          "search_alternate_zones",
          "verify_rdp_client_ip",
          "enable_rdp_https_gw",
          "proxy_rdp_hostname",
          "proxy_rdp_port",
          "enable_rdp_https_gw_dlp",
          "enable_rdp_direct_login"
        ],
        "title": "ZoneSummary",
        "description": "One zone's stored configuration. ``managers`` carries each manager's full record."
      }
    },
    "securitySchemes": {
      "kasmBearer": {
        "type": "http",
        "description": "User session JWT supplied as 'Authorization: Bearer <token>'.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "kasmSessionToken": {
        "type": "apiKey",
        "description": "Legacy browser-session fallback: 'session_token' cookie. Used only when no 'Authorization' header is present.",
        "in": "cookie",
        "name": "session_token"
      },
      "kasmApiKeyBasic": {
        "type": "http",
        "description": "Developer API key supplied as 'Authorization: Basic base64(api_key:api_key_secret)'. Rejected with 403 when the deployment's license does not include the 'developer_api' feature. Deployments without a license include it by default.",
        "scheme": "basic"
      }
    }
  },
  "tags": [
    {
      "name": "Admin"
    },
    {
      "name": "Casting"
    },
    {
      "name": "Client"
    },
    {
      "name": "Sessions"
    },
    {
      "name": "Telemetry"
    }
  ]
}
