{
    "openapi": "3.1.0",
    "info": {
        "title": "Hostwolf Apps API",
        "version": "4.4.1",
        "description": "Deploy and manage apps, environments, deployments and managed databases on Hostwolf Apps. Documentation: https://app.hostwolf.net/developers"
    },
    "servers": [
        {
            "url": "https://console.app.hostwolf.net/api/v1",
            "description": "Hostwolf Apps"
        }
    ],
    "paths": {
        "/applications/{uuid}/previews": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "List Preview Deployments",
                "description": "List the preview deployments of an application, newest pull request first.",
                "operationId": "list-preview-deployments-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of preview deployments.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ApplicationPreview"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Create Preview Deployment",
                "description": "Open a preview deployment for a pull request and queue its deployment. When the preview already exists, it is redeployed. Git based applications need git_type unless they use a GitHub or GitLab App source; Bitbucket also needs commit. Docker Image applications need docker_tag for a new preview.",
                "operationId": "create-preview-deployment-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "pull_request_id"
                                ],
                                "properties": {
                                    "pull_request_id": {
                                        "type": "integer",
                                        "maximum": 2147483647,
                                        "minimum": 1,
                                        "example": 42
                                    },
                                    "pull_request_html_url": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "example": "https://github.com/org/repo/pull/42"
                                    },
                                    "git_type": {
                                        "description": "Git provider that hosts the pull request. Sets the ref Hostwolf fetches (pull/{id}/head or merge-requests/{id}/head).",
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "enum": [
                                            "github",
                                            "gitlab",
                                            "gitea",
                                            "bitbucket"
                                        ]
                                    },
                                    "commit": {
                                        "description": "Commit SHA to deploy. Required for Bitbucket.",
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "docker_tag": {
                                        "description": "Docker image tag. Docker Image applications only.",
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "force": {
                                        "description": "Rebuild without cache.",
                                        "type": "boolean",
                                        "default": false
                                    },
                                    "instant_deploy": {
                                        "description": "Queue a deployment. Set to false to only create the preview, for example to set its domains first.",
                                        "type": "boolean",
                                        "default": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Existing preview deployment updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApplicationPreviewDeployment"
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Preview deployment created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApplicationPreviewDeployment"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    },
                    "429": {
                        "description": "Deployment queue is full."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/previews/{pull_request_id}": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "Get Preview Deployment",
                "description": "Get a preview deployment by pull request ID.",
                "operationId": "get-preview-deployment-by-pull-request-id",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "pull_request_id",
                        "in": "path",
                        "description": "Pull request ID of the preview.",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Preview deployment.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApplicationPreview"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Applications"
                ],
                "summary": "Delete Preview Deployment",
                "description": "Delete a preview deployment for a pull request. Cancels active deployments, stops containers, removes volumes/networks, and deletes the preview record.",
                "operationId": "delete-preview-deployment-by-pull-request-id",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "pull_request_id",
                        "in": "path",
                        "description": "Pull request ID of the preview to delete.",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Preview deletion queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Applications"
                ],
                "summary": "Update Preview Domains",
                "description": "Replace domains for a preview deployment. Use domains for regular applications or docker_compose_domains for Docker Compose applications. Ports are stored as internal overrides while public domains remain portless.",
                "operationId": "update-preview-domains-by-pull-request-id",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "pull_request_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "domains": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "example": "https://pr.example.com:3000"
                                    },
                                    "docker_compose_domains": {
                                        "type": [
                                            "array",
                                            "null"
                                        ],
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string"
                                                },
                                                "domain": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "redirect": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "enum": [
                                                        "www",
                                                        "non-www",
                                                        "both"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "force_domain_override": {
                                        "type": "boolean",
                                        "default": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Preview domains updated."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "$ref": "#/components/responses/403"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Domain conflict."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/secret-manager": {
            "patch": {
                "tags": [
                    "Secret Managers"
                ],
                "summary": "Configure Application Secret Manager",
                "description": "Configure the secret manager source used by an application.",
                "operationId": "configure-application-secret-manager",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "integration_token_uuid"
                                ],
                                "properties": {
                                    "integration_token_uuid": {
                                        "type": "string"
                                    },
                                    "settings": {
                                        "type": "object"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Secret manager configured."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "List",
                "description": "List all applications.",
                "operationId": "list-applications",
                "parameters": [
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Filter applications by tag name.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get all applications.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Application"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/public": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Create (Public)",
                "description": "Create new application based on a public git repository.",
                "operationId": "create-public-application",
                "requestBody": {
                    "description": "Application object that needs to be created.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "project_uuid",
                                    "server_uuid",
                                    "git_repository",
                                    "git_branch",
                                    "build_pack"
                                ],
                                "properties": {
                                    "project_uuid": {
                                        "type": "string",
                                        "description": "The project UUID."
                                    },
                                    "server_uuid": {
                                        "type": "string",
                                        "description": "The server UUID."
                                    },
                                    "environment_name": {
                                        "type": "string",
                                        "description": "The environment name. Send this or environment_uuid, not both."
                                    },
                                    "environment_uuid": {
                                        "type": "string",
                                        "description": "The environment UUID. Send this or environment_name, not both."
                                    },
                                    "git_repository": {
                                        "type": "string",
                                        "description": "The git repository URL."
                                    },
                                    "git_branch": {
                                        "type": "string",
                                        "description": "The git branch."
                                    },
                                    "build_pack": {
                                        "type": "string",
                                        "enum": [
                                            "nixpacks",
                                            "railpack",
                                            "static",
                                            "dockerfile",
                                            "dockercompose"
                                        ],
                                        "description": "The build pack type."
                                    },
                                    "ports_exposes": {
                                        "type": "string",
                                        "description": "The ports to expose."
                                    },
                                    "destination_uuid": {
                                        "type": "string",
                                        "description": "The destination UUID."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "The application name."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "The application description."
                                    },
                                    "domains": {
                                        "type": "string",
                                        "description": "The application URLs in a comma-separated list."
                                    },
                                    "noindex_domains": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "The subset of the application domains served with an X-Robots-Tag: noindex, nofollow response header, keeping them out of search engines. Entries that are not among the application domains are ignored."
                                    },
                                    "git_commit_sha": {
                                        "type": "string",
                                        "description": "The git commit SHA."
                                    },
                                    "docker_registry_image_name": {
                                        "type": "string",
                                        "description": "The docker registry image name."
                                    },
                                    "docker_registry_image_tag": {
                                        "type": "string",
                                        "description": "The docker registry image tag."
                                    },
                                    "is_static": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application is static."
                                    },
                                    "is_spa": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application is a single-page application (SPA). Only relevant when is_static is true."
                                    },
                                    "is_auto_deploy_enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if auto-deploy is enabled on git push. Defaults to true."
                                    },
                                    "is_force_https_enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if HTTPS is forced. Defaults to true."
                                    },
                                    "is_preview_deployments_enabled": {
                                        "type": "boolean",
                                        "description": "Enable preview deployments for pull requests."
                                    },
                                    "static_image": {
                                        "type": "string",
                                        "enum": [
                                            "nginx:alpine"
                                        ],
                                        "description": "The static image."
                                    },
                                    "install_command": {
                                        "type": "string",
                                        "description": "The install command."
                                    },
                                    "build_command": {
                                        "type": "string",
                                        "description": "The build command."
                                    },
                                    "start_command": {
                                        "type": "string",
                                        "description": "The start command."
                                    },
                                    "ports_mappings": {
                                        "type": "string",
                                        "description": "The ports mappings."
                                    },
                                    "base_directory": {
                                        "type": "string",
                                        "description": "The base directory for all commands."
                                    },
                                    "publish_directory": {
                                        "type": "string",
                                        "description": "The publish directory."
                                    },
                                    "health_check_enabled": {
                                        "type": "boolean",
                                        "description": "Health check enabled."
                                    },
                                    "health_check_path": {
                                        "type": "string",
                                        "description": "Health check path."
                                    },
                                    "health_check_port": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check port."
                                    },
                                    "health_check_host": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check host."
                                    },
                                    "health_check_method": {
                                        "type": "string",
                                        "description": "Health check method."
                                    },
                                    "health_check_return_code": {
                                        "type": "integer",
                                        "description": "Health check return code."
                                    },
                                    "health_check_scheme": {
                                        "type": "string",
                                        "description": "Health check scheme."
                                    },
                                    "health_check_response_text": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check response text."
                                    },
                                    "health_check_interval": {
                                        "type": "integer",
                                        "description": "Health check interval in seconds."
                                    },
                                    "health_check_timeout": {
                                        "type": "integer",
                                        "description": "Health check timeout in seconds."
                                    },
                                    "health_check_retries": {
                                        "type": "integer",
                                        "description": "Health check retries count."
                                    },
                                    "health_check_start_period": {
                                        "type": "integer",
                                        "description": "Health check start period in seconds."
                                    },
                                    "limits_memory": {
                                        "type": "string",
                                        "description": "Memory limit."
                                    },
                                    "limits_memory_swap": {
                                        "type": "string",
                                        "description": "Memory swap limit."
                                    },
                                    "limits_memory_swappiness": {
                                        "type": "integer",
                                        "description": "Memory swappiness."
                                    },
                                    "limits_memory_reservation": {
                                        "type": "string",
                                        "description": "Memory reservation."
                                    },
                                    "limits_cpus": {
                                        "type": "string",
                                        "description": "CPU limit."
                                    },
                                    "limits_cpuset": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "CPU set."
                                    },
                                    "limits_cpu_shares": {
                                        "type": "integer",
                                        "description": "CPU shares."
                                    },
                                    "custom_labels": {
                                        "type": "string",
                                        "description": "Custom labels."
                                    },
                                    "custom_docker_run_options": {
                                        "type": "string",
                                        "description": "Custom docker run options."
                                    },
                                    "post_deployment_command": {
                                        "type": "string",
                                        "description": "Post deployment command."
                                    },
                                    "post_deployment_command_container": {
                                        "type": "string",
                                        "description": "Post deployment command container."
                                    },
                                    "pre_deployment_command": {
                                        "type": "string",
                                        "description": "Pre deployment command."
                                    },
                                    "pre_deployment_command_container": {
                                        "type": "string",
                                        "description": "Pre deployment command container."
                                    },
                                    "manual_webhook_secret_github": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Github."
                                    },
                                    "manual_webhook_secret_gitlab": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitlab."
                                    },
                                    "manual_webhook_secret_bitbucket": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Bitbucket."
                                    },
                                    "manual_webhook_secret_gitea": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitea."
                                    },
                                    "redirect": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "How to set redirect with Traefik / Caddy. www<->non-www.",
                                        "enum": [
                                            "www",
                                            "non-www",
                                            "both"
                                        ]
                                    },
                                    "instant_deploy": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application should be deployed instantly."
                                    },
                                    "dockerfile": {
                                        "type": "string",
                                        "description": "The Dockerfile content."
                                    },
                                    "dockerfile_location": {
                                        "type": "string",
                                        "description": "The Dockerfile location in the repository."
                                    },
                                    "docker_compose_location": {
                                        "type": "string",
                                        "description": "The Docker Compose location."
                                    },
                                    "docker_compose_custom_start_command": {
                                        "type": "string",
                                        "description": "The Docker Compose custom start command."
                                    },
                                    "docker_compose_custom_build_command": {
                                        "type": "string",
                                        "description": "The Docker Compose custom build command."
                                    },
                                    "docker_compose_domains": {
                                        "type": "array",
                                        "description": "Array of URLs to be applied to containers of a dockercompose application.",
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "The service name as defined in docker-compose."
                                                },
                                                "domain": {
                                                    "type": "string",
                                                    "description": "Comma-separated list of URLs (e.g. \"https://app.coolify.io,https://app2.coolify.io\")"
                                                },
                                                "redirect": {
                                                    "type": "string",
                                                    "nullable": true,
                                                    "description": "Per-service www/non-www redirect for this compose service.",
                                                    "enum": [
                                                        "www",
                                                        "non-www",
                                                        "both"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "watch_paths": {
                                        "type": "string",
                                        "description": "The watch paths."
                                    },
                                    "use_build_server": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Use build server."
                                    },
                                    "use_build_secrets": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Use Docker Build Secrets for build-time environment variables."
                                    },
                                    "is_git_submodules_enabled": {
                                        "type": "boolean",
                                        "description": "Clone Git submodules."
                                    },
                                    "is_git_lfs_enabled": {
                                        "type": "boolean",
                                        "description": "Enable Git LFS."
                                    },
                                    "is_git_shallow_clone_enabled": {
                                        "type": "boolean",
                                        "description": "Use a shallow Git clone."
                                    },
                                    "disable_build_cache": {
                                        "type": "boolean",
                                        "description": "Disable the build cache."
                                    },
                                    "inject_build_args_to_dockerfile": {
                                        "type": "boolean",
                                        "description": "Inject build arguments into the Dockerfile build."
                                    },
                                    "include_source_commit_in_build": {
                                        "type": "boolean",
                                        "description": "Include the source commit in the build."
                                    },
                                    "is_env_sorting_enabled": {
                                        "type": "boolean",
                                        "description": "Sort environment variables."
                                    },
                                    "is_pr_deployments_public_enabled": {
                                        "type": "boolean",
                                        "description": "Make pull request deployments public."
                                    },
                                    "stop_grace_period": {
                                        "type": "integer",
                                        "nullable": true,
                                        "minimum": 1,
                                        "maximum": 3600,
                                        "description": "Container stop grace period in seconds."
                                    },
                                    "docker_images_to_keep": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Number of Docker images to retain."
                                    },
                                    "is_gzip_enabled": {
                                        "type": "boolean",
                                        "description": "Enable gzip compression."
                                    },
                                    "is_stripprefix_enabled": {
                                        "type": "boolean",
                                        "description": "Enable path prefix stripping."
                                    },
                                    "is_raw_compose_deployment_enabled": {
                                        "type": "boolean",
                                        "description": "Deploy the raw Docker Compose definition."
                                    },
                                    "is_log_drain_enabled": {
                                        "type": "boolean",
                                        "description": "Enable log drain for the application."
                                    },
                                    "is_gpu_enabled": {
                                        "type": "boolean",
                                        "description": "Enable GPU support."
                                    },
                                    "gpu_driver": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "GPU driver name."
                                    },
                                    "gpu_count": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Number of GPUs to allocate."
                                    },
                                    "gpu_device_ids": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Comma-separated GPU device IDs."
                                    },
                                    "gpu_options": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Additional GPU options."
                                    },
                                    "is_consistent_container_name_enabled": {
                                        "type": "boolean",
                                        "description": "Use a consistent container name across deployments."
                                    },
                                    "custom_internal_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Custom internal container name. Turns is_consistent_container_name_enabled on when that field is not sent; sending it as false together with a name returns 422."
                                    },
                                    "custom_container_name_prefix": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Prefix for generated container names (prefix-20260908T141530). Slugified and unique across the instance."
                                    },
                                    "preview_url_template": {
                                        "type": "string",
                                        "description": "Preview URL template."
                                    },
                                    "max_restart_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "description": "Maximum container restart count before stopping."
                                    },
                                    "is_http_basic_auth_enabled": {
                                        "type": "boolean",
                                        "description": "HTTP Basic Authentication enabled."
                                    },
                                    "http_basic_auth_username": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Username for HTTP Basic Authentication"
                                    },
                                    "http_basic_auth_password": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Password for HTTP Basic Authentication"
                                    },
                                    "connect_to_docker_network": {
                                        "type": "boolean",
                                        "description": "The flag to connect the service to the predefined Docker network."
                                    },
                                    "force_domain_override": {
                                        "type": "boolean",
                                        "description": "Force domain usage even if conflicts are detected. Default is false."
                                    },
                                    "autogenerate_domain": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Ignored for the dockercompose build pack, which uses docker_compose_domains. Default: true."
                                    },
                                    "is_container_label_escape_enabled": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off."
                                    },
                                    "tags": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "Tags to assign to the application."
                                    },
                                    "is_preserve_repository_enabled": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Preserve repository during deployment."
                                    }
                                },
                                "type": "object",
                                "oneOf": [
                                    {
                                        "required": [
                                            "environment_name"
                                        ]
                                    },
                                    {
                                        "required": [
                                            "environment_uuid"
                                        ]
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Application created successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "409": {
                        "description": "Domain conflicts detected.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Domain conflicts detected. Use force_domain_override=true to proceed."
                                        },
                                        "warning": {
                                            "type": "string",
                                            "example": "Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior."
                                        },
                                        "conflicts": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "domain": {
                                                        "type": "string",
                                                        "example": "example.com"
                                                    },
                                                    "resource_name": {
                                                        "type": "string",
                                                        "example": "My Application"
                                                    },
                                                    "resource_uuid": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "example": "abc123-def456"
                                                    },
                                                    "resource_type": {
                                                        "type": "string",
                                                        "enum": [
                                                            "application",
                                                            "service",
                                                            "instance"
                                                        ],
                                                        "example": "application"
                                                    },
                                                    "message": {
                                                        "type": "string",
                                                        "example": "Domain example.com is already in use by application 'My Application'"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/private-github-app": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Create (Private - GH App)",
                "description": "Create new application based on a private repository through a Github App.",
                "operationId": "create-private-github-app-application",
                "requestBody": {
                    "description": "Application object that needs to be created.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "project_uuid",
                                    "server_uuid",
                                    "github_app_uuid",
                                    "git_repository",
                                    "git_branch",
                                    "build_pack"
                                ],
                                "properties": {
                                    "project_uuid": {
                                        "type": "string",
                                        "description": "The project UUID."
                                    },
                                    "server_uuid": {
                                        "type": "string",
                                        "description": "The server UUID."
                                    },
                                    "environment_name": {
                                        "type": "string",
                                        "description": "The environment name. Send this or environment_uuid, not both."
                                    },
                                    "environment_uuid": {
                                        "type": "string",
                                        "description": "The environment UUID. Send this or environment_name, not both."
                                    },
                                    "github_app_uuid": {
                                        "type": "string",
                                        "description": "The Github App UUID."
                                    },
                                    "git_repository": {
                                        "type": "string",
                                        "description": "The git repository URL."
                                    },
                                    "git_branch": {
                                        "type": "string",
                                        "description": "The git branch."
                                    },
                                    "ports_exposes": {
                                        "type": "string",
                                        "description": "The ports to expose."
                                    },
                                    "destination_uuid": {
                                        "type": "string",
                                        "description": "The destination UUID."
                                    },
                                    "build_pack": {
                                        "type": "string",
                                        "enum": [
                                            "nixpacks",
                                            "railpack",
                                            "static",
                                            "dockerfile",
                                            "dockercompose"
                                        ],
                                        "description": "The build pack type."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "The application name."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "The application description."
                                    },
                                    "domains": {
                                        "type": "string",
                                        "description": "The application URLs in a comma-separated list."
                                    },
                                    "noindex_domains": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "The subset of the application domains served with an X-Robots-Tag: noindex, nofollow response header, keeping them out of search engines. Entries that are not among the application domains are ignored."
                                    },
                                    "git_commit_sha": {
                                        "type": "string",
                                        "description": "The git commit SHA."
                                    },
                                    "docker_registry_image_name": {
                                        "type": "string",
                                        "description": "The docker registry image name."
                                    },
                                    "docker_registry_image_tag": {
                                        "type": "string",
                                        "description": "The docker registry image tag."
                                    },
                                    "is_static": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application is static."
                                    },
                                    "is_spa": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application is a single-page application (SPA). Only relevant when is_static is true."
                                    },
                                    "is_auto_deploy_enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if auto-deploy is enabled on git push. Defaults to true."
                                    },
                                    "is_force_https_enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if HTTPS is forced. Defaults to true."
                                    },
                                    "is_preview_deployments_enabled": {
                                        "type": "boolean",
                                        "description": "Enable preview deployments for pull requests."
                                    },
                                    "static_image": {
                                        "type": "string",
                                        "enum": [
                                            "nginx:alpine"
                                        ],
                                        "description": "The static image."
                                    },
                                    "install_command": {
                                        "type": "string",
                                        "description": "The install command."
                                    },
                                    "build_command": {
                                        "type": "string",
                                        "description": "The build command."
                                    },
                                    "start_command": {
                                        "type": "string",
                                        "description": "The start command."
                                    },
                                    "ports_mappings": {
                                        "type": "string",
                                        "description": "The ports mappings."
                                    },
                                    "base_directory": {
                                        "type": "string",
                                        "description": "The base directory for all commands."
                                    },
                                    "publish_directory": {
                                        "type": "string",
                                        "description": "The publish directory."
                                    },
                                    "health_check_enabled": {
                                        "type": "boolean",
                                        "description": "Health check enabled."
                                    },
                                    "health_check_path": {
                                        "type": "string",
                                        "description": "Health check path."
                                    },
                                    "health_check_port": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check port."
                                    },
                                    "health_check_host": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check host."
                                    },
                                    "health_check_method": {
                                        "type": "string",
                                        "description": "Health check method."
                                    },
                                    "health_check_return_code": {
                                        "type": "integer",
                                        "description": "Health check return code."
                                    },
                                    "health_check_scheme": {
                                        "type": "string",
                                        "description": "Health check scheme."
                                    },
                                    "health_check_response_text": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check response text."
                                    },
                                    "health_check_interval": {
                                        "type": "integer",
                                        "description": "Health check interval in seconds."
                                    },
                                    "health_check_timeout": {
                                        "type": "integer",
                                        "description": "Health check timeout in seconds."
                                    },
                                    "health_check_retries": {
                                        "type": "integer",
                                        "description": "Health check retries count."
                                    },
                                    "health_check_start_period": {
                                        "type": "integer",
                                        "description": "Health check start period in seconds."
                                    },
                                    "limits_memory": {
                                        "type": "string",
                                        "description": "Memory limit."
                                    },
                                    "limits_memory_swap": {
                                        "type": "string",
                                        "description": "Memory swap limit."
                                    },
                                    "limits_memory_swappiness": {
                                        "type": "integer",
                                        "description": "Memory swappiness."
                                    },
                                    "limits_memory_reservation": {
                                        "type": "string",
                                        "description": "Memory reservation."
                                    },
                                    "limits_cpus": {
                                        "type": "string",
                                        "description": "CPU limit."
                                    },
                                    "limits_cpuset": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "CPU set."
                                    },
                                    "limits_cpu_shares": {
                                        "type": "integer",
                                        "description": "CPU shares."
                                    },
                                    "custom_labels": {
                                        "type": "string",
                                        "description": "Custom labels."
                                    },
                                    "custom_docker_run_options": {
                                        "type": "string",
                                        "description": "Custom docker run options."
                                    },
                                    "post_deployment_command": {
                                        "type": "string",
                                        "description": "Post deployment command."
                                    },
                                    "post_deployment_command_container": {
                                        "type": "string",
                                        "description": "Post deployment command container."
                                    },
                                    "pre_deployment_command": {
                                        "type": "string",
                                        "description": "Pre deployment command."
                                    },
                                    "pre_deployment_command_container": {
                                        "type": "string",
                                        "description": "Pre deployment command container."
                                    },
                                    "manual_webhook_secret_github": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Github."
                                    },
                                    "manual_webhook_secret_gitlab": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitlab."
                                    },
                                    "manual_webhook_secret_bitbucket": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Bitbucket."
                                    },
                                    "manual_webhook_secret_gitea": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitea."
                                    },
                                    "redirect": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "How to set redirect with Traefik / Caddy. www<->non-www.",
                                        "enum": [
                                            "www",
                                            "non-www",
                                            "both"
                                        ]
                                    },
                                    "instant_deploy": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application should be deployed instantly."
                                    },
                                    "dockerfile": {
                                        "type": "string",
                                        "description": "The Dockerfile content."
                                    },
                                    "dockerfile_location": {
                                        "type": "string",
                                        "description": "The Dockerfile location in the repository"
                                    },
                                    "docker_compose_location": {
                                        "type": "string",
                                        "description": "The Docker Compose location."
                                    },
                                    "docker_compose_custom_start_command": {
                                        "type": "string",
                                        "description": "The Docker Compose custom start command."
                                    },
                                    "docker_compose_custom_build_command": {
                                        "type": "string",
                                        "description": "The Docker Compose custom build command."
                                    },
                                    "docker_compose_domains": {
                                        "type": "array",
                                        "description": "Array of URLs to be applied to containers of a dockercompose application.",
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "The service name as defined in docker-compose."
                                                },
                                                "domain": {
                                                    "type": "string",
                                                    "description": "Comma-separated list of URLs (e.g. \"https://app.coolify.io,https://app2.coolify.io\")"
                                                },
                                                "redirect": {
                                                    "type": "string",
                                                    "nullable": true,
                                                    "description": "Per-service www/non-www redirect for this compose service.",
                                                    "enum": [
                                                        "www",
                                                        "non-www",
                                                        "both"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "watch_paths": {
                                        "type": "string",
                                        "description": "The watch paths."
                                    },
                                    "use_build_server": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Use build server."
                                    },
                                    "use_build_secrets": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Use Docker Build Secrets for build-time environment variables."
                                    },
                                    "is_git_submodules_enabled": {
                                        "type": "boolean",
                                        "description": "Clone Git submodules."
                                    },
                                    "is_git_lfs_enabled": {
                                        "type": "boolean",
                                        "description": "Enable Git LFS."
                                    },
                                    "is_git_shallow_clone_enabled": {
                                        "type": "boolean",
                                        "description": "Use a shallow Git clone."
                                    },
                                    "disable_build_cache": {
                                        "type": "boolean",
                                        "description": "Disable the build cache."
                                    },
                                    "inject_build_args_to_dockerfile": {
                                        "type": "boolean",
                                        "description": "Inject build arguments into the Dockerfile build."
                                    },
                                    "include_source_commit_in_build": {
                                        "type": "boolean",
                                        "description": "Include the source commit in the build."
                                    },
                                    "is_env_sorting_enabled": {
                                        "type": "boolean",
                                        "description": "Sort environment variables."
                                    },
                                    "is_pr_deployments_public_enabled": {
                                        "type": "boolean",
                                        "description": "Make pull request deployments public."
                                    },
                                    "stop_grace_period": {
                                        "type": "integer",
                                        "nullable": true,
                                        "minimum": 1,
                                        "maximum": 3600,
                                        "description": "Container stop grace period in seconds."
                                    },
                                    "docker_images_to_keep": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Number of Docker images to retain."
                                    },
                                    "is_gzip_enabled": {
                                        "type": "boolean",
                                        "description": "Enable gzip compression."
                                    },
                                    "is_stripprefix_enabled": {
                                        "type": "boolean",
                                        "description": "Enable path prefix stripping."
                                    },
                                    "is_raw_compose_deployment_enabled": {
                                        "type": "boolean",
                                        "description": "Deploy the raw Docker Compose definition."
                                    },
                                    "is_log_drain_enabled": {
                                        "type": "boolean",
                                        "description": "Enable log drain for the application."
                                    },
                                    "is_gpu_enabled": {
                                        "type": "boolean",
                                        "description": "Enable GPU support."
                                    },
                                    "gpu_driver": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "GPU driver name."
                                    },
                                    "gpu_count": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Number of GPUs to allocate."
                                    },
                                    "gpu_device_ids": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Comma-separated GPU device IDs."
                                    },
                                    "gpu_options": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Additional GPU options."
                                    },
                                    "is_consistent_container_name_enabled": {
                                        "type": "boolean",
                                        "description": "Use a consistent container name across deployments."
                                    },
                                    "custom_internal_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Custom internal container name. Turns is_consistent_container_name_enabled on when that field is not sent; sending it as false together with a name returns 422."
                                    },
                                    "custom_container_name_prefix": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Prefix for generated container names (prefix-20260908T141530). Slugified and unique across the instance."
                                    },
                                    "preview_url_template": {
                                        "type": "string",
                                        "description": "Preview URL template."
                                    },
                                    "max_restart_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "description": "Maximum container restart count before stopping."
                                    },
                                    "is_http_basic_auth_enabled": {
                                        "type": "boolean",
                                        "description": "HTTP Basic Authentication enabled."
                                    },
                                    "http_basic_auth_username": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Username for HTTP Basic Authentication"
                                    },
                                    "http_basic_auth_password": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Password for HTTP Basic Authentication"
                                    },
                                    "connect_to_docker_network": {
                                        "type": "boolean",
                                        "description": "The flag to connect the service to the predefined Docker network."
                                    },
                                    "force_domain_override": {
                                        "type": "boolean",
                                        "description": "Force domain usage even if conflicts are detected. Default is false."
                                    },
                                    "autogenerate_domain": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Ignored for the dockercompose build pack, which uses docker_compose_domains. Default: true."
                                    },
                                    "is_container_label_escape_enabled": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off."
                                    },
                                    "tags": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "Tags to assign to the application."
                                    },
                                    "is_preserve_repository_enabled": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Preserve repository during deployment."
                                    }
                                },
                                "type": "object",
                                "oneOf": [
                                    {
                                        "required": [
                                            "environment_name"
                                        ]
                                    },
                                    {
                                        "required": [
                                            "environment_uuid"
                                        ]
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Application created successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "409": {
                        "description": "Domain conflicts detected.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Domain conflicts detected. Use force_domain_override=true to proceed."
                                        },
                                        "warning": {
                                            "type": "string",
                                            "example": "Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior."
                                        },
                                        "conflicts": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "domain": {
                                                        "type": "string",
                                                        "example": "example.com"
                                                    },
                                                    "resource_name": {
                                                        "type": "string",
                                                        "example": "My Application"
                                                    },
                                                    "resource_uuid": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "example": "abc123-def456"
                                                    },
                                                    "resource_type": {
                                                        "type": "string",
                                                        "enum": [
                                                            "application",
                                                            "service",
                                                            "instance"
                                                        ],
                                                        "example": "application"
                                                    },
                                                    "message": {
                                                        "type": "string",
                                                        "example": "Domain example.com is already in use by application 'My Application'"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/private-deploy-key": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Create (Private - Deploy Key)",
                "description": "Create new application based on a private repository through a Deploy Key.",
                "operationId": "create-private-deploy-key-application",
                "requestBody": {
                    "description": "Application object that needs to be created.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "project_uuid",
                                    "server_uuid",
                                    "private_key_uuid",
                                    "git_repository",
                                    "git_branch",
                                    "build_pack"
                                ],
                                "properties": {
                                    "project_uuid": {
                                        "type": "string",
                                        "description": "The project UUID."
                                    },
                                    "server_uuid": {
                                        "type": "string",
                                        "description": "The server UUID."
                                    },
                                    "environment_name": {
                                        "type": "string",
                                        "description": "The environment name. Send this or environment_uuid, not both."
                                    },
                                    "environment_uuid": {
                                        "type": "string",
                                        "description": "The environment UUID. Send this or environment_name, not both."
                                    },
                                    "private_key_uuid": {
                                        "type": "string",
                                        "description": "The private key UUID."
                                    },
                                    "git_repository": {
                                        "type": "string",
                                        "description": "The git repository URL."
                                    },
                                    "git_branch": {
                                        "type": "string",
                                        "description": "The git branch."
                                    },
                                    "ports_exposes": {
                                        "type": "string",
                                        "description": "The ports to expose."
                                    },
                                    "destination_uuid": {
                                        "type": "string",
                                        "description": "The destination UUID."
                                    },
                                    "build_pack": {
                                        "type": "string",
                                        "enum": [
                                            "nixpacks",
                                            "railpack",
                                            "static",
                                            "dockerfile",
                                            "dockercompose"
                                        ],
                                        "description": "The build pack type."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "The application name."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "The application description."
                                    },
                                    "domains": {
                                        "type": "string",
                                        "description": "The application URLs in a comma-separated list."
                                    },
                                    "noindex_domains": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "The subset of the application domains served with an X-Robots-Tag: noindex, nofollow response header, keeping them out of search engines. Entries that are not among the application domains are ignored."
                                    },
                                    "git_commit_sha": {
                                        "type": "string",
                                        "description": "The git commit SHA."
                                    },
                                    "docker_registry_image_name": {
                                        "type": "string",
                                        "description": "The docker registry image name."
                                    },
                                    "docker_registry_image_tag": {
                                        "type": "string",
                                        "description": "The docker registry image tag."
                                    },
                                    "is_static": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application is static."
                                    },
                                    "is_spa": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application is a single-page application (SPA). Only relevant when is_static is true."
                                    },
                                    "is_auto_deploy_enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if auto-deploy is enabled on git push. Defaults to true."
                                    },
                                    "is_force_https_enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if HTTPS is forced. Defaults to true."
                                    },
                                    "is_preview_deployments_enabled": {
                                        "type": "boolean",
                                        "description": "Enable preview deployments for pull requests."
                                    },
                                    "static_image": {
                                        "type": "string",
                                        "enum": [
                                            "nginx:alpine"
                                        ],
                                        "description": "The static image."
                                    },
                                    "install_command": {
                                        "type": "string",
                                        "description": "The install command."
                                    },
                                    "build_command": {
                                        "type": "string",
                                        "description": "The build command."
                                    },
                                    "start_command": {
                                        "type": "string",
                                        "description": "The start command."
                                    },
                                    "ports_mappings": {
                                        "type": "string",
                                        "description": "The ports mappings."
                                    },
                                    "base_directory": {
                                        "type": "string",
                                        "description": "The base directory for all commands."
                                    },
                                    "publish_directory": {
                                        "type": "string",
                                        "description": "The publish directory."
                                    },
                                    "health_check_enabled": {
                                        "type": "boolean",
                                        "description": "Health check enabled."
                                    },
                                    "health_check_path": {
                                        "type": "string",
                                        "description": "Health check path."
                                    },
                                    "health_check_port": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check port."
                                    },
                                    "health_check_host": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check host."
                                    },
                                    "health_check_method": {
                                        "type": "string",
                                        "description": "Health check method."
                                    },
                                    "health_check_return_code": {
                                        "type": "integer",
                                        "description": "Health check return code."
                                    },
                                    "health_check_scheme": {
                                        "type": "string",
                                        "description": "Health check scheme."
                                    },
                                    "health_check_response_text": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check response text."
                                    },
                                    "health_check_interval": {
                                        "type": "integer",
                                        "description": "Health check interval in seconds."
                                    },
                                    "health_check_timeout": {
                                        "type": "integer",
                                        "description": "Health check timeout in seconds."
                                    },
                                    "health_check_retries": {
                                        "type": "integer",
                                        "description": "Health check retries count."
                                    },
                                    "health_check_start_period": {
                                        "type": "integer",
                                        "description": "Health check start period in seconds."
                                    },
                                    "limits_memory": {
                                        "type": "string",
                                        "description": "Memory limit."
                                    },
                                    "limits_memory_swap": {
                                        "type": "string",
                                        "description": "Memory swap limit."
                                    },
                                    "limits_memory_swappiness": {
                                        "type": "integer",
                                        "description": "Memory swappiness."
                                    },
                                    "limits_memory_reservation": {
                                        "type": "string",
                                        "description": "Memory reservation."
                                    },
                                    "limits_cpus": {
                                        "type": "string",
                                        "description": "CPU limit."
                                    },
                                    "limits_cpuset": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "CPU set."
                                    },
                                    "limits_cpu_shares": {
                                        "type": "integer",
                                        "description": "CPU shares."
                                    },
                                    "custom_labels": {
                                        "type": "string",
                                        "description": "Custom labels."
                                    },
                                    "custom_docker_run_options": {
                                        "type": "string",
                                        "description": "Custom docker run options."
                                    },
                                    "post_deployment_command": {
                                        "type": "string",
                                        "description": "Post deployment command."
                                    },
                                    "post_deployment_command_container": {
                                        "type": "string",
                                        "description": "Post deployment command container."
                                    },
                                    "pre_deployment_command": {
                                        "type": "string",
                                        "description": "Pre deployment command."
                                    },
                                    "pre_deployment_command_container": {
                                        "type": "string",
                                        "description": "Pre deployment command container."
                                    },
                                    "manual_webhook_secret_github": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Github."
                                    },
                                    "manual_webhook_secret_gitlab": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitlab."
                                    },
                                    "manual_webhook_secret_bitbucket": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Bitbucket."
                                    },
                                    "manual_webhook_secret_gitea": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitea."
                                    },
                                    "redirect": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "How to set redirect with Traefik / Caddy. www<->non-www.",
                                        "enum": [
                                            "www",
                                            "non-www",
                                            "both"
                                        ]
                                    },
                                    "instant_deploy": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application should be deployed instantly."
                                    },
                                    "dockerfile": {
                                        "type": "string",
                                        "description": "The Dockerfile content."
                                    },
                                    "dockerfile_location": {
                                        "type": "string",
                                        "description": "The Dockerfile location in the repository."
                                    },
                                    "docker_compose_location": {
                                        "type": "string",
                                        "description": "The Docker Compose location."
                                    },
                                    "docker_compose_custom_start_command": {
                                        "type": "string",
                                        "description": "The Docker Compose custom start command."
                                    },
                                    "docker_compose_custom_build_command": {
                                        "type": "string",
                                        "description": "The Docker Compose custom build command."
                                    },
                                    "docker_compose_domains": {
                                        "type": "array",
                                        "description": "Array of URLs to be applied to containers of a dockercompose application.",
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "The service name as defined in docker-compose."
                                                },
                                                "domain": {
                                                    "type": "string",
                                                    "description": "Comma-separated list of URLs (e.g. \"https://app.coolify.io,https://app2.coolify.io\")"
                                                },
                                                "redirect": {
                                                    "type": "string",
                                                    "nullable": true,
                                                    "description": "Per-service www/non-www redirect for this compose service.",
                                                    "enum": [
                                                        "www",
                                                        "non-www",
                                                        "both"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "watch_paths": {
                                        "type": "string",
                                        "description": "The watch paths."
                                    },
                                    "use_build_server": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Use build server."
                                    },
                                    "use_build_secrets": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Use Docker Build Secrets for build-time environment variables."
                                    },
                                    "is_git_submodules_enabled": {
                                        "type": "boolean",
                                        "description": "Clone Git submodules."
                                    },
                                    "is_git_lfs_enabled": {
                                        "type": "boolean",
                                        "description": "Enable Git LFS."
                                    },
                                    "is_git_shallow_clone_enabled": {
                                        "type": "boolean",
                                        "description": "Use a shallow Git clone."
                                    },
                                    "disable_build_cache": {
                                        "type": "boolean",
                                        "description": "Disable the build cache."
                                    },
                                    "inject_build_args_to_dockerfile": {
                                        "type": "boolean",
                                        "description": "Inject build arguments into the Dockerfile build."
                                    },
                                    "include_source_commit_in_build": {
                                        "type": "boolean",
                                        "description": "Include the source commit in the build."
                                    },
                                    "is_env_sorting_enabled": {
                                        "type": "boolean",
                                        "description": "Sort environment variables."
                                    },
                                    "is_pr_deployments_public_enabled": {
                                        "type": "boolean",
                                        "description": "Make pull request deployments public."
                                    },
                                    "stop_grace_period": {
                                        "type": "integer",
                                        "nullable": true,
                                        "minimum": 1,
                                        "maximum": 3600,
                                        "description": "Container stop grace period in seconds."
                                    },
                                    "docker_images_to_keep": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Number of Docker images to retain."
                                    },
                                    "is_gzip_enabled": {
                                        "type": "boolean",
                                        "description": "Enable gzip compression."
                                    },
                                    "is_stripprefix_enabled": {
                                        "type": "boolean",
                                        "description": "Enable path prefix stripping."
                                    },
                                    "is_raw_compose_deployment_enabled": {
                                        "type": "boolean",
                                        "description": "Deploy the raw Docker Compose definition."
                                    },
                                    "is_log_drain_enabled": {
                                        "type": "boolean",
                                        "description": "Enable log drain for the application."
                                    },
                                    "is_gpu_enabled": {
                                        "type": "boolean",
                                        "description": "Enable GPU support."
                                    },
                                    "gpu_driver": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "GPU driver name."
                                    },
                                    "gpu_count": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Number of GPUs to allocate."
                                    },
                                    "gpu_device_ids": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Comma-separated GPU device IDs."
                                    },
                                    "gpu_options": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Additional GPU options."
                                    },
                                    "is_consistent_container_name_enabled": {
                                        "type": "boolean",
                                        "description": "Use a consistent container name across deployments."
                                    },
                                    "custom_internal_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Custom internal container name. Turns is_consistent_container_name_enabled on when that field is not sent; sending it as false together with a name returns 422."
                                    },
                                    "custom_container_name_prefix": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Prefix for generated container names (prefix-20260908T141530). Slugified and unique across the instance."
                                    },
                                    "preview_url_template": {
                                        "type": "string",
                                        "description": "Preview URL template."
                                    },
                                    "max_restart_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "description": "Maximum container restart count before stopping."
                                    },
                                    "is_http_basic_auth_enabled": {
                                        "type": "boolean",
                                        "description": "HTTP Basic Authentication enabled."
                                    },
                                    "http_basic_auth_username": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Username for HTTP Basic Authentication"
                                    },
                                    "http_basic_auth_password": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Password for HTTP Basic Authentication"
                                    },
                                    "connect_to_docker_network": {
                                        "type": "boolean",
                                        "description": "The flag to connect the service to the predefined Docker network."
                                    },
                                    "force_domain_override": {
                                        "type": "boolean",
                                        "description": "Force domain usage even if conflicts are detected. Default is false."
                                    },
                                    "autogenerate_domain": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Ignored for the dockercompose build pack, which uses docker_compose_domains. Default: true."
                                    },
                                    "is_container_label_escape_enabled": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off."
                                    },
                                    "tags": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "Tags to assign to the application."
                                    },
                                    "is_preserve_repository_enabled": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Preserve repository during deployment."
                                    }
                                },
                                "type": "object",
                                "oneOf": [
                                    {
                                        "required": [
                                            "environment_name"
                                        ]
                                    },
                                    {
                                        "required": [
                                            "environment_uuid"
                                        ]
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Application created successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "409": {
                        "description": "Domain conflicts detected.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Domain conflicts detected. Use force_domain_override=true to proceed."
                                        },
                                        "warning": {
                                            "type": "string",
                                            "example": "Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior."
                                        },
                                        "conflicts": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "domain": {
                                                        "type": "string",
                                                        "example": "example.com"
                                                    },
                                                    "resource_name": {
                                                        "type": "string",
                                                        "example": "My Application"
                                                    },
                                                    "resource_uuid": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "example": "abc123-def456"
                                                    },
                                                    "resource_type": {
                                                        "type": "string",
                                                        "enum": [
                                                            "application",
                                                            "service",
                                                            "instance"
                                                        ],
                                                        "example": "application"
                                                    },
                                                    "message": {
                                                        "type": "string",
                                                        "example": "Domain example.com is already in use by application 'My Application'"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/dockerfile": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Create (Dockerfile without git)",
                "description": "Create new application based on a simple Dockerfile (without git).",
                "operationId": "create-dockerfile-application",
                "requestBody": {
                    "description": "Application object that needs to be created.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "project_uuid",
                                    "server_uuid",
                                    "dockerfile"
                                ],
                                "properties": {
                                    "project_uuid": {
                                        "type": "string",
                                        "description": "The project UUID."
                                    },
                                    "server_uuid": {
                                        "type": "string",
                                        "description": "The server UUID."
                                    },
                                    "environment_name": {
                                        "type": "string",
                                        "description": "The environment name. Send this or environment_uuid, not both."
                                    },
                                    "environment_uuid": {
                                        "type": "string",
                                        "description": "The environment UUID. Send this or environment_name, not both."
                                    },
                                    "dockerfile": {
                                        "type": "string",
                                        "description": "The Dockerfile content."
                                    },
                                    "build_pack": {
                                        "type": "string",
                                        "enum": [
                                            "dockerfile"
                                        ],
                                        "description": "The build pack type."
                                    },
                                    "ports_exposes": {
                                        "type": "string",
                                        "description": "The ports to expose."
                                    },
                                    "destination_uuid": {
                                        "type": "string",
                                        "description": "The destination UUID."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "The application name."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "The application description."
                                    },
                                    "domains": {
                                        "type": "string",
                                        "description": "The application URLs in a comma-separated list."
                                    },
                                    "noindex_domains": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "The subset of the application domains served with an X-Robots-Tag: noindex, nofollow response header, keeping them out of search engines. Entries that are not among the application domains are ignored."
                                    },
                                    "docker_registry_image_name": {
                                        "type": "string",
                                        "description": "The docker registry image name."
                                    },
                                    "docker_registry_image_tag": {
                                        "type": "string",
                                        "description": "The docker registry image tag."
                                    },
                                    "ports_mappings": {
                                        "type": "string",
                                        "description": "The ports mappings."
                                    },
                                    "base_directory": {
                                        "type": "string",
                                        "description": "The base directory for all commands."
                                    },
                                    "health_check_enabled": {
                                        "type": "boolean",
                                        "description": "Health check enabled."
                                    },
                                    "health_check_path": {
                                        "type": "string",
                                        "description": "Health check path."
                                    },
                                    "health_check_port": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check port."
                                    },
                                    "health_check_host": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check host."
                                    },
                                    "health_check_method": {
                                        "type": "string",
                                        "description": "Health check method."
                                    },
                                    "health_check_return_code": {
                                        "type": "integer",
                                        "description": "Health check return code."
                                    },
                                    "health_check_scheme": {
                                        "type": "string",
                                        "description": "Health check scheme."
                                    },
                                    "health_check_response_text": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check response text."
                                    },
                                    "health_check_interval": {
                                        "type": "integer",
                                        "description": "Health check interval in seconds."
                                    },
                                    "health_check_timeout": {
                                        "type": "integer",
                                        "description": "Health check timeout in seconds."
                                    },
                                    "health_check_retries": {
                                        "type": "integer",
                                        "description": "Health check retries count."
                                    },
                                    "health_check_start_period": {
                                        "type": "integer",
                                        "description": "Health check start period in seconds."
                                    },
                                    "limits_memory": {
                                        "type": "string",
                                        "description": "Memory limit."
                                    },
                                    "limits_memory_swap": {
                                        "type": "string",
                                        "description": "Memory swap limit."
                                    },
                                    "limits_memory_swappiness": {
                                        "type": "integer",
                                        "description": "Memory swappiness."
                                    },
                                    "limits_memory_reservation": {
                                        "type": "string",
                                        "description": "Memory reservation."
                                    },
                                    "limits_cpus": {
                                        "type": "string",
                                        "description": "CPU limit."
                                    },
                                    "limits_cpuset": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "CPU set."
                                    },
                                    "limits_cpu_shares": {
                                        "type": "integer",
                                        "description": "CPU shares."
                                    },
                                    "custom_labels": {
                                        "type": "string",
                                        "description": "Custom labels."
                                    },
                                    "custom_docker_run_options": {
                                        "type": "string",
                                        "description": "Custom docker run options."
                                    },
                                    "post_deployment_command": {
                                        "type": "string",
                                        "description": "Post deployment command."
                                    },
                                    "post_deployment_command_container": {
                                        "type": "string",
                                        "description": "Post deployment command container."
                                    },
                                    "pre_deployment_command": {
                                        "type": "string",
                                        "description": "Pre deployment command."
                                    },
                                    "pre_deployment_command_container": {
                                        "type": "string",
                                        "description": "Pre deployment command container."
                                    },
                                    "manual_webhook_secret_github": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Github."
                                    },
                                    "manual_webhook_secret_gitlab": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitlab."
                                    },
                                    "manual_webhook_secret_bitbucket": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Bitbucket."
                                    },
                                    "manual_webhook_secret_gitea": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitea."
                                    },
                                    "redirect": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "How to set redirect with Traefik / Caddy. www<->non-www.",
                                        "enum": [
                                            "www",
                                            "non-www",
                                            "both"
                                        ]
                                    },
                                    "instant_deploy": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application should be deployed instantly."
                                    },
                                    "is_force_https_enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if HTTPS is forced. Defaults to true."
                                    },
                                    "is_preview_deployments_enabled": {
                                        "type": "boolean",
                                        "description": "Enable preview deployments for pull requests."
                                    },
                                    "use_build_server": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Use build server."
                                    },
                                    "use_build_secrets": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Use Docker Build Secrets for build-time environment variables."
                                    },
                                    "is_git_submodules_enabled": {
                                        "type": "boolean",
                                        "description": "Clone Git submodules."
                                    },
                                    "is_git_lfs_enabled": {
                                        "type": "boolean",
                                        "description": "Enable Git LFS."
                                    },
                                    "is_git_shallow_clone_enabled": {
                                        "type": "boolean",
                                        "description": "Use a shallow Git clone."
                                    },
                                    "disable_build_cache": {
                                        "type": "boolean",
                                        "description": "Disable the build cache."
                                    },
                                    "inject_build_args_to_dockerfile": {
                                        "type": "boolean",
                                        "description": "Inject build arguments into the Dockerfile build."
                                    },
                                    "include_source_commit_in_build": {
                                        "type": "boolean",
                                        "description": "Include the source commit in the build."
                                    },
                                    "is_env_sorting_enabled": {
                                        "type": "boolean",
                                        "description": "Sort environment variables."
                                    },
                                    "is_pr_deployments_public_enabled": {
                                        "type": "boolean",
                                        "description": "Make pull request deployments public."
                                    },
                                    "stop_grace_period": {
                                        "type": "integer",
                                        "nullable": true,
                                        "minimum": 1,
                                        "maximum": 3600,
                                        "description": "Container stop grace period in seconds."
                                    },
                                    "docker_images_to_keep": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Number of Docker images to retain."
                                    },
                                    "is_gzip_enabled": {
                                        "type": "boolean",
                                        "description": "Enable gzip compression."
                                    },
                                    "is_stripprefix_enabled": {
                                        "type": "boolean",
                                        "description": "Enable path prefix stripping."
                                    },
                                    "is_raw_compose_deployment_enabled": {
                                        "type": "boolean",
                                        "description": "Deploy the raw Docker Compose definition."
                                    },
                                    "is_log_drain_enabled": {
                                        "type": "boolean",
                                        "description": "Enable log drain for the application."
                                    },
                                    "is_gpu_enabled": {
                                        "type": "boolean",
                                        "description": "Enable GPU support."
                                    },
                                    "gpu_driver": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "GPU driver name."
                                    },
                                    "gpu_count": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Number of GPUs to allocate."
                                    },
                                    "gpu_device_ids": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Comma-separated GPU device IDs."
                                    },
                                    "gpu_options": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Additional GPU options."
                                    },
                                    "is_consistent_container_name_enabled": {
                                        "type": "boolean",
                                        "description": "Use a consistent container name across deployments."
                                    },
                                    "custom_internal_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Custom internal container name. Turns is_consistent_container_name_enabled on when that field is not sent; sending it as false together with a name returns 422."
                                    },
                                    "custom_container_name_prefix": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Prefix for generated container names (prefix-20260908T141530). Slugified and unique across the instance."
                                    },
                                    "preview_url_template": {
                                        "type": "string",
                                        "description": "Preview URL template."
                                    },
                                    "max_restart_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "description": "Maximum container restart count before stopping."
                                    },
                                    "is_http_basic_auth_enabled": {
                                        "type": "boolean",
                                        "description": "HTTP Basic Authentication enabled."
                                    },
                                    "http_basic_auth_username": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Username for HTTP Basic Authentication"
                                    },
                                    "http_basic_auth_password": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Password for HTTP Basic Authentication"
                                    },
                                    "connect_to_docker_network": {
                                        "type": "boolean",
                                        "description": "The flag to connect the service to the predefined Docker network."
                                    },
                                    "force_domain_override": {
                                        "type": "boolean",
                                        "description": "Force domain usage even if conflicts are detected. Default is false."
                                    },
                                    "autogenerate_domain": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Ignored for the dockercompose build pack, which uses docker_compose_domains. Default: true."
                                    },
                                    "is_container_label_escape_enabled": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off."
                                    },
                                    "tags": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "Tags to assign to the application."
                                    }
                                },
                                "type": "object",
                                "oneOf": [
                                    {
                                        "required": [
                                            "environment_name"
                                        ]
                                    },
                                    {
                                        "required": [
                                            "environment_uuid"
                                        ]
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Application created successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "409": {
                        "description": "Domain conflicts detected.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Domain conflicts detected. Use force_domain_override=true to proceed."
                                        },
                                        "warning": {
                                            "type": "string",
                                            "example": "Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior."
                                        },
                                        "conflicts": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "domain": {
                                                        "type": "string",
                                                        "example": "example.com"
                                                    },
                                                    "resource_name": {
                                                        "type": "string",
                                                        "example": "My Application"
                                                    },
                                                    "resource_uuid": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "example": "abc123-def456"
                                                    },
                                                    "resource_type": {
                                                        "type": "string",
                                                        "enum": [
                                                            "application",
                                                            "service",
                                                            "instance"
                                                        ],
                                                        "example": "application"
                                                    },
                                                    "message": {
                                                        "type": "string",
                                                        "example": "Domain example.com is already in use by application 'My Application'"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/dockerimage": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Create (Docker Image without git)",
                "description": "Create new application based on a prebuilt docker image (without git).",
                "operationId": "create-dockerimage-application",
                "requestBody": {
                    "description": "Application object that needs to be created.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "project_uuid",
                                    "server_uuid",
                                    "docker_registry_image_name"
                                ],
                                "properties": {
                                    "project_uuid": {
                                        "type": "string",
                                        "description": "The project UUID."
                                    },
                                    "server_uuid": {
                                        "type": "string",
                                        "description": "The server UUID."
                                    },
                                    "environment_name": {
                                        "type": "string",
                                        "description": "The environment name. Send this or environment_uuid, not both."
                                    },
                                    "environment_uuid": {
                                        "type": "string",
                                        "description": "The environment UUID. Send this or environment_name, not both."
                                    },
                                    "docker_registry_image_name": {
                                        "type": "string",
                                        "description": "The docker registry image name."
                                    },
                                    "docker_registry_image_tag": {
                                        "type": "string",
                                        "description": "The docker registry image tag."
                                    },
                                    "ports_exposes": {
                                        "type": "string",
                                        "description": "The ports to expose."
                                    },
                                    "destination_uuid": {
                                        "type": "string",
                                        "description": "The destination UUID."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "The application name."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "The application description."
                                    },
                                    "domains": {
                                        "type": "string",
                                        "description": "The application URLs in a comma-separated list."
                                    },
                                    "noindex_domains": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "The subset of the application domains served with an X-Robots-Tag: noindex, nofollow response header, keeping them out of search engines. Entries that are not among the application domains are ignored."
                                    },
                                    "ports_mappings": {
                                        "type": "string",
                                        "description": "The ports mappings."
                                    },
                                    "health_check_enabled": {
                                        "type": "boolean",
                                        "description": "Health check enabled."
                                    },
                                    "health_check_path": {
                                        "type": "string",
                                        "description": "Health check path."
                                    },
                                    "health_check_port": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check port."
                                    },
                                    "health_check_host": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check host."
                                    },
                                    "health_check_method": {
                                        "type": "string",
                                        "description": "Health check method."
                                    },
                                    "health_check_return_code": {
                                        "type": "integer",
                                        "description": "Health check return code."
                                    },
                                    "health_check_scheme": {
                                        "type": "string",
                                        "description": "Health check scheme."
                                    },
                                    "health_check_response_text": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check response text."
                                    },
                                    "health_check_interval": {
                                        "type": "integer",
                                        "description": "Health check interval in seconds."
                                    },
                                    "health_check_timeout": {
                                        "type": "integer",
                                        "description": "Health check timeout in seconds."
                                    },
                                    "health_check_retries": {
                                        "type": "integer",
                                        "description": "Health check retries count."
                                    },
                                    "health_check_start_period": {
                                        "type": "integer",
                                        "description": "Health check start period in seconds."
                                    },
                                    "limits_memory": {
                                        "type": "string",
                                        "description": "Memory limit."
                                    },
                                    "limits_memory_swap": {
                                        "type": "string",
                                        "description": "Memory swap limit."
                                    },
                                    "limits_memory_swappiness": {
                                        "type": "integer",
                                        "description": "Memory swappiness."
                                    },
                                    "limits_memory_reservation": {
                                        "type": "string",
                                        "description": "Memory reservation."
                                    },
                                    "limits_cpus": {
                                        "type": "string",
                                        "description": "CPU limit."
                                    },
                                    "limits_cpuset": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "CPU set."
                                    },
                                    "limits_cpu_shares": {
                                        "type": "integer",
                                        "description": "CPU shares."
                                    },
                                    "custom_labels": {
                                        "type": "string",
                                        "description": "Custom labels."
                                    },
                                    "custom_docker_run_options": {
                                        "type": "string",
                                        "description": "Custom docker run options."
                                    },
                                    "post_deployment_command": {
                                        "type": "string",
                                        "description": "Post deployment command."
                                    },
                                    "post_deployment_command_container": {
                                        "type": "string",
                                        "description": "Post deployment command container."
                                    },
                                    "pre_deployment_command": {
                                        "type": "string",
                                        "description": "Pre deployment command."
                                    },
                                    "pre_deployment_command_container": {
                                        "type": "string",
                                        "description": "Pre deployment command container."
                                    },
                                    "manual_webhook_secret_github": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Github."
                                    },
                                    "manual_webhook_secret_gitlab": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitlab."
                                    },
                                    "manual_webhook_secret_bitbucket": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Bitbucket."
                                    },
                                    "manual_webhook_secret_gitea": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitea."
                                    },
                                    "redirect": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "How to set redirect with Traefik / Caddy. www<->non-www.",
                                        "enum": [
                                            "www",
                                            "non-www",
                                            "both"
                                        ]
                                    },
                                    "instant_deploy": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application should be deployed instantly."
                                    },
                                    "is_force_https_enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if HTTPS is forced. Defaults to true."
                                    },
                                    "is_preview_deployments_enabled": {
                                        "type": "boolean",
                                        "description": "Enable preview deployments for pull requests."
                                    },
                                    "use_build_server": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Use build server."
                                    },
                                    "use_build_secrets": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Use Docker Build Secrets for build-time environment variables."
                                    },
                                    "is_git_submodules_enabled": {
                                        "type": "boolean",
                                        "description": "Clone Git submodules."
                                    },
                                    "is_git_lfs_enabled": {
                                        "type": "boolean",
                                        "description": "Enable Git LFS."
                                    },
                                    "is_git_shallow_clone_enabled": {
                                        "type": "boolean",
                                        "description": "Use a shallow Git clone."
                                    },
                                    "disable_build_cache": {
                                        "type": "boolean",
                                        "description": "Disable the build cache."
                                    },
                                    "inject_build_args_to_dockerfile": {
                                        "type": "boolean",
                                        "description": "Inject build arguments into the Dockerfile build."
                                    },
                                    "include_source_commit_in_build": {
                                        "type": "boolean",
                                        "description": "Include the source commit in the build."
                                    },
                                    "is_env_sorting_enabled": {
                                        "type": "boolean",
                                        "description": "Sort environment variables."
                                    },
                                    "is_pr_deployments_public_enabled": {
                                        "type": "boolean",
                                        "description": "Make pull request deployments public."
                                    },
                                    "stop_grace_period": {
                                        "type": "integer",
                                        "nullable": true,
                                        "minimum": 1,
                                        "maximum": 3600,
                                        "description": "Container stop grace period in seconds."
                                    },
                                    "docker_images_to_keep": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Number of Docker images to retain."
                                    },
                                    "is_gzip_enabled": {
                                        "type": "boolean",
                                        "description": "Enable gzip compression."
                                    },
                                    "is_stripprefix_enabled": {
                                        "type": "boolean",
                                        "description": "Enable path prefix stripping."
                                    },
                                    "is_raw_compose_deployment_enabled": {
                                        "type": "boolean",
                                        "description": "Deploy the raw Docker Compose definition."
                                    },
                                    "is_log_drain_enabled": {
                                        "type": "boolean",
                                        "description": "Enable log drain for the application."
                                    },
                                    "is_gpu_enabled": {
                                        "type": "boolean",
                                        "description": "Enable GPU support."
                                    },
                                    "gpu_driver": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "GPU driver name."
                                    },
                                    "gpu_count": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Number of GPUs to allocate."
                                    },
                                    "gpu_device_ids": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Comma-separated GPU device IDs."
                                    },
                                    "gpu_options": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Additional GPU options."
                                    },
                                    "is_consistent_container_name_enabled": {
                                        "type": "boolean",
                                        "description": "Use a consistent container name across deployments."
                                    },
                                    "custom_internal_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Custom internal container name. Turns is_consistent_container_name_enabled on when that field is not sent; sending it as false together with a name returns 422."
                                    },
                                    "custom_container_name_prefix": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Prefix for generated container names (prefix-20260908T141530). Slugified and unique across the instance."
                                    },
                                    "preview_url_template": {
                                        "type": "string",
                                        "description": "Preview URL template."
                                    },
                                    "max_restart_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "description": "Maximum container restart count before stopping."
                                    },
                                    "is_http_basic_auth_enabled": {
                                        "type": "boolean",
                                        "description": "HTTP Basic Authentication enabled."
                                    },
                                    "http_basic_auth_username": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Username for HTTP Basic Authentication"
                                    },
                                    "http_basic_auth_password": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Password for HTTP Basic Authentication"
                                    },
                                    "connect_to_docker_network": {
                                        "type": "boolean",
                                        "description": "The flag to connect the service to the predefined Docker network."
                                    },
                                    "force_domain_override": {
                                        "type": "boolean",
                                        "description": "Force domain usage even if conflicts are detected. Default is false."
                                    },
                                    "autogenerate_domain": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Ignored for the dockercompose build pack, which uses docker_compose_domains. Default: true."
                                    },
                                    "is_container_label_escape_enabled": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off."
                                    },
                                    "tags": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "Tags to assign to the application."
                                    }
                                },
                                "type": "object",
                                "oneOf": [
                                    {
                                        "required": [
                                            "environment_name"
                                        ]
                                    },
                                    {
                                        "required": [
                                            "environment_uuid"
                                        ]
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Application created successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "409": {
                        "description": "Domain conflicts detected.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Domain conflicts detected. Use force_domain_override=true to proceed."
                                        },
                                        "warning": {
                                            "type": "string",
                                            "example": "Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior."
                                        },
                                        "conflicts": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "domain": {
                                                        "type": "string",
                                                        "example": "example.com"
                                                    },
                                                    "resource_name": {
                                                        "type": "string",
                                                        "example": "My Application"
                                                    },
                                                    "resource_uuid": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "example": "abc123-def456"
                                                    },
                                                    "resource_type": {
                                                        "type": "string",
                                                        "enum": [
                                                            "application",
                                                            "service",
                                                            "instance"
                                                        ],
                                                        "example": "application"
                                                    },
                                                    "message": {
                                                        "type": "string",
                                                        "example": "Domain example.com is already in use by application 'My Application'"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "Get",
                "description": "Get application by UUID.",
                "operationId": "get-application-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get application by UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Application"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Applications"
                ],
                "summary": "Delete",
                "description": "Delete application by UUID.",
                "operationId": "delete-application-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "delete_configurations",
                        "in": "query",
                        "description": "Delete configurations.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "delete_volumes",
                        "in": "query",
                        "description": "Delete volumes.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "docker_cleanup",
                        "in": "query",
                        "description": "Run docker cleanup when the server disk usage is at or above its cleanup threshold. Skipped when a cleanup ran on the server in the last hour.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "delete_connected_networks",
                        "in": "query",
                        "description": "Delete connected networks.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Application deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Application deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Applications"
                ],
                "summary": "Update",
                "description": "Update application by UUID.",
                "operationId": "update-application-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Application updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "project_uuid": {
                                        "type": "string",
                                        "description": "The project UUID."
                                    },
                                    "server_uuid": {
                                        "type": "string",
                                        "description": "The server UUID."
                                    },
                                    "environment_name": {
                                        "type": "string",
                                        "description": "The environment name."
                                    },
                                    "github_app_uuid": {
                                        "type": "string",
                                        "description": "The Github App UUID."
                                    },
                                    "git_repository": {
                                        "type": "string",
                                        "description": "The git repository URL."
                                    },
                                    "git_branch": {
                                        "type": "string",
                                        "description": "The git branch."
                                    },
                                    "ports_exposes": {
                                        "type": "string",
                                        "description": "The ports to expose."
                                    },
                                    "destination_uuid": {
                                        "type": "string",
                                        "description": "The destination UUID."
                                    },
                                    "build_pack": {
                                        "type": "string",
                                        "enum": [
                                            "nixpacks",
                                            "railpack",
                                            "static",
                                            "dockerfile",
                                            "dockercompose"
                                        ],
                                        "description": "The build pack type."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "The application name."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "The application description."
                                    },
                                    "domains": {
                                        "type": "string",
                                        "description": "The application URLs in a comma-separated list."
                                    },
                                    "noindex_domains": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "The subset of the application domains served with an X-Robots-Tag: noindex, nofollow response header, keeping them out of search engines. Entries that are not among the application domains are ignored."
                                    },
                                    "git_commit_sha": {
                                        "type": "string",
                                        "description": "The git commit SHA."
                                    },
                                    "docker_registry_image_name": {
                                        "type": "string",
                                        "description": "The docker registry image name."
                                    },
                                    "docker_registry_image_tag": {
                                        "type": "string",
                                        "description": "The docker registry image tag."
                                    },
                                    "is_static": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application is static."
                                    },
                                    "is_spa": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application is a single-page application (SPA). Only relevant when is_static is true."
                                    },
                                    "is_auto_deploy_enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if auto-deploy is enabled on git push. Defaults to true."
                                    },
                                    "is_force_https_enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if HTTPS is forced. Defaults to true."
                                    },
                                    "is_preview_deployments_enabled": {
                                        "type": "boolean",
                                        "description": "Enable preview deployments for pull requests."
                                    },
                                    "install_command": {
                                        "type": "string",
                                        "description": "The install command."
                                    },
                                    "build_command": {
                                        "type": "string",
                                        "description": "The build command."
                                    },
                                    "start_command": {
                                        "type": "string",
                                        "description": "The start command."
                                    },
                                    "ports_mappings": {
                                        "type": "string",
                                        "description": "The ports mappings."
                                    },
                                    "base_directory": {
                                        "type": "string",
                                        "description": "The base directory for all commands."
                                    },
                                    "publish_directory": {
                                        "type": "string",
                                        "description": "The publish directory."
                                    },
                                    "health_check_enabled": {
                                        "type": "boolean",
                                        "description": "Health check enabled."
                                    },
                                    "health_check_path": {
                                        "type": "string",
                                        "description": "Health check path."
                                    },
                                    "health_check_port": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check port."
                                    },
                                    "health_check_host": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check host."
                                    },
                                    "health_check_method": {
                                        "type": "string",
                                        "description": "Health check method."
                                    },
                                    "health_check_return_code": {
                                        "type": "integer",
                                        "description": "Health check return code."
                                    },
                                    "health_check_scheme": {
                                        "type": "string",
                                        "description": "Health check scheme."
                                    },
                                    "health_check_response_text": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Health check response text."
                                    },
                                    "health_check_interval": {
                                        "type": "integer",
                                        "description": "Health check interval in seconds."
                                    },
                                    "health_check_timeout": {
                                        "type": "integer",
                                        "description": "Health check timeout in seconds."
                                    },
                                    "health_check_retries": {
                                        "type": "integer",
                                        "description": "Health check retries count."
                                    },
                                    "health_check_start_period": {
                                        "type": "integer",
                                        "description": "Health check start period in seconds."
                                    },
                                    "limits_memory": {
                                        "type": "string",
                                        "description": "Memory limit."
                                    },
                                    "limits_memory_swap": {
                                        "type": "string",
                                        "description": "Memory swap limit."
                                    },
                                    "limits_memory_swappiness": {
                                        "type": "integer",
                                        "description": "Memory swappiness."
                                    },
                                    "limits_memory_reservation": {
                                        "type": "string",
                                        "description": "Memory reservation."
                                    },
                                    "limits_cpus": {
                                        "type": "string",
                                        "description": "CPU limit."
                                    },
                                    "limits_cpuset": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "CPU set."
                                    },
                                    "limits_cpu_shares": {
                                        "type": "integer",
                                        "description": "CPU shares."
                                    },
                                    "custom_labels": {
                                        "type": "string",
                                        "description": "Custom labels."
                                    },
                                    "custom_docker_run_options": {
                                        "type": "string",
                                        "description": "Custom docker run options."
                                    },
                                    "post_deployment_command": {
                                        "type": "string",
                                        "description": "Post deployment command."
                                    },
                                    "post_deployment_command_container": {
                                        "type": "string",
                                        "description": "Post deployment command container."
                                    },
                                    "pre_deployment_command": {
                                        "type": "string",
                                        "description": "Pre deployment command."
                                    },
                                    "pre_deployment_command_container": {
                                        "type": "string",
                                        "description": "Pre deployment command container."
                                    },
                                    "manual_webhook_secret_github": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Github."
                                    },
                                    "manual_webhook_secret_gitlab": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitlab."
                                    },
                                    "manual_webhook_secret_bitbucket": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Bitbucket."
                                    },
                                    "manual_webhook_secret_gitea": {
                                        "type": "string",
                                        "description": "Manual webhook secret for Gitea."
                                    },
                                    "redirect": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "How to set redirect with Traefik / Caddy. www<->non-www.",
                                        "enum": [
                                            "www",
                                            "non-www",
                                            "both"
                                        ]
                                    },
                                    "instant_deploy": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the application should be deployed instantly."
                                    },
                                    "dockerfile": {
                                        "type": "string",
                                        "description": "The Dockerfile content."
                                    },
                                    "dockerfile_location": {
                                        "type": "string",
                                        "description": "The Dockerfile location in the repository."
                                    },
                                    "docker_compose_location": {
                                        "type": "string",
                                        "description": "The Docker Compose location."
                                    },
                                    "docker_compose_custom_start_command": {
                                        "type": "string",
                                        "description": "The Docker Compose custom start command."
                                    },
                                    "docker_compose_custom_build_command": {
                                        "type": "string",
                                        "description": "The Docker Compose custom build command."
                                    },
                                    "docker_compose_domains": {
                                        "type": "array",
                                        "description": "Array of URLs to be applied to containers of a dockercompose application.",
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "The service name as defined in docker-compose."
                                                },
                                                "domain": {
                                                    "type": "string",
                                                    "description": "Comma-separated list of URLs (e.g. \"https://app.coolify.io,https://app2.coolify.io\")"
                                                },
                                                "redirect": {
                                                    "type": "string",
                                                    "nullable": true,
                                                    "description": "Per-service www/non-www redirect for this compose service.",
                                                    "enum": [
                                                        "www",
                                                        "non-www",
                                                        "both"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "watch_paths": {
                                        "type": "string",
                                        "description": "The watch paths."
                                    },
                                    "use_build_server": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Use build server."
                                    },
                                    "use_build_secrets": {
                                        "type": "boolean",
                                        "description": "Use Docker Build Secrets for build-time environment variables."
                                    },
                                    "is_git_submodules_enabled": {
                                        "type": "boolean",
                                        "description": "Clone Git submodules."
                                    },
                                    "is_git_lfs_enabled": {
                                        "type": "boolean",
                                        "description": "Enable Git LFS."
                                    },
                                    "is_git_shallow_clone_enabled": {
                                        "type": "boolean",
                                        "description": "Use a shallow Git clone."
                                    },
                                    "disable_build_cache": {
                                        "type": "boolean",
                                        "description": "Disable the build cache."
                                    },
                                    "inject_build_args_to_dockerfile": {
                                        "type": "boolean",
                                        "description": "Inject build arguments into the Dockerfile build."
                                    },
                                    "include_source_commit_in_build": {
                                        "type": "boolean",
                                        "description": "Include the source commit in the build."
                                    },
                                    "is_env_sorting_enabled": {
                                        "type": "boolean",
                                        "description": "Sort environment variables."
                                    },
                                    "is_pr_deployments_public_enabled": {
                                        "type": "boolean",
                                        "description": "Make pull request deployments public."
                                    },
                                    "stop_grace_period": {
                                        "type": "integer",
                                        "nullable": true,
                                        "minimum": 1,
                                        "maximum": 3600,
                                        "description": "Container stop grace period in seconds."
                                    },
                                    "docker_images_to_keep": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Number of Docker images to retain."
                                    },
                                    "is_gzip_enabled": {
                                        "type": "boolean",
                                        "description": "Enable gzip compression."
                                    },
                                    "is_stripprefix_enabled": {
                                        "type": "boolean",
                                        "description": "Enable path prefix stripping."
                                    },
                                    "is_raw_compose_deployment_enabled": {
                                        "type": "boolean",
                                        "description": "Deploy the raw Docker Compose definition."
                                    },
                                    "is_log_drain_enabled": {
                                        "type": "boolean",
                                        "description": "Enable log drain for the application."
                                    },
                                    "is_gpu_enabled": {
                                        "type": "boolean",
                                        "description": "Enable GPU support."
                                    },
                                    "gpu_driver": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "GPU driver name."
                                    },
                                    "gpu_count": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Number of GPUs to allocate."
                                    },
                                    "gpu_device_ids": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Comma-separated GPU device IDs."
                                    },
                                    "gpu_options": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Additional GPU options."
                                    },
                                    "is_consistent_container_name_enabled": {
                                        "type": "boolean",
                                        "description": "Use a consistent container name across deployments."
                                    },
                                    "custom_internal_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Custom internal container name. Turns is_consistent_container_name_enabled on when that field is not sent; sending it as false together with a name returns 422."
                                    },
                                    "custom_container_name_prefix": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Prefix for generated container names (prefix-20260908T141530). Slugified and unique across the instance."
                                    },
                                    "preview_url_template": {
                                        "type": "string",
                                        "description": "Preview URL template."
                                    },
                                    "max_restart_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "description": "Maximum container restart count before stopping."
                                    },
                                    "connect_to_docker_network": {
                                        "type": "boolean",
                                        "description": "The flag to connect the service to the predefined Docker network."
                                    },
                                    "force_domain_override": {
                                        "type": "boolean",
                                        "description": "Force domain usage even if conflicts are detected. Default is false."
                                    },
                                    "is_container_label_escape_enabled": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off."
                                    },
                                    "is_preserve_repository_enabled": {
                                        "type": "boolean",
                                        "description": "Preserve git repository during application update. If false, the existing repository will be removed and replaced with the new one. If true, the existing repository will be kept and the new one will be ignored. Default is false."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Application updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Domain conflicts detected.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Domain conflicts detected. Use force_domain_override=true to proceed."
                                        },
                                        "warning": {
                                            "type": "string",
                                            "example": "Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior."
                                        },
                                        "conflicts": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "domain": {
                                                        "type": "string",
                                                        "example": "example.com"
                                                    },
                                                    "resource_name": {
                                                        "type": "string",
                                                        "example": "My Application"
                                                    },
                                                    "resource_uuid": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "example": "abc123-def456"
                                                    },
                                                    "resource_type": {
                                                        "type": "string",
                                                        "enum": [
                                                            "application",
                                                            "service",
                                                            "instance"
                                                        ],
                                                        "example": "application"
                                                    },
                                                    "message": {
                                                        "type": "string",
                                                        "example": "Domain example.com is already in use by application 'My Application'"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/logs": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "Get application logs.",
                "description": "Get application logs by UUID. Requires the `read:sensitive` or `root` token ability.",
                "operationId": "get-application-logs-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "lines",
                        "in": "query",
                        "description": "Number of lines to show from the end of the logs. Use `all` to return all logs. `-1` remains available as a compatibility alias.",
                        "required": false,
                        "schema": {
                            "oneOf": [
                                {
                                    "type": "integer",
                                    "format": "int32",
                                    "default": 100,
                                    "maximum": 10000,
                                    "minimum": -1
                                },
                                {
                                    "type": "string",
                                    "enum": [
                                        "all"
                                    ]
                                }
                            ]
                        }
                    },
                    {
                        "name": "show_timestamps",
                        "in": "query",
                        "description": "Show timestamps in the logs.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "service_name",
                        "in": "query",
                        "description": "Return logs only from the container of the Docker Compose service with this name. Returns 404 when no running container matches.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get application logs by UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "logs": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/previews/{pull_request_id}/logs": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "Get preview application logs.",
                "description": "Get runtime container logs for a preview deployment by application UUID and pull request ID. Requires the `read:sensitive` or `root` token ability.",
                "operationId": "get-preview-application-logs-by-pull-request-id",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "pull_request_id",
                        "in": "path",
                        "description": "Pull request ID of the preview deployment.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "lines",
                        "in": "query",
                        "description": "Number of lines to show from the end of the logs. Use `all` to return all logs. `-1` remains available as a compatibility alias.",
                        "required": false,
                        "schema": {
                            "oneOf": [
                                {
                                    "type": "integer",
                                    "format": "int32",
                                    "default": 100,
                                    "maximum": 10000,
                                    "minimum": -1
                                },
                                {
                                    "type": "string",
                                    "enum": [
                                        "all"
                                    ]
                                }
                            ]
                        }
                    },
                    {
                        "name": "show_timestamps",
                        "in": "query",
                        "description": "Show timestamps in the logs.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "service_name",
                        "in": "query",
                        "description": "Return logs only from the container of the Docker Compose service with this name. Returns 404 when no running container matches.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Preview runtime logs.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "logs": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/envs": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "List Envs",
                "description": "List all envs by application UUID.",
                "operationId": "list-envs-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All environment variables by application UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/EnvironmentVariable"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Create Env",
                "description": "Create env by application UUID.",
                "operationId": "create-env-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Env created.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "The key of the environment variable."
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "The value of the environment variable."
                                    },
                                    "is_preview": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is used in preview deployments."
                                    },
                                    "is_literal": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
                                    },
                                    "is_multiline": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is multiline."
                                    },
                                    "is_shown_once": {
                                        "type": "boolean",
                                        "description": "If true, the saved value is hidden in the UI and API responses. MCP never returns environment variable values."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Environment variable created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string",
                                            "example": "nc0k04gk8g0cgsk440g0koko"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Applications"
                ],
                "summary": "Update Env",
                "description": "Update env by application UUID.",
                "operationId": "update-env-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Env updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "key",
                                    "value"
                                ],
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "The key of the environment variable."
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "The value of the environment variable."
                                    },
                                    "is_preview": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is used in preview deployments."
                                    },
                                    "is_literal": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
                                    },
                                    "is_multiline": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is multiline."
                                    },
                                    "is_shown_once": {
                                        "type": "boolean",
                                        "description": "If true, the saved value is hidden in the UI and API responses. MCP never returns environment variable values."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Environment variable updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentVariable"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/envs/bulk": {
            "patch": {
                "tags": [
                    "Applications"
                ],
                "summary": "Update Envs (Bulk)",
                "description": "Update multiple envs by application UUID.",
                "operationId": "update-envs-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Bulk envs updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "data"
                                ],
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "key": {
                                                    "type": "string",
                                                    "description": "The key of the environment variable."
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "The value of the environment variable."
                                                },
                                                "is_preview": {
                                                    "type": "boolean",
                                                    "description": "The flag to indicate if the environment variable is used in preview deployments."
                                                },
                                                "is_literal": {
                                                    "type": "boolean",
                                                    "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
                                                },
                                                "is_multiline": {
                                                    "type": "boolean",
                                                    "description": "The flag to indicate if the environment variable is multiline."
                                                },
                                                "is_shown_once": {
                                                    "type": "boolean",
                                                    "description": "If true, the saved value is hidden in the UI and API responses. MCP never returns environment variable values."
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Environment variables updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/EnvironmentVariable"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/envs/{env_uuid}": {
            "delete": {
                "tags": [
                    "Applications"
                ],
                "summary": "Delete Env",
                "description": "Delete env by UUID.",
                "operationId": "delete-env-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "env_uuid",
                        "in": "path",
                        "description": "UUID of the environment variable.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Environment variable deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/start": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Start",
                "description": "Start application.",
                "operationId": "start-application-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "force",
                        "in": "query",
                        "description": "Force rebuild.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "instant_deploy",
                        "in": "query",
                        "description": "Instant deploy (skip queuing).",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Start application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Deployment request queued.",
                                            "description": "Message."
                                        },
                                        "deployment_uuid": {
                                            "type": "string",
                                            "example": "doogksw",
                                            "description": "UUID of the deployment."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/stop": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Stop",
                "description": "Stop application.",
                "operationId": "stop-application-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "docker_cleanup",
                        "in": "query",
                        "description": "Run docker cleanup when the server disk usage is at or above its cleanup threshold. Skipped when a cleanup ran on the server in the last hour.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Stop application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Application stopping request queued."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/restart": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Restart",
                "description": "Restart application.",
                "operationId": "restart-application-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Restart application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Restart request queued."
                                        },
                                        "deployment_uuid": {
                                            "type": "string",
                                            "example": "doogksw",
                                            "description": "UUID of the deployment."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/move": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Move",
                "description": "Move application to another project/environment. This is a purely organizational change — running containers are not affected. Note: after moving, the application will pick up shared environment variables from the new environment on the next deployment.",
                "operationId": "move-application-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Target environment to move the application to.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "environment_uuid"
                                ],
                                "properties": {
                                    "environment_uuid": {
                                        "type": "string",
                                        "description": "UUID of the target environment."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Application moved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Application moved successfully."
                                        },
                                        "uuid": {
                                            "type": "string"
                                        },
                                        "project_uuid": {
                                            "type": "string"
                                        },
                                        "environment_uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/migrate": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Migrate to Server",
                "description": "Migrate an application to another destination/server owned by the authenticated team. Stops the application, optionally transfers persistent volume data when both servers are managed by Hostwolf, and updates database records. Redeploy after migration completes.",
                "operationId": "migrate-application-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "destination_uuid"
                                ],
                                "properties": {
                                    "destination_uuid": {
                                        "description": "UUID of the target destination.",
                                        "type": "string"
                                    },
                                    "migrate_volumes": {
                                        "description": "Whether to transfer persistent volume data when migrating across servers.",
                                        "type": "boolean",
                                        "default": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Application migration started or completed."
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/storages": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "List Storages",
                "description": "List all persistent storages and file storages by application UUID.",
                "operationId": "list-storages-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All storages by application UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "persistent_storages": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        },
                                        "file_storages": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Create Storage",
                "description": "Create a persistent storage or file storage for an application.",
                "operationId": "create-storage-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "type",
                                    "mount_path"
                                ],
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "persistent",
                                            "file"
                                        ],
                                        "description": "The type of storage."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Volume name (persistent only, required for persistent)."
                                    },
                                    "mount_path": {
                                        "type": "string",
                                        "description": "The container mount path."
                                    },
                                    "content": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "File content (file only, optional)."
                                    },
                                    "is_directory": {
                                        "type": "boolean",
                                        "description": "Whether this is a directory mount (file only, default false)."
                                    },
                                    "fs_path": {
                                        "type": "string",
                                        "description": "Host path. Required for directory mounts and host file mounts. Optional for file mounts with content (default: inside the resource directory). An absolute path can be anywhere on the host; a relative path is inside the resource directory. A directory or file mount outside the resource directory needs a token with the deploy permission. Hostwolf never deletes a path outside the resource directory."
                                    }
                                },
                                "type": "object",
                                "additionalProperties": false
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Storage created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "403": {
                        "description": "The token needs the deploy permission for a mount outside the resource directory."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Applications"
                ],
                "summary": "Update Storage",
                "description": "Update a persistent storage or file storage by application UUID.",
                "operationId": "update-storage-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Storage updated. For read-only storages (from docker-compose or services), only is_preview_suffix_enabled can be updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "type"
                                ],
                                "properties": {
                                    "uuid": {
                                        "type": "string",
                                        "description": "The UUID of the storage (preferred)."
                                    },
                                    "id": {
                                        "type": "integer",
                                        "description": "The ID of the storage (deprecated, use uuid instead)."
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "persistent",
                                            "file"
                                        ],
                                        "description": "The type of storage: persistent or file."
                                    },
                                    "is_preview_suffix_enabled": {
                                        "type": "boolean",
                                        "description": "Whether to add -pr-N suffix for preview deployments."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "The volume name (persistent only, not allowed for read-only storages)."
                                    },
                                    "mount_path": {
                                        "type": "string",
                                        "description": "The container mount path (not allowed for read-only storages)."
                                    },
                                    "content": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "The file content (file only, not allowed for read-only storages). Changing the content of a file outside the resource directory needs the deploy permission."
                                    }
                                },
                                "type": "object",
                                "additionalProperties": false
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Storage updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "403": {
                        "description": "The token needs the deploy permission to change the content of a file outside the resource directory."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/storages/{storage_uuid}": {
            "delete": {
                "tags": [
                    "Applications"
                ],
                "summary": "Delete Storage",
                "description": "Delete a persistent storage or file storage by application UUID.",
                "operationId": "delete-storage-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "description": "UUID of the storage.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Storage deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/tags": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "List Tags",
                "description": "List tags for an application by UUID.",
                "operationId": "list-tags-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of tags.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Tag"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Create Tag",
                "description": "Add tag(s) to an application by UUID.",
                "operationId": "create-tag-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "tag_name": {
                                        "type": "string",
                                        "description": "The tag name (min 2 characters). Required if tag_names is not provided."
                                    },
                                    "tag_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "Array of tag names (each min 2 characters). Required if tag_name is not provided."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Tags added successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Tag"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/tags/{tag_uuid}": {
            "delete": {
                "tags": [
                    "Applications"
                ],
                "summary": "Delete Tag",
                "description": "Remove a tag from an application by UUID.",
                "operationId": "delete-tag-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag_uuid",
                        "in": "path",
                        "description": "UUID of the tag.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tag removed."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/clone": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Clone",
                "description": "Clone an application to a destination owned by the authenticated team.",
                "operationId": "clone-application-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "destination_uuid"
                                ],
                                "properties": {
                                    "destination_uuid": {
                                        "description": "UUID of the destination to clone into.",
                                        "type": "string"
                                    },
                                    "name": {
                                        "description": "Optional name for the cloned application.",
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "clone_volumes": {
                                        "description": "Whether to clone volume data.",
                                        "type": "boolean",
                                        "default": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Application cloned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Application cloned."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/rollback-images": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "List Rollback Images",
                "description": "List available Docker images for rolling back an application. Returns an empty list when the server is unavailable or remote inspection is not possible.",
                "operationId": "list-application-rollback-images",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Rollback images.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "current": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "images": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "tag": {
                                                        "type": "string"
                                                    },
                                                    "created_at": {
                                                        "type": "string"
                                                    },
                                                    "is_current": {
                                                        "type": "boolean"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/rollback": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Rollback",
                "description": "Queue a rollback deployment for an application to a previous image commit/tag.",
                "operationId": "rollback-application-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "commit"
                                ],
                                "properties": {
                                    "commit": {
                                        "description": "Image tag / commit to roll back to.",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Rollback deployment queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "deployment_uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/destinations": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "List Destinations",
                "description": "List primary and additional destinations for a standalone application.",
                "operationId": "list-application-destinations",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Application destinations."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Add Destination",
                "description": "Attach an additional standalone Docker destination to an application.",
                "operationId": "add-application-destination",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "destination_uuid"
                                ],
                                "properties": {
                                    "destination_uuid": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Destination attached."
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/destinations/{destination_uuid}": {
            "delete": {
                "tags": [
                    "Applications"
                ],
                "summary": "Remove Destination",
                "description": "Detach an additional destination from an application.",
                "operationId": "remove-application-destination",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "destination_uuid",
                        "in": "path",
                        "description": "UUID of the destination.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Destination detached."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/audit-events": {
            "get": {
                "tags": [
                    "Audit Events"
                ],
                "summary": "List",
                "description": "List audit events of the team. Only team admins and owners can view audit events. Actor e-mail, token, metadata, changes, IP address, and user agent are returned only for tokens with the read:sensitive or root permission.",
                "operationId": "list-audit-events",
                "parameters": [
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "Items per page.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 25,
                            "maximum": 100,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 1,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "description": "Search text.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 255
                        }
                    },
                    {
                        "name": "action",
                        "in": "query",
                        "description": "Filter by action. Use all for every action.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 255
                        }
                    },
                    {
                        "name": "source",
                        "in": "query",
                        "description": "Filter by source.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "all",
                                "ui",
                                "api",
                                "mcp",
                                "webhook",
                                "system",
                                "scheduler"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A page of audit events, newest first.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "current_page": {
                                            "type": "integer"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "team_id": {
                                                        "type": "integer",
                                                        "nullable": true
                                                    },
                                                    "event": {
                                                        "type": "string"
                                                    },
                                                    "source": {
                                                        "type": "string"
                                                    },
                                                    "action": {
                                                        "type": "string"
                                                    },
                                                    "level": {
                                                        "type": "string"
                                                    },
                                                    "actor_type": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "actor_id": {
                                                        "type": "integer",
                                                        "nullable": true
                                                    },
                                                    "actor_name": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "resource_type": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "resource_uuid": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "resource_name": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "description": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "per_page": {
                                            "type": "integer"
                                        },
                                        "last_page": {
                                            "type": "integer"
                                        },
                                        "total": {
                                            "type": "integer"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Only team admins and owners can view audit logs."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/autoscaling": {
            "get": {
                "tags": [
                    "Autoscaling"
                ],
                "summary": "Get autoscaling",
                "description": "The application's autoscaling policy, whether it can be turned on (and why not), and the live status: copies, CPU and this month's autoscaling spend.",
                "operationId": "get-application-autoscaling",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Autoscaling.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "configured": {
                                            "description": "False until a policy was saved; `policy` then shows the defaults.",
                                            "type": "boolean"
                                        },
                                        "blocker": {
                                            "description": "Why autoscaling cannot be turned on right now.",
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "policy": {
                                            "$ref": "#/components/schemas/AutoscalingPolicy"
                                        },
                                        "cities": {
                                            "description": "The cities `allowed_cities` may name for this app (its server size), cheapest first. GET /hostwolf/regions lists every city.",
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "example": "vultr:fra"
                                                    },
                                                    "city": {
                                                        "type": "string",
                                                        "example": "Frankfurt"
                                                    },
                                                    "country": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "example": "DE"
                                                    },
                                                    "monthly_price": {
                                                        "description": "Price of one server of the app's size there.",
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ]
                                                    },
                                                    "hourly_price": {
                                                        "description": "What one autoscaled server costs per hour there.",
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "status": {
                                            "properties": {
                                                "decision": {
                                                    "type": "string",
                                                    "example": "Watching your app"
                                                },
                                                "decided_at": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "format": "date-time"
                                                },
                                                "spend_usd": {
                                                    "description": "Autoscaled hours this month.",
                                                    "type": "number"
                                                },
                                                "hourly_usd": {
                                                    "description": "Current hourly rate of the autoscaled servers.",
                                                    "type": "number"
                                                },
                                                "copies": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "hostname": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "region": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "autoscaled": {
                                                                "type": "boolean"
                                                            },
                                                            "state": {
                                                                "type": "string",
                                                                "example": "Running"
                                                            },
                                                            "cpu": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Autoscaling"
                ],
                "summary": "Set autoscaling",
                "description": "Turns autoscaling on or off and changes its settings. Fields you leave out keep their current value. Autoscaled servers are billed hourly at the regular price (monthly price ÷ 730) on your next server invoice, up to `monthly_cap_usd`.",
                "operationId": "update-application-autoscaling",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AutoscalingPolicy"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Saved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "policy": {
                                            "$ref": "#/components/schemas/AutoscalingPolicy"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Autoscaling cannot be turned on for this application yet; `message` says why."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    },
                    "503": {
                        "description": "Billing or the autoscaler could not be reached. Nothing was changed."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/cloud-init-scripts": {
            "get": {
                "tags": [
                    "Cloud-init Scripts"
                ],
                "summary": "List Cloud-init Scripts",
                "description": "List all cloud-init scripts for the authenticated team.",
                "operationId": "list-cloud-init-scripts",
                "responses": {
                    "200": {
                        "description": "Cloud-init scripts for the team."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Forbidden."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Cloud-init Scripts"
                ],
                "summary": "Create Cloud-init Script",
                "description": "Create a new cloud-init script for the authenticated team.",
                "operationId": "create-cloud-init-script",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "script"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "script": {
                                        "description": "Bash script (#!) or cloud-config YAML.",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Cloud-init script created."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/cloud-init-scripts/{uuid}": {
            "get": {
                "tags": [
                    "Cloud-init Scripts"
                ],
                "summary": "Get Cloud-init Script",
                "description": "Get a cloud-init script by UUID.",
                "operationId": "get-cloud-init-script-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Cloud-init script."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Cloud-init Scripts"
                ],
                "summary": "Delete Cloud-init Script",
                "description": "Delete a cloud-init script by UUID.",
                "operationId": "delete-cloud-init-script-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Cloud-init script deleted."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Cloud-init Scripts"
                ],
                "summary": "Update Cloud-init Script",
                "description": "Update a cloud-init script by UUID.",
                "operationId": "update-cloud-init-script-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "script": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Cloud-init script updated."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases": {
            "get": {
                "tags": [
                    "Databases"
                ],
                "summary": "List",
                "description": "List all databases.",
                "operationId": "list-databases",
                "responses": {
                    "200": {
                        "description": "Get all databases",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                },
                                "example": "Content is very complex. Will be implemented later."
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/backups": {
            "get": {
                "tags": [
                    "Databases"
                ],
                "summary": "Get",
                "description": "Get backups details by database UUID.",
                "operationId": "get-database-backups-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get all backups for a database",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                },
                                "example": "Content is very complex. Will be implemented later."
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Databases"
                ],
                "summary": "Create Backup",
                "description": "Create a new scheduled backup configuration for a database",
                "operationId": "create-database-backup",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Backup configuration data",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "frequency"
                                ],
                                "properties": {
                                    "frequency": {
                                        "type": "string",
                                        "description": "Backup frequency (cron expression or: every_minute, hourly, daily, weekly, monthly, yearly)"
                                    },
                                    "enabled": {
                                        "type": "boolean",
                                        "description": "Whether the backup is enabled",
                                        "default": true
                                    },
                                    "save_s3": {
                                        "type": "boolean",
                                        "description": "Whether to save backups to S3",
                                        "default": false
                                    },
                                    "s3_storage_uuid": {
                                        "type": "string",
                                        "description": "S3 storage UUID (required if save_s3 is true)"
                                    },
                                    "databases_to_backup": {
                                        "type": "string",
                                        "description": "Comma separated list of databases to backup"
                                    },
                                    "dump_all": {
                                        "type": "boolean",
                                        "description": "Whether to dump all databases",
                                        "default": false
                                    },
                                    "backup_now": {
                                        "type": "boolean",
                                        "description": "Whether to trigger backup immediately after creation"
                                    },
                                    "database_backup_retention_amount_locally": {
                                        "type": "integer",
                                        "description": "Number of backups to retain locally"
                                    },
                                    "database_backup_retention_days_locally": {
                                        "type": "integer",
                                        "description": "Number of days to retain backups locally"
                                    },
                                    "database_backup_retention_max_storage_locally": {
                                        "type": "number",
                                        "description": "Max storage (GB) for local backups"
                                    },
                                    "database_backup_retention_amount_s3": {
                                        "type": "integer",
                                        "description": "Number of backups to retain in S3"
                                    },
                                    "database_backup_retention_days_s3": {
                                        "type": "integer",
                                        "description": "Number of days to retain backups in S3"
                                    },
                                    "database_backup_retention_max_storage_s3": {
                                        "type": "number",
                                        "description": "Max storage (GB) for S3 backups"
                                    },
                                    "timeout": {
                                        "type": "integer",
                                        "description": "Backup job timeout in seconds (min: 60, max: 36000)",
                                        "default": 3600
                                    },
                                    "missing_backup_notification_days": {
                                        "type": "integer",
                                        "description": "Alert after this many days without an execution; 0 disables alerts",
                                        "minimum": 0,
                                        "maximum": 365,
                                        "default": 0
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Backup configuration created successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string",
                                            "format": "uuid",
                                            "example": "550e8400-e29b-41d4-a716-446655440000"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Backup configuration created successfully."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}": {
            "get": {
                "tags": [
                    "Databases"
                ],
                "summary": "Get",
                "description": "Get database by UUID.",
                "operationId": "get-database-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get all databases",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                },
                                "example": "Content is very complex. Will be implemented later."
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Databases"
                ],
                "summary": "Delete",
                "description": "Delete database by UUID.",
                "operationId": "delete-database-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "delete_configurations",
                        "in": "query",
                        "description": "Delete configurations.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "delete_volumes",
                        "in": "query",
                        "description": "Delete volumes.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "docker_cleanup",
                        "in": "query",
                        "description": "Run docker cleanup when the server disk usage is at or above its cleanup threshold. Skipped when a cleanup ran on the server in the last hour.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "delete_connected_networks",
                        "in": "query",
                        "description": "Delete connected networks.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Database deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Database deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Databases"
                ],
                "summary": "Update",
                "description": "Update database by UUID.",
                "operationId": "update-database-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Database data",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Name of the database"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Description of the database"
                                    },
                                    "image": {
                                        "type": "string",
                                        "description": "Docker Image of the database"
                                    },
                                    "is_public": {
                                        "type": "boolean",
                                        "description": "Is the database public?"
                                    },
                                    "public_port": {
                                        "type": "integer",
                                        "description": "Public port of the database"
                                    },
                                    "public_port_timeout": {
                                        "type": "integer",
                                        "description": "Public port timeout in seconds (default: 3600)"
                                    },
                                    "limits_memory": {
                                        "type": "string",
                                        "description": "Memory limit of the database"
                                    },
                                    "limits_memory_swap": {
                                        "type": "string",
                                        "description": "Memory swap limit of the database"
                                    },
                                    "limits_memory_swappiness": {
                                        "type": "integer",
                                        "description": "Memory swappiness of the database"
                                    },
                                    "limits_memory_reservation": {
                                        "type": "string",
                                        "description": "Memory reservation of the database"
                                    },
                                    "limits_cpus": {
                                        "type": "string",
                                        "description": "CPU limit of the database"
                                    },
                                    "limits_cpuset": {
                                        "type": "string",
                                        "description": "CPU set of the database"
                                    },
                                    "limits_cpu_shares": {
                                        "type": "integer",
                                        "description": "CPU shares of the database"
                                    },
                                    "postgres_user": {
                                        "type": "string",
                                        "description": "PostgreSQL user"
                                    },
                                    "postgres_password": {
                                        "type": "string",
                                        "description": "PostgreSQL password"
                                    },
                                    "postgres_db": {
                                        "type": "string",
                                        "description": "PostgreSQL database"
                                    },
                                    "postgres_initdb_args": {
                                        "type": "string",
                                        "description": "PostgreSQL initdb args"
                                    },
                                    "postgres_host_auth_method": {
                                        "type": "string",
                                        "description": "PostgreSQL host auth method"
                                    },
                                    "postgres_conf": {
                                        "type": "string",
                                        "description": "PostgreSQL conf"
                                    },
                                    "clickhouse_admin_user": {
                                        "type": "string",
                                        "description": "Clickhouse admin user"
                                    },
                                    "clickhouse_admin_password": {
                                        "type": "string",
                                        "description": "Clickhouse admin password"
                                    },
                                    "dragonfly_password": {
                                        "type": "string",
                                        "description": "DragonFly password"
                                    },
                                    "redis_password": {
                                        "type": "string",
                                        "description": "Redis password"
                                    },
                                    "redis_conf": {
                                        "type": "string",
                                        "description": "Redis conf"
                                    },
                                    "keydb_password": {
                                        "type": "string",
                                        "description": "KeyDB password"
                                    },
                                    "keydb_conf": {
                                        "type": "string",
                                        "description": "KeyDB conf"
                                    },
                                    "mariadb_conf": {
                                        "type": "string",
                                        "description": "MariaDB conf"
                                    },
                                    "mariadb_root_password": {
                                        "type": "string",
                                        "description": "MariaDB root password"
                                    },
                                    "mariadb_user": {
                                        "type": "string",
                                        "description": "MariaDB user"
                                    },
                                    "mariadb_password": {
                                        "type": "string",
                                        "description": "MariaDB password"
                                    },
                                    "mariadb_database": {
                                        "type": "string",
                                        "description": "MariaDB database"
                                    },
                                    "mongo_conf": {
                                        "type": "string",
                                        "description": "Mongo conf"
                                    },
                                    "mongo_initdb_root_username": {
                                        "type": "string",
                                        "description": "Mongo initdb root username"
                                    },
                                    "mongo_initdb_root_password": {
                                        "type": "string",
                                        "description": "Mongo initdb root password"
                                    },
                                    "mongo_initdb_database": {
                                        "type": "string",
                                        "description": "Mongo initdb init database"
                                    },
                                    "mysql_root_password": {
                                        "type": "string",
                                        "description": "MySQL root password"
                                    },
                                    "mysql_password": {
                                        "type": "string",
                                        "description": "MySQL password"
                                    },
                                    "mysql_user": {
                                        "type": "string",
                                        "description": "MySQL user"
                                    },
                                    "mysql_database": {
                                        "type": "string",
                                        "description": "MySQL database"
                                    },
                                    "mysql_conf": {
                                        "type": "string",
                                        "description": "MySQL conf"
                                    },
                                    "sqlite_databases": {
                                        "type": "string",
                                        "description": "Comma-separated SQLite database file names"
                                    },
                                    "health_check_enabled": {
                                        "type": "boolean",
                                        "description": "Enable the database healthcheck probe.",
                                        "default": true
                                    },
                                    "health_check_interval": {
                                        "type": "integer",
                                        "description": "Healthcheck interval in seconds.",
                                        "minimum": 1,
                                        "default": 15
                                    },
                                    "health_check_timeout": {
                                        "type": "integer",
                                        "description": "Healthcheck timeout in seconds.",
                                        "minimum": 1,
                                        "default": 5
                                    },
                                    "health_check_retries": {
                                        "type": "integer",
                                        "description": "Healthcheck retries count.",
                                        "minimum": 1,
                                        "default": 5
                                    },
                                    "health_check_start_period": {
                                        "type": "integer",
                                        "description": "Healthcheck start period in seconds.",
                                        "minimum": 0,
                                        "default": 5
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Database updated"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/backups/{scheduled_backup_uuid}": {
            "delete": {
                "tags": [
                    "Databases"
                ],
                "summary": "Delete backup configuration",
                "description": "Deletes a backup configuration and all its executions.",
                "operationId": "delete-backup-configuration-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "scheduled_backup_uuid",
                        "in": "path",
                        "description": "UUID of the backup configuration to delete",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "delete_s3",
                        "in": "query",
                        "description": "Whether to delete all backup files from S3",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Backup configuration deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Backup configuration and all executions deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Backup configuration not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Backup configuration not found."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Databases"
                ],
                "summary": "Update",
                "description": "Update a specific backup configuration for a given database, identified by its UUID and the backup ID",
                "operationId": "update-database-backup",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "scheduled_backup_uuid",
                        "in": "path",
                        "description": "UUID of the backup configuration.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Database backup configuration data",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "save_s3": {
                                        "type": "boolean",
                                        "description": "Whether data is saved in s3 or not"
                                    },
                                    "s3_storage_uuid": {
                                        "type": "string",
                                        "description": "S3 storage UUID"
                                    },
                                    "backup_now": {
                                        "type": "boolean",
                                        "description": "Whether to take a backup now or not"
                                    },
                                    "enabled": {
                                        "type": "boolean",
                                        "description": "Whether the backup is enabled or not"
                                    },
                                    "databases_to_backup": {
                                        "type": "string",
                                        "description": "Comma separated list of databases to backup"
                                    },
                                    "dump_all": {
                                        "type": "boolean",
                                        "description": "Whether all databases are dumped or not"
                                    },
                                    "frequency": {
                                        "type": "string",
                                        "description": "Frequency of the backup"
                                    },
                                    "database_backup_retention_amount_locally": {
                                        "type": "integer",
                                        "description": "Retention amount of the backup locally"
                                    },
                                    "database_backup_retention_days_locally": {
                                        "type": "integer",
                                        "description": "Retention days of the backup locally"
                                    },
                                    "database_backup_retention_max_storage_locally": {
                                        "type": "number",
                                        "description": "Max storage of the backup locally"
                                    },
                                    "database_backup_retention_amount_s3": {
                                        "type": "integer",
                                        "description": "Retention amount of the backup in s3"
                                    },
                                    "database_backup_retention_days_s3": {
                                        "type": "integer",
                                        "description": "Retention days of the backup in s3"
                                    },
                                    "database_backup_retention_max_storage_s3": {
                                        "type": "number",
                                        "description": "Max storage of the backup in S3"
                                    },
                                    "timeout": {
                                        "type": "integer",
                                        "description": "Backup job timeout in seconds (min: 60, max: 36000)",
                                        "default": 3600
                                    },
                                    "missing_backup_notification_days": {
                                        "type": "integer",
                                        "description": "Alert after this many days without an execution; 0 disables alerts",
                                        "minimum": 0,
                                        "maximum": 365
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Database backup configuration updated"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/logs": {
            "get": {
                "tags": [
                    "Databases"
                ],
                "summary": "Get database logs.",
                "description": "Get database logs by UUID. Requires the `read:sensitive` or `root` token ability.",
                "operationId": "get-database-logs-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "lines",
                        "in": "query",
                        "description": "Number of lines to show from the end of the logs. Use `all` to return all logs. `-1` remains available as a compatibility alias.",
                        "required": false,
                        "schema": {
                            "oneOf": [
                                {
                                    "type": "integer",
                                    "format": "int32",
                                    "default": 100,
                                    "maximum": 10000,
                                    "minimum": -1
                                },
                                {
                                    "type": "string",
                                    "enum": [
                                        "all"
                                    ]
                                }
                            ]
                        }
                    },
                    {
                        "name": "show_timestamps",
                        "in": "query",
                        "description": "Show timestamps in the logs.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get database logs by UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "logs": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/backups/{scheduled_backup_uuid}/executions/{execution_uuid}": {
            "delete": {
                "tags": [
                    "Databases"
                ],
                "summary": "Delete backup execution",
                "description": "Deletes a specific backup execution.",
                "operationId": "delete-backup-execution-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "scheduled_backup_uuid",
                        "in": "path",
                        "description": "UUID of the backup configuration",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "execution_uuid",
                        "in": "path",
                        "description": "UUID of the backup execution to delete",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "delete_s3",
                        "in": "query",
                        "description": "Whether to delete the backup from S3",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Backup execution deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Backup execution deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Backup execution not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Backup execution not found."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/backups/{scheduled_backup_uuid}/executions": {
            "get": {
                "tags": [
                    "Databases"
                ],
                "summary": "List backup executions",
                "description": "Get all executions for a specific backup configuration.",
                "operationId": "list-backup-executions",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "scheduled_backup_uuid",
                        "in": "path",
                        "description": "UUID of the backup configuration",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of backup executions",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "executions": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "uuid": {
                                                        "type": "string"
                                                    },
                                                    "filename": {
                                                        "type": "string"
                                                    },
                                                    "size": {
                                                        "type": "integer"
                                                    },
                                                    "created_at": {
                                                        "type": "string"
                                                    },
                                                    "message": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Backup configuration not found."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/start": {
            "post": {
                "tags": [
                    "Databases"
                ],
                "summary": "Start",
                "description": "Start database.",
                "operationId": "start-database-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Start database.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Database starting request queued."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Another start, restart or import of this database is already in progress."
                    },
                    "422": {
                        "description": "The database cannot start yet, for example because a CA certificate is missing."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/stop": {
            "post": {
                "tags": [
                    "Databases"
                ],
                "summary": "Stop",
                "description": "Stop database.",
                "operationId": "stop-database-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "docker_cleanup",
                        "in": "query",
                        "description": "Run docker cleanup when the server disk usage is at or above its cleanup threshold. Skipped when a cleanup ran on the server in the last hour.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Stop database.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Database stopping request queued."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/restart": {
            "post": {
                "tags": [
                    "Databases"
                ],
                "summary": "Restart",
                "description": "Restart database.",
                "operationId": "restart-database-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Restart database.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Database restaring request queued."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Another start, restart or import of this database is already in progress."
                    },
                    "422": {
                        "description": "The database cannot start yet, for example because a CA certificate is missing."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/envs": {
            "get": {
                "tags": [
                    "Databases"
                ],
                "summary": "List Envs",
                "description": "List all envs by database UUID.",
                "operationId": "list-envs-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variables.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/EnvironmentVariable"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Databases"
                ],
                "summary": "Create Env",
                "description": "Create env by database UUID.",
                "operationId": "create-env-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Env created.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "The key of the environment variable."
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "The value of the environment variable."
                                    },
                                    "is_literal": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
                                    },
                                    "is_multiline": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is multiline."
                                    },
                                    "is_shown_once": {
                                        "type": "boolean",
                                        "description": "If true, the saved value is hidden in the UI and API responses. MCP never returns environment variable values."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Environment variable created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string",
                                            "example": "nc0k04gk8g0cgsk440g0koko"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Databases"
                ],
                "summary": "Update Env",
                "description": "Update env by database UUID.",
                "operationId": "update-env-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Env updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "key",
                                    "value"
                                ],
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "The key of the environment variable."
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "The value of the environment variable."
                                    },
                                    "is_literal": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
                                    },
                                    "is_multiline": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is multiline."
                                    },
                                    "is_shown_once": {
                                        "type": "boolean",
                                        "description": "If true, the saved value is hidden in the UI and API responses. MCP never returns environment variable values."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Environment variable updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentVariable"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/envs/bulk": {
            "patch": {
                "tags": [
                    "Databases"
                ],
                "summary": "Update Envs (Bulk)",
                "description": "Update multiple envs by database UUID.",
                "operationId": "update-envs-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Bulk envs updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "data"
                                ],
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "key": {
                                                    "type": "string",
                                                    "description": "The key of the environment variable."
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "The value of the environment variable."
                                                },
                                                "is_literal": {
                                                    "type": "boolean",
                                                    "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
                                                },
                                                "is_multiline": {
                                                    "type": "boolean",
                                                    "description": "The flag to indicate if the environment variable is multiline."
                                                },
                                                "is_shown_once": {
                                                    "type": "boolean",
                                                    "description": "If true, the saved value is hidden in the UI and API responses. MCP never returns environment variable values."
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Environment variables updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/EnvironmentVariable"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/envs/{env_uuid}": {
            "delete": {
                "tags": [
                    "Databases"
                ],
                "summary": "Delete Env",
                "description": "Delete env by UUID.",
                "operationId": "delete-env-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "env_uuid",
                        "in": "path",
                        "description": "UUID of the environment variable.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Environment variable deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/storages": {
            "get": {
                "tags": [
                    "Databases"
                ],
                "summary": "List Storages",
                "description": "List all persistent storages and file storages by database UUID.",
                "operationId": "list-storages-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All storages by database UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "persistent_storages": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        },
                                        "file_storages": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Databases"
                ],
                "summary": "Create Storage",
                "description": "Create a persistent storage or file storage for a database.",
                "operationId": "create-storage-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "type",
                                    "mount_path"
                                ],
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "persistent",
                                            "file"
                                        ],
                                        "description": "The type of storage."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Volume name (persistent only, required for persistent)."
                                    },
                                    "mount_path": {
                                        "type": "string",
                                        "description": "The container mount path."
                                    },
                                    "content": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "File content (file only, optional)."
                                    },
                                    "is_directory": {
                                        "type": "boolean",
                                        "description": "Whether this is a directory mount (file only, default false)."
                                    },
                                    "fs_path": {
                                        "type": "string",
                                        "description": "Host path. Required for directory mounts and host file mounts. Optional for file mounts with content (default: inside the resource directory). An absolute path can be anywhere on the host; a relative path is inside the resource directory. A directory or file mount outside the resource directory needs a token with the deploy permission. Hostwolf never deletes a path outside the resource directory."
                                    }
                                },
                                "type": "object",
                                "additionalProperties": false
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Storage created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "403": {
                        "description": "The token needs the deploy permission for a mount outside the resource directory."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Databases"
                ],
                "summary": "Update Storage",
                "description": "Update a persistent storage or file storage by database UUID.",
                "operationId": "update-storage-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Storage updated. For read-only storages (from docker-compose or services), only is_preview_suffix_enabled can be updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "type"
                                ],
                                "properties": {
                                    "uuid": {
                                        "type": "string",
                                        "description": "The UUID of the storage (preferred)."
                                    },
                                    "id": {
                                        "type": "integer",
                                        "description": "The ID of the storage (deprecated, use uuid instead)."
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "persistent",
                                            "file"
                                        ],
                                        "description": "The type of storage: persistent or file."
                                    },
                                    "is_preview_suffix_enabled": {
                                        "type": "boolean",
                                        "description": "Whether to add -pr-N suffix for preview deployments."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "The volume name (persistent only, not allowed for read-only storages)."
                                    },
                                    "mount_path": {
                                        "type": "string",
                                        "description": "The container mount path (not allowed for read-only storages)."
                                    },
                                    "content": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "The file content (file only, not allowed for read-only storages). Changing the content of a file outside the resource directory needs the deploy permission."
                                    }
                                },
                                "type": "object",
                                "additionalProperties": false
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Storage updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "403": {
                        "description": "The token needs the deploy permission to change the content of a file outside the resource directory."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/storages/{storage_uuid}": {
            "delete": {
                "tags": [
                    "Databases"
                ],
                "summary": "Delete Storage",
                "description": "Delete a persistent storage or file storage by database UUID.",
                "operationId": "delete-storage-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "description": "UUID of the storage.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Storage deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/tags": {
            "get": {
                "tags": [
                    "Databases"
                ],
                "summary": "List Tags",
                "description": "List tags for a database by UUID.",
                "operationId": "list-tags-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of tags.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Tag"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Databases"
                ],
                "summary": "Create Tag",
                "description": "Add tag(s) to a database by UUID.",
                "operationId": "create-tag-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "tag_name": {
                                        "type": "string",
                                        "description": "The tag name (min 2 characters). Required if tag_names is not provided."
                                    },
                                    "tag_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "Array of tag names (each min 2 characters). Required if tag_name is not provided."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Tags added successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Tag"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/tags/{tag_uuid}": {
            "delete": {
                "tags": [
                    "Databases"
                ],
                "summary": "Delete Tag",
                "description": "Remove a tag from a database by UUID.",
                "operationId": "delete-tag-by-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag_uuid",
                        "in": "path",
                        "description": "UUID of the tag.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tag removed."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/deployments": {
            "get": {
                "tags": [
                    "Deployments"
                ],
                "summary": "List",
                "description": "List currently running deployments",
                "operationId": "list-deployments",
                "responses": {
                    "200": {
                        "description": "Get all currently running deployments.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ApplicationDeploymentQueue"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/deployments/{uuid}": {
            "get": {
                "tags": [
                    "Deployments"
                ],
                "summary": "Get",
                "description": "Get deployment by UUID.",
                "operationId": "get-deployment-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Deployment UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get deployment by UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApplicationDeploymentQueue"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/deployments/{uuid}/cancel": {
            "post": {
                "tags": [
                    "Deployments"
                ],
                "summary": "Cancel",
                "description": "Cancel a deployment by UUID.",
                "operationId": "cancel-deployment-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Deployment UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deployment cancelled successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Deployment cancelled successfully."
                                        },
                                        "deployment_uuid": {
                                            "type": "string",
                                            "example": "cm37r6cqj000008jm0veg5tkm"
                                        },
                                        "status": {
                                            "type": "string",
                                            "example": "cancelled-by-user"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deployment cannot be cancelled (already finished/failed/cancelled).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Deployment cannot be cancelled. Current status: finished"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "User doesn't have permission to cancel this deployment.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "You do not have permission to cancel this deployment."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/deploy": {
            "post": {
                "tags": [
                    "Deployments"
                ],
                "summary": "Deploy",
                "description": "Deploy by tag or UUID using query parameters or a JSON body.",
                "operationId": "deploy-by-tag-or-uuid",
                "parameters": [
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Tag name(s). Comma separated list is also accepted.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "uuid",
                        "in": "query",
                        "description": "Resource UUID(s). Comma separated list is also accepted.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "force",
                        "in": "query",
                        "description": "Force rebuild (without cache)",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "pr",
                        "in": "query",
                        "description": "Pull Request Id for deploying specific PR builds. Cannot be used with tag parameter.",
                        "schema": {
                            "type": "integer",
                            "maximum": 2147483647
                        }
                    },
                    {
                        "name": "pull_request_id",
                        "in": "query",
                        "description": "Preview deployment identifier. Alias of pr.",
                        "schema": {
                            "type": "integer",
                            "maximum": 2147483647
                        }
                    },
                    {
                        "name": "docker_tag",
                        "in": "query",
                        "description": "Docker image tag for Docker Image preview deployments. Requires pull_request_id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get deployment(s) UUID's",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "deployments": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "message": {
                                                        "type": "string"
                                                    },
                                                    "resource_uuid": {
                                                        "type": "string"
                                                    },
                                                    "deployment_uuid": {
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/deployments/applications/{uuid}": {
            "get": {
                "tags": [
                    "Deployments"
                ],
                "summary": "List application deployments",
                "description": "List application deployments by using the app uuid",
                "operationId": "list-deployments-by-app-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "skip",
                        "in": "query",
                        "description": "Number of records to skip.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 0,
                            "minimum": 0
                        }
                    },
                    {
                        "name": "take",
                        "in": "query",
                        "description": "Number of records to take.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 10,
                            "minimum": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List application deployments by using the app uuid.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Application"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/destinations": {
            "get": {
                "tags": [
                    "Destinations"
                ],
                "summary": "List destinations",
                "description": "List all Docker network destinations for the authenticated team.",
                "operationId": "list-destinations",
                "responses": {
                    "200": {
                        "description": "Destinations for the authenticated team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Destination"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{server_uuid}/destinations": {
            "get": {
                "tags": [
                    "Destinations"
                ],
                "summary": "List destinations by server",
                "description": "List Docker network destinations attached to a server owned by the authenticated team.",
                "operationId": "list-server-destinations",
                "parameters": [
                    {
                        "name": "server_uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Destinations attached to the server.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Destination"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Destinations"
                ],
                "summary": "Create destination",
                "description": "Create a Docker network destination on a server owned by the authenticated team.",
                "operationId": "create-server-destination",
                "parameters": [
                    {
                        "name": "server_uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "network"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "network": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "standalone",
                                            "swarm"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Destination created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Destination"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "A destination with this network already exists."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/destinations/{uuid}": {
            "get": {
                "tags": [
                    "Destinations"
                ],
                "summary": "Get destination",
                "description": "Get a Docker network destination by UUID.",
                "operationId": "get-destination-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Destination UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Destination details.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Destination"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Destinations"
                ],
                "summary": "Delete destination",
                "description": "Delete an unused Docker network destination.",
                "operationId": "delete-destination-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Destination UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Destination deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Destination has attached resources."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Destinations"
                ],
                "summary": "Update destination",
                "description": "Update a Docker network destination name. Network cannot be changed via the API.",
                "operationId": "update-destination-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Destination UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Destination updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Destination"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/github-apps": {
            "get": {
                "tags": [
                    "GitHub Apps"
                ],
                "summary": "List",
                "description": "List all GitHub apps.",
                "operationId": "list-github-apps",
                "responses": {
                    "200": {
                        "description": "List of GitHub apps.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "id": {
                                                "type": "integer"
                                            },
                                            "uuid": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "organization": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "api_url": {
                                                "type": "string"
                                            },
                                            "html_url": {
                                                "type": "string"
                                            },
                                            "custom_user": {
                                                "type": "string"
                                            },
                                            "custom_port": {
                                                "type": "integer"
                                            },
                                            "app_id": {
                                                "type": "integer"
                                            },
                                            "installation_id": {
                                                "type": "integer"
                                            },
                                            "client_id": {
                                                "type": "string"
                                            },
                                            "private_key_id": {
                                                "type": "integer"
                                            },
                                            "is_system_wide": {
                                                "type": "boolean"
                                            },
                                            "is_public": {
                                                "type": "boolean"
                                            },
                                            "team_id": {
                                                "type": "integer"
                                            },
                                            "type": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "GitHub Apps"
                ],
                "summary": "Create GitHub App",
                "description": "Create a new GitHub app.",
                "operationId": "create-github-app",
                "requestBody": {
                    "description": "GitHub app creation payload.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "html_url",
                                    "app_id",
                                    "installation_id",
                                    "client_id",
                                    "client_secret",
                                    "private_key_uuid"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Name of the GitHub app."
                                    },
                                    "organization": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Organization to associate the app with."
                                    },
                                    "api_url": {
                                        "type": "string",
                                        "description": "API URL for the GitHub app (e.g., https://api.github.com)."
                                    },
                                    "html_url": {
                                        "type": "string",
                                        "description": "HTML URL for the GitHub app (e.g., https://github.com)."
                                    },
                                    "custom_user": {
                                        "type": "string",
                                        "description": "Custom user for SSH access (default: git)."
                                    },
                                    "custom_port": {
                                        "type": "integer",
                                        "description": "Custom port for SSH access (default: 22)."
                                    },
                                    "app_id": {
                                        "type": "integer",
                                        "description": "GitHub App ID from GitHub."
                                    },
                                    "installation_id": {
                                        "type": "integer",
                                        "description": "GitHub Installation ID."
                                    },
                                    "client_id": {
                                        "type": "string",
                                        "description": "GitHub OAuth App Client ID."
                                    },
                                    "client_secret": {
                                        "type": "string",
                                        "description": "GitHub OAuth App Client Secret."
                                    },
                                    "webhook_secret": {
                                        "type": "string",
                                        "description": "Webhook secret for GitHub webhooks."
                                    },
                                    "private_key_uuid": {
                                        "type": "string",
                                        "description": "UUID of an existing private key for GitHub App authentication."
                                    },
                                    "is_system_wide": {
                                        "type": "boolean",
                                        "description": "Is this app system-wide (cloud only)."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "GitHub app created successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "id": {
                                            "type": "integer"
                                        },
                                        "uuid": {
                                            "type": "string"
                                        },
                                        "name": {
                                            "type": "string"
                                        },
                                        "organization": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "api_url": {
                                            "type": "string"
                                        },
                                        "html_url": {
                                            "type": "string"
                                        },
                                        "custom_user": {
                                            "type": "string"
                                        },
                                        "custom_port": {
                                            "type": "integer"
                                        },
                                        "app_id": {
                                            "type": "integer"
                                        },
                                        "installation_id": {
                                            "type": "integer"
                                        },
                                        "client_id": {
                                            "type": "string"
                                        },
                                        "private_key_id": {
                                            "type": "integer"
                                        },
                                        "is_system_wide": {
                                            "type": "boolean"
                                        },
                                        "team_id": {
                                            "type": "integer"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/github-apps/{github_app_id}/repositories": {
            "get": {
                "tags": [
                    "GitHub Apps"
                ],
                "summary": "Load Repositories for a GitHub App",
                "description": "Fetch repositories from GitHub for a given GitHub app.",
                "operationId": "load-repositories",
                "parameters": [
                    {
                        "name": "github_app_id",
                        "in": "path",
                        "description": "GitHub App ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Repositories loaded successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "repositories": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/github-apps/{github_app_id}/repositories/{owner}/{repo}/branches": {
            "get": {
                "tags": [
                    "GitHub Apps"
                ],
                "summary": "Load Branches for a GitHub Repository",
                "description": "Fetch branches from GitHub for a given repository.",
                "operationId": "load-branches",
                "parameters": [
                    {
                        "name": "github_app_id",
                        "in": "path",
                        "description": "GitHub App ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "owner",
                        "in": "path",
                        "description": "Repository owner",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "repo",
                        "in": "path",
                        "description": "Repository name",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Branches loaded successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "branches": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/github-apps/{github_app_id}": {
            "delete": {
                "tags": [
                    "GitHub Apps"
                ],
                "summary": "Delete GitHub App",
                "description": "Delete a GitHub app if it's not being used by any applications.",
                "operationId": "deleteGithubApp",
                "parameters": [
                    {
                        "name": "github_app_id",
                        "in": "path",
                        "description": "GitHub App ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "GitHub app deleted successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "GitHub app deleted successfully"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "GitHub app not found"
                    },
                    "409": {
                        "description": "Conflict - GitHub app is in use",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "This GitHub app is being used by 5 application(s). Please delete all applications first."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "GitHub Apps"
                ],
                "summary": "Update GitHub App",
                "description": "Update an existing GitHub app.",
                "operationId": "updateGithubApp",
                "parameters": [
                    {
                        "name": "github_app_id",
                        "in": "path",
                        "description": "GitHub App ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "GitHub App name"
                                    },
                                    "organization": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "GitHub organization"
                                    },
                                    "api_url": {
                                        "type": "string",
                                        "description": "GitHub API URL"
                                    },
                                    "html_url": {
                                        "type": "string",
                                        "description": "GitHub HTML URL"
                                    },
                                    "custom_user": {
                                        "type": "string",
                                        "description": "Custom user for SSH"
                                    },
                                    "custom_port": {
                                        "type": "integer",
                                        "description": "Custom port for SSH"
                                    },
                                    "app_id": {
                                        "type": "integer",
                                        "description": "GitHub App ID"
                                    },
                                    "installation_id": {
                                        "type": "integer",
                                        "description": "GitHub Installation ID"
                                    },
                                    "client_id": {
                                        "type": "string",
                                        "description": "GitHub Client ID"
                                    },
                                    "client_secret": {
                                        "type": "string",
                                        "description": "GitHub Client Secret"
                                    },
                                    "webhook_secret": {
                                        "type": "string",
                                        "description": "GitHub Webhook Secret"
                                    },
                                    "private_key_uuid": {
                                        "type": "string",
                                        "description": "Private key UUID"
                                    },
                                    "is_system_wide": {
                                        "type": "boolean",
                                        "description": "Is system wide (non-cloud instances only)"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "GitHub app updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "GitHub app updated successfully"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Updated GitHub app data"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "GitHub app not found"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/gitlab-apps": {
            "get": {
                "tags": [
                    "GitLab Apps"
                ],
                "summary": "List",
                "description": "List all GitLab apps for the current team (and system-wide sources).",
                "operationId": "list-gitlab-apps",
                "responses": {
                    "200": {
                        "description": "List of GitLab apps.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "id": {
                                                "type": "integer"
                                            },
                                            "uuid": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "api_url": {
                                                "type": "string"
                                            },
                                            "html_url": {
                                                "type": "string"
                                            },
                                            "custom_user": {
                                                "type": "string"
                                            },
                                            "custom_port": {
                                                "type": "integer"
                                            },
                                            "client_id": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "group_name": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "redirect_uri": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "is_system_wide": {
                                                "type": "boolean"
                                            },
                                            "is_public": {
                                                "type": "boolean"
                                            },
                                            "team_id": {
                                                "type": "integer"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "GitLab Apps"
                ],
                "summary": "Create GitLab App",
                "description": "Create a new GitLab app (OAuth source). Credentials may be supplied later via the UI or update endpoint.",
                "operationId": "create-gitlab-app",
                "requestBody": {
                    "description": "GitLab app creation payload.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "html_url"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Name of the GitLab app."
                                    },
                                    "html_url": {
                                        "type": "string",
                                        "description": "GitLab instance URL (e.g., https://gitlab.com)."
                                    },
                                    "api_url": {
                                        "type": "string",
                                        "description": "GitLab API URL (defaults to {html_url}/api/v4)."
                                    },
                                    "custom_user": {
                                        "type": "string",
                                        "description": "Custom user for SSH access (default: git)."
                                    },
                                    "custom_port": {
                                        "type": "integer",
                                        "description": "Custom port for SSH access (default: 22)."
                                    },
                                    "group_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional comma-separated group names to filter repositories."
                                    },
                                    "client_id": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "GitLab OAuth Application ID."
                                    },
                                    "client_secret": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "GitLab OAuth Application Secret."
                                    },
                                    "webhook_token": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Webhook secret token (auto-generated when omitted)."
                                    },
                                    "redirect_uri": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "OAuth redirect URI registered in GitLab."
                                    },
                                    "is_system_wide": {
                                        "type": "boolean",
                                        "description": "Is this app system-wide (non-cloud instances only)."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "GitLab app created successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "id": {
                                            "type": "integer"
                                        },
                                        "uuid": {
                                            "type": "string"
                                        },
                                        "name": {
                                            "type": "string"
                                        },
                                        "api_url": {
                                            "type": "string"
                                        },
                                        "html_url": {
                                            "type": "string"
                                        },
                                        "custom_user": {
                                            "type": "string"
                                        },
                                        "custom_port": {
                                            "type": "integer"
                                        },
                                        "client_id": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "group_name": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "redirect_uri": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "is_system_wide": {
                                            "type": "boolean"
                                        },
                                        "team_id": {
                                            "type": "integer"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/gitlab-apps/{gitlab_app_id}": {
            "delete": {
                "tags": [
                    "GitLab Apps"
                ],
                "summary": "Delete GitLab App",
                "description": "Delete a GitLab app if it is not being used by any applications.",
                "operationId": "deleteGitlabApp",
                "parameters": [
                    {
                        "name": "gitlab_app_id",
                        "in": "path",
                        "description": "GitLab App ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "GitLab app deleted successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "GitLab app deleted successfully"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "GitLab app not found"
                    },
                    "409": {
                        "description": "Conflict - GitLab app is in use",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "This GitLab app is being used by 5 application(s). Please delete all applications first."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "GitLab Apps"
                ],
                "summary": "Update GitLab App",
                "description": "Update an existing GitLab app.",
                "operationId": "updateGitlabApp",
                "parameters": [
                    {
                        "name": "gitlab_app_id",
                        "in": "path",
                        "description": "GitLab App ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "GitLab App name"
                                    },
                                    "html_url": {
                                        "type": "string",
                                        "description": "GitLab HTML URL"
                                    },
                                    "api_url": {
                                        "type": "string",
                                        "description": "GitLab API URL"
                                    },
                                    "custom_user": {
                                        "type": "string",
                                        "description": "Custom user for SSH"
                                    },
                                    "custom_port": {
                                        "type": "integer",
                                        "description": "Custom port for SSH"
                                    },
                                    "group_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional group filter"
                                    },
                                    "client_id": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "OAuth Application ID"
                                    },
                                    "client_secret": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "OAuth Application Secret"
                                    },
                                    "webhook_token": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Webhook secret token"
                                    },
                                    "redirect_uri": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "OAuth redirect URI"
                                    },
                                    "is_system_wide": {
                                        "type": "boolean",
                                        "description": "Is system wide (non-cloud instances only)"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "GitLab app updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "GitLab app updated successfully"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Updated GitLab app data"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "GitLab app not found"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/servers": {
            "get": {
                "tags": [
                    "Hostwolf"
                ],
                "summary": "List purchased servers",
                "description": "App servers and VPS your team bought, with their size, city, status and monthly price. Servers are bought and cancelled in the console under Servers & Billing. `server_uuid` is the uuid used by the /servers and /applications endpoints (app servers only).",
                "operationId": "list-hostwolf-servers",
                "responses": {
                    "200": {
                        "description": "Purchased servers.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/HostwolfServer"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/servers/{uuid}": {
            "get": {
                "tags": [
                    "Hostwolf"
                ],
                "summary": "Get a purchased server",
                "description": "One purchased app server or VPS by its uuid.",
                "operationId": "get-hostwolf-server",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The server.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfServer"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/servers/{uuid}/traffic": {
            "get": {
                "tags": [
                    "Hostwolf"
                ],
                "summary": "Get a server's traffic",
                "description": "Outbound (egress) traffic of a purchased server in a calendar month (UTC), and what it costs so far: 1 TB a month is included, then each whole GB costs `price_per_gb`.",
                "operationId": "get-hostwolf-server-traffic",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "month",
                        "in": "query",
                        "description": "YYYY-MM, default the current month.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "2026-10"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Traffic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfTraffic"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    },
                    "503": {
                        "description": "Temporarily unavailable."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/traffic": {
            "get": {
                "tags": [
                    "Hostwolf"
                ],
                "summary": "Get the team's traffic",
                "description": "Outbound traffic of every server of your team in a calendar month (UTC), deleted servers included, with the total bill so far.",
                "operationId": "get-hostwolf-traffic",
                "parameters": [
                    {
                        "name": "month",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "2026-10"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Traffic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "month": {
                                            "type": "string"
                                        },
                                        "outbound_bytes": {
                                            "type": "integer"
                                        },
                                        "bill_so_far": {
                                            "type": "number"
                                        },
                                        "currency": {
                                            "type": "string",
                                            "example": "USD"
                                        },
                                        "servers": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/HostwolfTraffic"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    },
                    "503": {
                        "description": "Temporarily unavailable."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/regions": {
            "get": {
                "tags": [
                    "Hostwolf"
                ],
                "summary": "List cities and prices",
                "description": "The cities Hostwolf sells servers in, with the monthly price of each server size (the same catalog as the pricing page). Each size is sold at the cheapest provider in that city; some cities are one metro area served by two providers (New York / New Jersey: Vultr in Newark and UpCloud in New York), and `provider` names the one that runs `size` today. `autoscaling` tells whether autoscaling may add servers of `size` there: those ids are what `allowed_cities` in PUT /applications/{uuid}/autoscaling accepts.",
                "operationId": "list-hostwolf-regions",
                "parameters": [
                    {
                        "name": "size",
                        "in": "query",
                        "description": "Server size for `monthly_price` and `autoscaling` (default `s`).",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "s",
                                "m",
                                "l",
                                "xl"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Cities.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "currency": {
                                            "type": "string",
                                            "example": "USD"
                                        },
                                        "size": {
                                            "type": "string",
                                            "example": "s"
                                        },
                                        "sizes": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "example": "s"
                                                    },
                                                    "cpu": {
                                                        "type": "integer"
                                                    },
                                                    "ram_mb": {
                                                        "type": "integer"
                                                    },
                                                    "disk_gb": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "regions": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "example": "vultr:fra"
                                                    },
                                                    "provider": {
                                                        "description": "Provider that runs `size` in this city: hetzner, vultr or upcloud.",
                                                        "type": "string",
                                                        "example": "vultr"
                                                    },
                                                    "city": {
                                                        "type": "string",
                                                        "example": "Frankfurt"
                                                    },
                                                    "country": {
                                                        "type": "string",
                                                        "example": "DE"
                                                    },
                                                    "continent": {
                                                        "type": "string",
                                                        "example": "Europe"
                                                    },
                                                    "available": {
                                                        "type": "boolean"
                                                    },
                                                    "prices": {
                                                        "description": "Monthly price per size.",
                                                        "type": "object",
                                                        "example": {
                                                            "s": 9.11,
                                                            "m": 49.84
                                                        }
                                                    },
                                                    "monthly_price": {
                                                        "description": "Price of `size` here.",
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ]
                                                    },
                                                    "hourly_price": {
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ]
                                                    },
                                                    "autoscaling": {
                                                        "type": "boolean"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    },
                    "503": {
                        "description": "Temporarily unavailable."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/resize": {
            "post": {
                "tags": [
                    "Hostwolf"
                ],
                "summary": "Quote or confirm a server upgrade",
                "description": "Change the size of a purchased app server or VPS in place, keeping its location and IP. Without confirm, returns the new monthly price, difference, downtime and disk note. With confirm=true and an Idempotency-Key, queues one durable operation and returns 202. Reuse the same key on retries. uuid can be the purchased server uuid or its app server uuid. Billing changes when the upgrade finishes; the prorated adjustment appears on the next invoice.",
                "operationId": "resize-server",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "Idempotency-Key",
                        "in": "header",
                        "description": "Required for confirmation. Reuse on retries.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 200
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "size"
                                ],
                                "properties": {
                                    "size": {
                                        "type": "string",
                                        "enum": [
                                            "s",
                                            "m",
                                            "l",
                                            "xl"
                                        ]
                                    },
                                    "confirm": {
                                        "type": "boolean",
                                        "default": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Upgrade quote: from_size, to_size, provider_plan, monthly_price_new, monthly_price_old, monthly_price_difference, downtime_estimate and disk_note.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Operation queued: id, from_size, to_size, provider_plan, monthly_cost, monthly_price_old, monthly_price_new, status and started_at.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Size unavailable at this location, server busy or confirmation key conflict."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    },
                    "503": {
                        "description": "Temporarily unavailable."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/servers/{uuid}/volumes": {
            "get": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "List a server's volumes",
                "description": "The storage volumes of one of your purchased servers (including volumes you detached from it), with size, use, backups and price.",
                "operationId": "list-hostwolf-server-volumes",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Purchased server uuid (GET /hostwolf/servers).",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Volumes.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/HostwolfVolume"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "503": {
                        "description": "Temporarily unavailable."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Add a volume",
                "description": "Adds a block storage volume (10-1000 GB) to an app server or VPS, mounted at /mnt/volume-<id> in about a minute. It is billed hourly on the server's subscription. Send `\"confirm\": true` to buy it: without it the answer is a 422 with the price. Send an `Idempotency-Key` header to retry safely.",
                "operationId": "create-hostwolf-volume",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "Idempotency-Key",
                        "in": "header",
                        "description": "8-64 letters, digits or dashes (a UUID works). The same key never adds a second volume.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "size_gb"
                                ],
                                "properties": {
                                    "size_gb": {
                                        "type": "integer",
                                        "example": 50
                                    },
                                    "backups": {
                                        "description": "Nightly backups, kept 7 days, billed per GB stored.",
                                        "type": "boolean",
                                        "default": true
                                    },
                                    "autogrow_max_gb": {
                                        "description": "Grow automatically at 85% full, up to this size (0 = off).",
                                        "type": "integer",
                                        "default": 0
                                    },
                                    "confirm": {
                                        "description": "Must be true: you agree to the price.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Adding. Poll the volume until `status` is `ready`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfVolume"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "The server is not ready or has no subscription."
                    },
                    "422": {
                        "description": "Invalid input, or `confirm` missing (then `quote` has the price).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfConfirmRequired"
                                }
                            }
                        }
                    },
                    "429": {
                        "$ref": "#/components/responses/429"
                    },
                    "503": {
                        "description": "Temporarily unavailable."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/servers/{uuid}/volumes/offer": {
            "get": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Volume sizes and price",
                "description": "Whether volumes can be added to this server, the sizes allowed in its city, and the price of a size (`size_gb`), with or without backups.",
                "operationId": "get-hostwolf-volume-offer",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "size_gb",
                        "in": "query",
                        "description": "Quote this size (default: the smallest).",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Offer.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "available": {
                                            "type": "boolean"
                                        },
                                        "min_gb": {
                                            "type": "integer",
                                            "example": 10
                                        },
                                        "max_gb": {
                                            "type": "integer",
                                            "example": 1000
                                        },
                                        "quote": {
                                            "$ref": "#/components/schemas/HostwolfVolumeQuote"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "The server is not ready or has no subscription."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/servers/{uuid}/volumes/{volume}": {
            "get": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Get a volume",
                "operationId": "get-hostwolf-server-volume",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "volume",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "vol_1a2b3c4d5e6f"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The volume.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfVolume"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Delete a volume",
                "description": "Unmounts and deletes the volume and its files. Billing stops now; its backups are deleted after 7 days.",
                "operationId": "delete-hostwolf-volume",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "volume",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Deleting.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfVolume"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "429": {
                        "$ref": "#/components/responses/429"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Change a volume",
                "description": "Enlarge it (`size_gb`; volumes never shrink), turn nightly backups on or off, or set the auto-grow limit. Anything that can raise the bill (a bigger size, backups on, an auto-grow limit) needs `\"confirm\": true`.",
                "operationId": "update-hostwolf-volume",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "volume",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "size_gb": {
                                        "description": "New, bigger size. The file system grows online.",
                                        "type": "integer"
                                    },
                                    "backups": {
                                        "description": "Off: existing backups are deleted after 7 days.",
                                        "type": "boolean"
                                    },
                                    "autogrow_max_gb": {
                                        "description": "0 (off) or between the volume size and 1000.",
                                        "type": "integer"
                                    },
                                    "confirm": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Changing.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfVolume"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "The volume is busy (a backup, restore or resize is running)."
                    },
                    "422": {
                        "description": "Invalid input, or `confirm` missing (then `quote` has the price).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfConfirmRequired"
                                }
                            }
                        }
                    },
                    "429": {
                        "$ref": "#/components/responses/429"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/servers/{uuid}/volumes/{volume}/detach": {
            "post": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Detach a volume",
                "description": "Unmounts the volume and detaches it from the server. Its files are kept and it **stays billed** until you attach it again (POST /hostwolf/volumes/{volume}/attach, to any of your servers in the same city) or delete it. Stop whatever writes to it first.",
                "operationId": "detach-hostwolf-volume",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "volume",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Detaching.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfVolume"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "The volume is busy (a backup, restore or resize is running)."
                    },
                    "429": {
                        "$ref": "#/components/responses/429"
                    },
                    "503": {
                        "description": "The server could not unmount the volume; nothing was changed."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/volumes/{volume}/backups": {
            "get": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "List a volume's backups",
                "description": "Backups that can be restored, newest first (nightly, kept 7 days).",
                "operationId": "list-hostwolf-volume-backups",
                "parameters": [
                    {
                        "name": "volume",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Backups.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "id": {
                                                "type": "string",
                                                "example": "4f1c2a9b"
                                            },
                                            "time": {
                                                "type": "string",
                                                "format": "date-time"
                                            },
                                            "bytes": {
                                                "type": [
                                                    "integer",
                                                    "null"
                                                ]
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/servers/{uuid}/volumes/{volume}/backups": {
            "post": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Back up a volume now",
                "description": "Starts a backup now, in addition to the nightly one. The volume must be ready with backups on.",
                "operationId": "backup-hostwolf-volume",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "volume",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Backup started.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfVolume"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "The volume is busy."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    },
                    "429": {
                        "$ref": "#/components/responses/429"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/servers/{uuid}/volumes/{volume}/restore": {
            "post": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Restore a volume backup",
                "description": "Restores a backup into the volume itself (`target: same`: files written after the backup are removed, the volume is unavailable meanwhile) or into a new volume of the same size on the same server (`target: new`, billed like any volume). Both need `\"confirm\": true`.",
                "operationId": "restore-hostwolf-volume",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "volume",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "Idempotency-Key",
                        "in": "header",
                        "description": "With `target: new`: the same key never creates a second volume.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "backup_id",
                                    "target"
                                ],
                                "properties": {
                                    "backup_id": {
                                        "description": "From GET /hostwolf/volumes/{volume}/backups.",
                                        "type": "string"
                                    },
                                    "target": {
                                        "type": "string",
                                        "enum": [
                                            "same",
                                            "new"
                                        ]
                                    },
                                    "confirm": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Restore started. `target: new` answers with the new volume.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfVolume"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "The volume is busy."
                    },
                    "422": {
                        "description": "Invalid input, or `confirm` missing.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfConfirmRequired"
                                }
                            }
                        }
                    },
                    "429": {
                        "$ref": "#/components/responses/429"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/volumes": {
            "get": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "List all volumes",
                "description": "Every volume of your team: attached ones, ones you detached, and the volumes of deleted servers that are kept for 7 days (`kept_until`). `status=detached` lists only the detached ones.",
                "operationId": "list-hostwolf-volumes",
                "parameters": [
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "detached"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Volumes.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/HostwolfVolume"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/volumes/{volume}": {
            "get": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Get any volume of the team",
                "description": "One volume by id, attached or detached.",
                "operationId": "get-hostwolf-volume",
                "parameters": [
                    {
                        "name": "volume",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The volume.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfVolume"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Delete a detached volume",
                "description": "Deletes a detached volume and its files now (instead of at the end of the 7 days).",
                "operationId": "delete-detached-hostwolf-volume",
                "parameters": [
                    {
                        "name": "volume",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Deleting.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfVolume"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "description": "The volume is attached: delete it through its server."
                    },
                    "429": {
                        "$ref": "#/components/responses/429"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/volumes/{volume}/attach": {
            "post": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Attach a detached volume",
                "description": "Attaches a detached volume (one you detached, or one kept after its server was deleted) to one of your ready servers in the same city, mounted at the same path in about a minute. It is billed again from now, so `\"confirm\": true` is needed.",
                "operationId": "attach-hostwolf-volume",
                "parameters": [
                    {
                        "name": "volume",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "server_uuid"
                                ],
                                "properties": {
                                    "server_uuid": {
                                        "description": "Purchased server uuid (GET /hostwolf/servers) in the same city.",
                                        "type": "string"
                                    },
                                    "confirm": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Attaching.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfVolume"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "description": "Not detached, wrong city, or `confirm` missing.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfConfirmRequired"
                                }
                            }
                        }
                    },
                    "429": {
                        "$ref": "#/components/responses/429"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/hostwolf/volumes/{volume}/restore": {
            "post": {
                "tags": [
                    "Storage volumes"
                ],
                "summary": "Restore a detached volume's backup",
                "description": "Restores a backup of a detached volume into a new volume on one of your servers in the same city (billed like any volume, so `\"confirm\": true` is needed).",
                "operationId": "restore-detached-hostwolf-volume",
                "parameters": [
                    {
                        "name": "volume",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "backup_id",
                                    "server_uuid"
                                ],
                                "properties": {
                                    "backup_id": {
                                        "type": "string"
                                    },
                                    "server_uuid": {
                                        "type": "string"
                                    },
                                    "confirm": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Restore started; answers with the new volume.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfVolume"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "description": "Invalid input, or `confirm` missing.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfConfirmRequired"
                                }
                            }
                        }
                    },
                    "429": {
                        "$ref": "#/components/responses/429"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/security/integration-tokens": {
            "post": {
                "tags": [
                    "Secret Managers"
                ],
                "summary": "Create Secret Manager Token",
                "description": "Create and validate a Doppler, Infisical, or Vault integration token.",
                "operationId": "create-secret-manager-integration-token",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "provider",
                                    "name",
                                    "token"
                                ],
                                "properties": {
                                    "provider": {
                                        "type": "string",
                                        "enum": [
                                            "doppler",
                                            "infisical",
                                            "vault"
                                        ]
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "token": {
                                        "type": "string"
                                    },
                                    "metadata": {
                                        "type": "object"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Integration token created."
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/managed-databases": {
            "get": {
                "tags": [
                    "Managed databases"
                ],
                "summary": "List managed databases",
                "description": "Your team's managed databases with their current status.",
                "operationId": "list-managed-databases",
                "responses": {
                    "200": {
                        "description": "Managed databases.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ManagedDatabase"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Managed databases"
                ],
                "summary": "Create a managed database",
                "description": "Creates a managed database. It is billed hourly on your team's server subscription, so your team needs an active app server first. Send an `Idempotency-Key` header (a UUID) to retry safely: the same key never creates a second database.",
                "operationId": "create-managed-database",
                "parameters": [
                    {
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "engine",
                                    "plan",
                                    "region"
                                ],
                                "properties": {
                                    "engine": {
                                        "type": "string",
                                        "enum": [
                                            "postgres",
                                            "mariadb",
                                            "redis"
                                        ]
                                    },
                                    "plan": {
                                        "type": "string",
                                        "enum": [
                                            "small",
                                            "medium",
                                            "large",
                                            "xlarge"
                                        ]
                                    },
                                    "region": {
                                        "description": "A region id from GET /managed-databases/catalog.",
                                        "type": "string",
                                        "example": "vultr:ams"
                                    },
                                    "eviction_policy": {
                                        "description": "Redis only, one of the catalog's `eviction_policies`. Default `noeviction`.",
                                        "type": "string",
                                        "example": "allkeys-lru"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Creating. Poll GET /managed-databases/{uuid} until `status` is `ready`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ManagedDatabase"
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Already created with this Idempotency-Key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ManagedDatabase"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "$ref": "#/components/responses/403"
                    },
                    "409": {
                        "description": "The Idempotency-Key was already used for a different database."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    },
                    "503": {
                        "description": "Temporarily unavailable."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/managed-databases/catalog": {
            "get": {
                "tags": [
                    "Managed databases"
                ],
                "summary": "Managed database plans and regions",
                "description": "Engines, plans with their limits, and regions with the monthly and hourly price of each plan.",
                "operationId": "managed-database-catalog",
                "responses": {
                    "200": {
                        "description": "Catalog.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "engines": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "example": [
                                                "postgres",
                                                "mariadb",
                                                "redis"
                                            ]
                                        },
                                        "plans": {
                                            "description": "`pooled_clients`: app connections the pooler accepts (queued above `pool_size` engine connections); `direct_connections`: connections on the direct URL.",
                                            "type": "object",
                                            "example": {
                                                "small": {
                                                    "ram_mb": 256,
                                                    "storage_gb": 5,
                                                    "connections": 20,
                                                    "pooled_clients": 1000,
                                                    "direct_connections": 10,
                                                    "pool_size": 10,
                                                    "dedicated": false
                                                }
                                            }
                                        },
                                        "pooler_ports": {
                                            "description": "Connection pooler port per engine (PgBouncer, ProxySQL). Redis has no pooler.",
                                            "type": "object",
                                            "example": {
                                                "postgres": 6432,
                                                "mariadb": 6033
                                            }
                                        },
                                        "eviction_policies": {
                                            "description": "Redis eviction policies for `eviction_policy`.",
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "example": [
                                                "noeviction",
                                                "allkeys-lru"
                                            ]
                                        },
                                        "regions": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "example": "vultr:ams"
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "example": "Amsterdam"
                                                    },
                                                    "prices": {
                                                        "description": "Plans this region sells, with their prices.",
                                                        "type": [
                                                            "object",
                                                            "null"
                                                        ],
                                                        "example": {
                                                            "small": {
                                                                "monthly": 3.43,
                                                                "hourly": 0.0047
                                                            }
                                                        }
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "currency": {
                                            "type": "string",
                                            "example": "USD"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "503": {
                        "description": "Temporarily unavailable."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/managed-databases/{uuid}": {
            "get": {
                "tags": [
                    "Managed databases"
                ],
                "summary": "Get a managed database",
                "operationId": "get-managed-database",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The database.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ManagedDatabase"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Managed databases"
                ],
                "summary": "Delete a managed database",
                "description": "Deletes the database and stops its billing. Support can restore a deleted database for 7 days.",
                "operationId": "delete-managed-database",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Deleting."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Managed databases"
                ],
                "summary": "Change database settings",
                "description": "Redis: change the eviction policy (applied live, no restart). `allkeys-lru` suits a cache; `noeviction` (refuse writes when memory is full) suits queues and data that must not disappear. The catalog lists every policy.",
                "operationId": "update-managed-database",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "eviction_policy"
                                ],
                                "properties": {
                                    "eviction_policy": {
                                        "type": "string",
                                        "example": "allkeys-lru"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Saved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ManagedDatabase"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "The database is not ready yet."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    },
                    "429": {
                        "$ref": "#/components/responses/429"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/managed-databases/{uuid}/connection": {
            "get": {
                "tags": [
                    "Managed databases"
                ],
                "summary": "Get the connection URL",
                "description": "The connection URLs with the password, TLS required. `url` goes through the connection pooler (use it in your app); `direct_url` reaches the engine itself (migrations, LISTEN/NOTIFY, session settings, long transactions; limited connections). Redis has only `url`. Needs a token with `read:sensitive` (or `root`). Prefer `attach`, which stores them on your app without them passing through your scripts.",
                "operationId": "get-managed-database-connection",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Connection.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "env_key": {
                                            "type": "string",
                                            "example": "DATABASE_URL"
                                        },
                                        "url": {
                                            "description": "Pooled (default).",
                                            "type": "string",
                                            "example": "postgresql://hw_…:…@db-….db.app.hostwolf.net:6432/hw_…?sslmode=require"
                                        },
                                        "direct_url": {
                                            "description": "Direct; null for Redis.",
                                            "type": [
                                                "string",
                                                "null"
                                            ],
                                            "example": "postgresql://hw_…:…@db-….db.app.hostwolf.net:5432/hw_…?sslmode=require"
                                        },
                                        "direct_env_key": {
                                            "type": [
                                                "string",
                                                "null"
                                            ],
                                            "example": "DATABASE_DIRECT_URL"
                                        },
                                        "direct_connections": {
                                            "description": "How many direct connections the plan allows.",
                                            "type": [
                                                "integer",
                                                "null"
                                            ],
                                            "example": 10
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "$ref": "#/components/responses/403"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "The database is not ready yet."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/managed-databases/{uuid}/attach": {
            "post": {
                "tags": [
                    "Managed databases"
                ],
                "summary": "Connect an application",
                "description": "Saves the pooled connection URL on an application as `DATABASE_URL` and the direct one as `DATABASE_DIRECT_URL` (Redis: `REDIS_URL` only): runtime only, encrypted, shown once in the console. Redeploy the application to use them. It never replaces a variable silently: when the app already has one of them with a different value (for example another database), nothing is saved and the answer is a 409 with `conflicts` and a free `suggested_env_key`. Send `env_key` to save under another name (`DATABASE_URL_2` also saves `DATABASE_DIRECT_URL_2`), or `\"overwrite\": true` to replace them.",
                "operationId": "attach-managed-database",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "application_uuid"
                                ],
                                "properties": {
                                    "application_uuid": {
                                        "type": "string"
                                    },
                                    "env_key": {
                                        "description": "Save the pooled URL under this name instead (letters, digits, underscores). The direct URL gets DIRECT before the last `_URL`.",
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "example": "DATABASE_URL_2"
                                    },
                                    "overwrite": {
                                        "description": "Replace variables the app already has with a different value.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Saved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "env_key": {
                                            "type": "string",
                                            "example": "DATABASE_URL"
                                        },
                                        "env_keys": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "example": [
                                                "DATABASE_URL",
                                                "DATABASE_DIRECT_URL"
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "The database is not ready yet, or the app already has the variables with another value (then `conflicts` and `suggested_env_key` are set; nothing was saved).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "conflicts": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "example": [
                                                "DATABASE_URL",
                                                "DATABASE_DIRECT_URL"
                                            ]
                                        },
                                        "suggested_env_key": {
                                            "type": "string",
                                            "example": "DATABASE_URL_2"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/managed-databases/{uuid}/upgrade": {
            "post": {
                "tags": [
                    "Managed databases"
                ],
                "summary": "Upgrade the plan",
                "description": "Moves the database to a bigger plan from its `upgrades` list. `in_place` keeps it running (small → medium) or swaps the server under it with about a minute of downtime (large → xlarge); `move` copies it to another server (unavailable for the copy, about 20 s for 200,000 rows). The connection URL stays the same. The new plan is billed from the change, so `\"confirm\": true` is needed; without it the answer is a 422 with the new price. Plans never go down.",
                "operationId": "upgrade-managed-database",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "plan"
                                ],
                                "properties": {
                                    "plan": {
                                        "type": "string",
                                        "enum": [
                                            "medium",
                                            "large",
                                            "xlarge"
                                        ]
                                    },
                                    "confirm": {
                                        "description": "Must be true: you agree to the new price.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "The plan change started. Poll the database: `moving` is set until it is done.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "plan": {
                                            "type": "string"
                                        },
                                        "how": {
                                            "type": "string",
                                            "enum": [
                                                "in_place",
                                                "move"
                                            ]
                                        },
                                        "monthly_price": {
                                            "type": [
                                                "number",
                                                "null"
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "The database is not ready (or already changing)."
                    },
                    "422": {
                        "description": "Not an upgrade it can take now, or `confirm` missing (then `quote` has the price).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HostwolfConfirmRequired"
                                }
                            }
                        }
                    },
                    "429": {
                        "$ref": "#/components/responses/429"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/managed-databases/{uuid}/backups": {
            "post": {
                "tags": [
                    "Managed databases"
                ],
                "summary": "Start a backup",
                "description": "Starts an extra backup now. Nightly backups and point-in-time recovery (PostgreSQL) run without this.",
                "operationId": "backup-managed-database",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Backup started."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/metrics": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "Get server metrics",
                "description": "Read Sentinel history. CPU is percent; memory is percent used. Averages are arithmetic means of returned samples, or null for empty history. Long histories may be downsampled by HasMetrics.",
                "operationId": "get-server-metrics",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "minutes",
                        "in": "query",
                        "description": "History window, clamped to 1..1440 minutes.",
                        "schema": {
                            "type": "integer",
                            "default": 10
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Metrics history.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "server_uuid": {
                                            "type": "string"
                                        },
                                        "sentinel_enabled": {
                                            "type": "boolean"
                                        },
                                        "cpu": {
                                            "type": "array",
                                            "items": {
                                                "type": "array",
                                                "items": {
                                                    "type": "number"
                                                }
                                            }
                                        },
                                        "memory": {
                                            "type": "array",
                                            "items": {
                                                "type": "array",
                                                "items": {
                                                    "type": "number"
                                                }
                                            }
                                        },
                                        "cpu_avg": {
                                            "type": [
                                                "number",
                                                "null"
                                            ]
                                        },
                                        "memory_avg": {
                                            "type": [
                                                "number",
                                                "null"
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/metrics": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "Get application metrics",
                "description": "Read Sentinel history. CPU is percent; memory is MiB, matching the application Metrics page. Averages are arithmetic means of returned samples, or null for empty history. Long histories may be downsampled by HasMetrics.",
                "operationId": "get-application-metrics",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "minutes",
                        "in": "query",
                        "description": "History window, clamped to 1..1440 minutes.",
                        "schema": {
                            "type": "integer",
                            "default": 10
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Metrics history.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "application_uuid": {
                                            "type": "string"
                                        },
                                        "server_uuid": {
                                            "type": "string"
                                        },
                                        "sentinel_enabled": {
                                            "type": "boolean"
                                        },
                                        "cpu": {
                                            "type": "array",
                                            "items": {
                                                "type": "array",
                                                "items": {
                                                    "type": "number"
                                                }
                                            }
                                        },
                                        "memory": {
                                            "type": "array",
                                            "items": {
                                                "type": "array",
                                                "items": {
                                                    "type": "number"
                                                }
                                            }
                                        },
                                        "cpu_avg": {
                                            "type": [
                                                "number",
                                                "null"
                                            ]
                                        },
                                        "memory_avg": {
                                            "type": [
                                                "number",
                                                "null"
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/notifications/email": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Get email notification settings",
                "description": "Get the current team email notification settings, including `smtp_ehlo_domain`, the hostname sent with SMTP EHLO. Encrypted secrets are only returned when the token has `read:sensitive` (or `root`) and the user is a team admin/owner.",
                "operationId": "get-current-team-email-notifications",
                "responses": {
                    "200": {
                        "description": "Email notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Update email notification settings",
                "description": "Update the current team email notification settings. Set `smtp_ehlo_domain` to a valid hostname to control the SMTP EHLO domain, or `null` to use the system default.",
                "operationId": "update-current-team-email-notifications",
                "responses": {
                    "200": {
                        "description": "Updated email notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/notifications/discord": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Get Discord notification settings",
                "description": "Get the current team Discord notification settings. Encrypted secrets are only returned when the token has `read:sensitive` (or `root`) and the user is a team admin/owner.",
                "operationId": "get-current-team-discord-notifications",
                "responses": {
                    "200": {
                        "description": "Discord notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Update Discord notification settings",
                "description": "Update the current team Discord notification settings.",
                "operationId": "update-current-team-discord-notifications",
                "responses": {
                    "200": {
                        "description": "Updated Discord notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/notifications/slack": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Get Slack notification settings",
                "description": "Get the current team Slack notification settings. Encrypted secrets are only returned when the token has `read:sensitive` (or `root`) and the user is a team admin/owner.",
                "operationId": "get-current-team-slack-notifications",
                "responses": {
                    "200": {
                        "description": "Slack notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Update Slack notification settings",
                "description": "Update the current team Slack notification settings.",
                "operationId": "update-current-team-slack-notifications",
                "responses": {
                    "200": {
                        "description": "Updated Slack notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/notifications/telegram": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Get Telegram notification settings",
                "description": "Get the current team Telegram notification settings. Encrypted secrets are only returned when the token has `read:sensitive` (or `root`) and the user is a team admin/owner.",
                "operationId": "get-current-team-telegram-notifications",
                "responses": {
                    "200": {
                        "description": "Telegram notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Update Telegram notification settings",
                "description": "Update the current team Telegram notification settings.",
                "operationId": "update-current-team-telegram-notifications",
                "responses": {
                    "200": {
                        "description": "Updated Telegram notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/notifications/pushover": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Get Pushover notification settings",
                "description": "Get the current team Pushover notification settings. Encrypted secrets are only returned when the token has `read:sensitive` (or `root`) and the user is a team admin/owner.",
                "operationId": "get-current-team-pushover-notifications",
                "responses": {
                    "200": {
                        "description": "Pushover notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Update Pushover notification settings",
                "description": "Update the current team Pushover notification settings.",
                "operationId": "update-current-team-pushover-notifications",
                "responses": {
                    "200": {
                        "description": "Updated Pushover notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/notifications/webhook": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Get webhook notification settings",
                "description": "Get the current team webhook notification settings. Encrypted secrets are only returned when the token has `read:sensitive` (or `root`) and the user is a team admin/owner.",
                "operationId": "get-current-team-webhook-notifications",
                "responses": {
                    "200": {
                        "description": "Webhook notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Update webhook notification settings",
                "description": "Update the current team webhook notification settings.",
                "operationId": "update-current-team-webhook-notifications",
                "responses": {
                    "200": {
                        "description": "Updated webhook notification settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/version": {
            "get": {
                "summary": "Version",
                "description": "Get Hostwolf version.",
                "operationId": "version",
                "responses": {
                    "200": {
                        "description": "Returns the version of the application",
                        "content": {
                            "text/html": {
                                "schema": {
                                    "type": "string"
                                },
                                "example": "v4.0.0"
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/health": {
            "get": {
                "summary": "Healthcheck",
                "description": "Healthcheck endpoint.",
                "operationId": "healthcheck",
                "responses": {
                    "200": {
                        "description": "Healthcheck endpoint.",
                        "content": {
                            "text/html": {
                                "schema": {
                                    "type": "string"
                                },
                                "example": "OK"
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                }
            }
        },
        "/projects": {
            "get": {
                "tags": [
                    "Projects"
                ],
                "summary": "List",
                "description": "List projects.",
                "operationId": "list-projects",
                "responses": {
                    "200": {
                        "description": "Get all projects.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Project"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Projects"
                ],
                "summary": "Create",
                "description": "Create Project.",
                "operationId": "create-project",
                "requestBody": {
                    "description": "Project created.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "The name of the project."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "The description of the project."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Project created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string",
                                            "example": "og888os",
                                            "description": "The UUID of the project."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/projects/{uuid}": {
            "get": {
                "tags": [
                    "Projects"
                ],
                "summary": "Get",
                "description": "Get project by UUID.",
                "operationId": "get-project-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Project details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Project"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "description": "Project not found."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Projects"
                ],
                "summary": "Delete",
                "description": "Delete project by UUID.",
                "operationId": "delete-project-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Project deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Project deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Projects"
                ],
                "summary": "Update",
                "description": "Update Project.",
                "operationId": "update-project-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the project.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Project updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "The name of the project."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "The description of the project."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Project updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string",
                                            "example": "og888os"
                                        },
                                        "name": {
                                            "type": "string",
                                            "example": "Project Name"
                                        },
                                        "description": {
                                            "type": "string",
                                            "example": "Project Description"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/projects/{uuid}/{environment_name_or_uuid}": {
            "get": {
                "tags": [
                    "Projects"
                ],
                "summary": "Environment",
                "description": "Get environment by name or UUID.",
                "operationId": "get-environment-by-name-or-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "environment_name_or_uuid",
                        "in": "path",
                        "description": "Environment name or UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Environment"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/projects/{uuid}/environments": {
            "get": {
                "tags": [
                    "Projects"
                ],
                "summary": "List Environments",
                "description": "List all environments in a project.",
                "operationId": "get-environments",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of environments",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Environment"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "description": "Project not found."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Projects"
                ],
                "summary": "Create Environment",
                "description": "Create environment in project.",
                "operationId": "create-environment",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Environment created.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "The name of the environment."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Environment created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string",
                                            "example": "env123",
                                            "description": "The UUID of the environment."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "description": "Project not found."
                    },
                    "409": {
                        "description": "Environment with this name already exists."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/projects/{uuid}/environments/{environment_name_or_uuid}": {
            "delete": {
                "tags": [
                    "Projects"
                ],
                "summary": "Delete Environment",
                "description": "Delete environment by name or UUID. Environment must be empty.",
                "operationId": "delete-environment",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "environment_name_or_uuid",
                        "in": "path",
                        "description": "Environment name or UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Environment deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "description": "Environment has resources, so it cannot be deleted."
                    },
                    "404": {
                        "description": "Project or environment not found."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Projects"
                ],
                "summary": "Update Environment",
                "description": "Update environment by name or UUID within a project.",
                "operationId": "update-environment",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "environment_name_or_uuid",
                        "in": "path",
                        "description": "Environment name or UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Environment fields to update.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "The name of the environment."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "The description of the environment."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Environment updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string",
                                            "example": "env123"
                                        },
                                        "name": {
                                            "type": "string",
                                            "example": "staging"
                                        },
                                        "description": {
                                            "type": "string",
                                            "example": "Staging environment"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "description": "Project or environment not found."
                    },
                    "409": {
                        "description": "Environment with this name already exists."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/resources": {
            "get": {
                "tags": [
                    "Resources"
                ],
                "summary": "List",
                "description": "Get all resources.",
                "operationId": "list-resources",
                "responses": {
                    "200": {
                        "description": "Get all resources",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                },
                                "example": "Content is very complex. Will be implemented later."
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/s3-storages": {
            "get": {
                "tags": [
                    "S3 Storages"
                ],
                "summary": "List S3 Storages",
                "description": "List all S3 storages for the authenticated team.",
                "operationId": "list-s3-storages",
                "responses": {
                    "200": {
                        "description": "Get all S3 storages.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "uuid": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "description": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "endpoint": {
                                                "type": "string"
                                            },
                                            "bucket": {
                                                "type": "string"
                                            },
                                            "region": {
                                                "type": "string"
                                            },
                                            "is_usable": {
                                                "type": "boolean"
                                            },
                                            "team_id": {
                                                "type": "integer"
                                            },
                                            "created_at": {
                                                "type": "string"
                                            },
                                            "updated_at": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "S3 Storages"
                ],
                "summary": "Create S3 Storage",
                "description": "Create a new S3 storage configuration for the authenticated team.",
                "operationId": "create-s3-storage",
                "requestBody": {
                    "description": "S3 storage details",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "endpoint",
                                    "bucket",
                                    "region",
                                    "key",
                                    "secret"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "example": "My S3 Storage",
                                        "description": "A friendly name for the storage."
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional description."
                                    },
                                    "endpoint": {
                                        "type": "string",
                                        "example": "https://s3.us-east-1.amazonaws.com",
                                        "description": "S3-compatible endpoint URL."
                                    },
                                    "bucket": {
                                        "type": "string",
                                        "example": "my-bucket",
                                        "description": "S3 bucket name."
                                    },
                                    "region": {
                                        "type": "string",
                                        "example": "us-east-1",
                                        "description": "S3 region."
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "Access key."
                                    },
                                    "secret": {
                                        "type": "string",
                                        "description": "Secret key."
                                    },
                                    "is_usable": {
                                        "type": "boolean",
                                        "description": "Whether the storage is marked usable."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "S3 storage created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string",
                                            "example": "og888os",
                                            "description": "The UUID of the S3 storage."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/s3-storages/{uuid}": {
            "get": {
                "tags": [
                    "S3 Storages"
                ],
                "summary": "Get S3 Storage",
                "description": "Get S3 storage by UUID.",
                "operationId": "get-s3-storage-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "S3 Storage UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get S3 storage by UUID",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string"
                                        },
                                        "name": {
                                            "type": "string"
                                        },
                                        "description": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "endpoint": {
                                            "type": "string"
                                        },
                                        "bucket": {
                                            "type": "string"
                                        },
                                        "region": {
                                            "type": "string"
                                        },
                                        "is_usable": {
                                            "type": "boolean"
                                        },
                                        "team_id": {
                                            "type": "integer"
                                        },
                                        "created_at": {
                                            "type": "string"
                                        },
                                        "updated_at": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "S3 Storages"
                ],
                "summary": "Delete S3 Storage",
                "description": "Delete S3 storage by UUID.",
                "operationId": "delete-s3-storage-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the S3 storage.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "S3 storage deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "S3 storage deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "S3 Storages"
                ],
                "summary": "Update S3 Storage",
                "description": "Update S3 storage by UUID.",
                "operationId": "update-s3-storage-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "S3 Storage UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "S3 storage fields to update.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "A friendly name for the storage."
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional description."
                                    },
                                    "endpoint": {
                                        "type": "string",
                                        "description": "S3-compatible endpoint URL."
                                    },
                                    "bucket": {
                                        "type": "string",
                                        "description": "S3 bucket name."
                                    },
                                    "region": {
                                        "type": "string",
                                        "description": "S3 region."
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "Access key."
                                    },
                                    "secret": {
                                        "type": "string",
                                        "description": "Secret key."
                                    },
                                    "is_usable": {
                                        "type": "boolean",
                                        "description": "Whether the storage is marked usable."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "S3 storage updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/s3-storages/{uuid}/validate": {
            "post": {
                "tags": [
                    "S3 Storages"
                ],
                "summary": "Validate S3 Storage",
                "description": "Validate an S3 storage connection using ListObjectsV2.",
                "operationId": "validate-s3-storage-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "S3 Storage UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "S3 storage validation result.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "valid": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "S3 storage connection is valid."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/scheduled-tasks": {
            "get": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "List Tasks",
                "description": "List all scheduled tasks for an application.",
                "operationId": "list-scheduled-tasks-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get all scheduled tasks for an application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ScheduledTask"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "Create Task",
                "description": "Create a new scheduled task for an application.",
                "operationId": "create-scheduled-task-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Scheduled task data",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "command",
                                    "frequency"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "The name of the scheduled task."
                                    },
                                    "command": {
                                        "type": "string",
                                        "description": "The command to execute."
                                    },
                                    "frequency": {
                                        "type": "string",
                                        "description": "The frequency of the scheduled task."
                                    },
                                    "container": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "The container where the command should be executed."
                                    },
                                    "timeout": {
                                        "type": "integer",
                                        "description": "The timeout of the scheduled task in seconds.",
                                        "default": 300,
                                        "maximum": 36000
                                    },
                                    "enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the scheduled task is enabled.",
                                        "default": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Scheduled task created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ScheduledTask"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/scheduled-tasks/{task_uuid}": {
            "delete": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "Delete Task",
                "description": "Delete a scheduled task for an application.",
                "operationId": "delete-scheduled-task-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "task_uuid",
                        "in": "path",
                        "description": "UUID of the scheduled task.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Scheduled task deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Scheduled task deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "Update Task",
                "description": "Update a scheduled task for an application.",
                "operationId": "update-scheduled-task-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "task_uuid",
                        "in": "path",
                        "description": "UUID of the scheduled task.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Scheduled task data",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "The name of the scheduled task."
                                    },
                                    "command": {
                                        "type": "string",
                                        "description": "The command to execute."
                                    },
                                    "frequency": {
                                        "type": "string",
                                        "description": "The frequency of the scheduled task."
                                    },
                                    "container": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "The container where the command should be executed."
                                    },
                                    "timeout": {
                                        "type": "integer",
                                        "description": "The timeout of the scheduled task in seconds.",
                                        "default": 300,
                                        "maximum": 36000
                                    },
                                    "enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the scheduled task is enabled.",
                                        "default": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Scheduled task updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ScheduledTask"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/scheduled-tasks/{task_uuid}/executions": {
            "get": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "List Executions",
                "description": "List all executions for a scheduled task on an application.",
                "operationId": "list-scheduled-task-executions-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "task_uuid",
                        "in": "path",
                        "description": "UUID of the scheduled task.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get all executions for a scheduled task.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ScheduledTaskExecution"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/scheduled-tasks": {
            "get": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "List Tasks",
                "description": "List all scheduled tasks for a service.",
                "operationId": "list-scheduled-tasks-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get all scheduled tasks for a service.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ScheduledTask"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "Create Task",
                "description": "Create a new scheduled task for a service.",
                "operationId": "create-scheduled-task-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Scheduled task data",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "command",
                                    "frequency"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "The name of the scheduled task."
                                    },
                                    "command": {
                                        "type": "string",
                                        "description": "The command to execute."
                                    },
                                    "frequency": {
                                        "type": "string",
                                        "description": "The frequency of the scheduled task."
                                    },
                                    "container": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "The container where the command should be executed."
                                    },
                                    "timeout": {
                                        "type": "integer",
                                        "description": "The timeout of the scheduled task in seconds.",
                                        "default": 300,
                                        "maximum": 36000
                                    },
                                    "enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the scheduled task is enabled.",
                                        "default": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Scheduled task created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ScheduledTask"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/scheduled-tasks/{task_uuid}": {
            "delete": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "Delete Task",
                "description": "Delete a scheduled task for a service.",
                "operationId": "delete-scheduled-task-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "task_uuid",
                        "in": "path",
                        "description": "UUID of the scheduled task.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Scheduled task deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Scheduled task deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "Update Task",
                "description": "Update a scheduled task for a service.",
                "operationId": "update-scheduled-task-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "task_uuid",
                        "in": "path",
                        "description": "UUID of the scheduled task.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Scheduled task data",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "The name of the scheduled task."
                                    },
                                    "command": {
                                        "type": "string",
                                        "description": "The command to execute."
                                    },
                                    "frequency": {
                                        "type": "string",
                                        "description": "The frequency of the scheduled task."
                                    },
                                    "container": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "The container where the command should be executed."
                                    },
                                    "timeout": {
                                        "type": "integer",
                                        "description": "The timeout of the scheduled task in seconds.",
                                        "default": 300,
                                        "maximum": 36000
                                    },
                                    "enabled": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the scheduled task is enabled.",
                                        "default": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Scheduled task updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ScheduledTask"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/scheduled-tasks/{task_uuid}/executions": {
            "get": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "List Executions",
                "description": "List all executions for a scheduled task on a service.",
                "operationId": "list-scheduled-task-executions-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "task_uuid",
                        "in": "path",
                        "description": "UUID of the scheduled task.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get all executions for a scheduled task.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ScheduledTaskExecution"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/scheduled-tasks/{task_uuid}/execute": {
            "post": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "Execute Task",
                "description": "Queue immediate execution of a scheduled task for an application.",
                "operationId": "execute-scheduled-task-by-application-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "task_uuid",
                        "in": "path",
                        "description": "UUID of the scheduled task.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Scheduled task execution queued."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/scheduled-tasks/{task_uuid}/execute": {
            "post": {
                "tags": [
                    "Scheduled Tasks"
                ],
                "summary": "Execute Task",
                "description": "Queue immediate execution of a scheduled task for a service.",
                "operationId": "execute-scheduled-task-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "task_uuid",
                        "in": "path",
                        "description": "UUID of the scheduled task.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Scheduled task execution queued."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/security/keys": {
            "get": {
                "tags": [
                    "Private Keys"
                ],
                "summary": "List",
                "description": "List all private keys.",
                "operationId": "list-private-keys",
                "responses": {
                    "200": {
                        "description": "Get all private keys.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PrivateKey"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Private Keys"
                ],
                "summary": "Create",
                "description": "Create a new private key.",
                "operationId": "create-private-key",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "private_key"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "private_key": {
                                        "type": "string"
                                    }
                                },
                                "type": "object",
                                "additionalProperties": false
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "The created private key's UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/security/keys/{uuid}": {
            "get": {
                "tags": [
                    "Private Keys"
                ],
                "summary": "Get",
                "description": "Get key by UUID.",
                "operationId": "get-private-key-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Private Key UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get all private keys.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PrivateKey"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "description": "Private Key not found."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Private Keys"
                ],
                "summary": "Delete",
                "description": "Delete a private key.",
                "operationId": "delete-private-key-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Private Key UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Private Key deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Private Key deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "description": "Private Key not found."
                    },
                    "422": {
                        "description": "Private Key is in use and cannot be deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Private Key is in use and cannot be deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Private Keys"
                ],
                "summary": "Update",
                "description": "Update a private key.",
                "operationId": "update-private-key",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Private Key UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "private_key"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "private_key": {
                                        "type": "string"
                                    }
                                },
                                "type": "object",
                                "additionalProperties": false
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "The updated private key's UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "description": "Private Key not found."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/cloudflare-tunnel": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "Get Cloudflare Tunnel settings",
                "description": "Get Cloudflare Tunnel settings for a server owned by the authenticated team.",
                "operationId": "get-server-cloudflare-tunnel",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Cloudflare Tunnel settings.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "is_cloudflare_tunnel": {
                                            "type": "boolean"
                                        },
                                        "ip": {
                                            "type": "string"
                                        },
                                        "ip_previous": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Servers"
                ],
                "summary": "Update Cloudflare Tunnel settings",
                "description": "Update stored Cloudflare Tunnel settings for a server. Does not run remote cloudflared configuration; use enable/disable for the manual UI actions.",
                "operationId": "update-server-cloudflare-tunnel",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_cloudflare_tunnel": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Updated Cloudflare Tunnel settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/cloudflare-tunnel/enable": {
            "post": {
                "tags": [
                    "Servers"
                ],
                "summary": "Enable Cloudflare Tunnel (manual)",
                "description": "Manually mark Cloudflare Tunnel as enabled for a server (matches UI manual enable). Does not deploy cloudflared remotely.",
                "operationId": "enable-server-cloudflare-tunnel",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Cloudflare Tunnel enabled."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/cloudflare-tunnel/disable": {
            "post": {
                "tags": [
                    "Servers"
                ],
                "summary": "Disable Cloudflare Tunnel",
                "description": "Mark Cloudflare Tunnel as disabled and restore ip_previous when available. Does not remove the remote cloudflared container.",
                "operationId": "disable-server-cloudflare-tunnel",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Cloudflare Tunnel disabled."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/docker-cleanup": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "Get Docker cleanup settings",
                "description": "Get Docker cleanup settings for a server owned by the authenticated team.",
                "operationId": "get-server-docker-cleanup",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Docker cleanup settings.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "docker_cleanup_frequency": {
                                            "type": "string"
                                        },
                                        "docker_cleanup_threshold": {
                                            "type": "integer"
                                        },
                                        "force_docker_cleanup": {
                                            "type": "boolean"
                                        },
                                        "delete_unused_volumes": {
                                            "type": "boolean"
                                        },
                                        "delete_unused_networks": {
                                            "type": "boolean"
                                        },
                                        "disable_application_image_retention": {
                                            "type": "boolean"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Servers"
                ],
                "summary": "Update Docker cleanup settings",
                "description": "Update Docker cleanup settings for a server owned by the authenticated team.",
                "operationId": "update-server-docker-cleanup",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "docker_cleanup_frequency": {
                                        "description": "Cron / human frequency expression.",
                                        "type": "string"
                                    },
                                    "docker_cleanup_threshold": {
                                        "type": "integer",
                                        "maximum": 99,
                                        "minimum": 1
                                    },
                                    "force_docker_cleanup": {
                                        "type": "boolean"
                                    },
                                    "delete_unused_volumes": {
                                        "type": "boolean"
                                    },
                                    "delete_unused_networks": {
                                        "type": "boolean"
                                    },
                                    "disable_application_image_retention": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Updated Docker cleanup settings.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "docker_cleanup_frequency": {
                                            "type": "string"
                                        },
                                        "docker_cleanup_threshold": {
                                            "type": "integer"
                                        },
                                        "force_docker_cleanup": {
                                            "type": "boolean"
                                        },
                                        "delete_unused_volumes": {
                                            "type": "boolean"
                                        },
                                        "delete_unused_networks": {
                                            "type": "boolean"
                                        },
                                        "disable_application_image_retention": {
                                            "type": "boolean"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/docker-cleanup/run": {
            "post": {
                "tags": [
                    "Servers"
                ],
                "summary": "Run Docker cleanup",
                "description": "Dispatch a manual Docker cleanup job for a server owned by the authenticated team.",
                "operationId": "run-server-docker-cleanup",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "delete_unused_volumes": {
                                        "type": "boolean"
                                    },
                                    "delete_unused_networks": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Docker cleanup job dispatched.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Manual cleanup job started."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/docker-cleanup/executions": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "List Docker cleanup executions",
                "description": "List recent Docker cleanup execution logs for a server owned by the authenticated team.",
                "operationId": "list-server-docker-cleanup-executions",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Recent Docker cleanup executions.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "uuid": {
                                                "type": "string"
                                            },
                                            "status": {
                                                "type": "string"
                                            },
                                            "message": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "finished_at": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "created_at": {
                                                "type": "string"
                                            },
                                            "updated_at": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/registries": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "List server registry logins",
                "description": "List the Docker registries a server is logged in to and the registries its resources pull from or push to. Reads the Docker config of the server over SSH. Credentials are never returned, only registry names and usernames. Requires the `read:sensitive` ability.",
                "operationId": "list-server-registries",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Registry logins of the server.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "registries": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "registry": {
                                                        "type": "string",
                                                        "example": "ghcr.io"
                                                    },
                                                    "logged_in": {
                                                        "type": "boolean",
                                                        "example": true
                                                    },
                                                    "source": {
                                                        "description": "Where the Docker config stores the credentials.",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "enum": [
                                                            "auths",
                                                            "credHelpers"
                                                        ]
                                                    },
                                                    "username": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "example": "octocat"
                                                    },
                                                    "used_by": {
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "type": {
                                                                    "type": "string",
                                                                    "example": "Application"
                                                                },
                                                                "name": {
                                                                    "type": "string"
                                                                },
                                                                "link": {
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "error": {
                                            "description": "Set when the logins could not be read from the server.",
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Servers"
                ],
                "summary": "Log in to a registry on a server",
                "description": "Run docker login on the server, writing to the Docker config that deployments use. Logging in again to the same registry replaces the saved login.",
                "operationId": "login-server-registry",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "registry",
                                    "username",
                                    "password"
                                ],
                                "properties": {
                                    "registry": {
                                        "description": "Registry host, optionally with a port. Use docker.io for Docker Hub.",
                                        "type": "string",
                                        "example": "ghcr.io"
                                    },
                                    "username": {
                                        "type": "string",
                                        "example": "octocat"
                                    },
                                    "password": {
                                        "description": "Password or access token. Never returned.",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Logged in.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Logged in to ghcr.io."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/registries/{registry}/check": {
            "post": {
                "tags": [
                    "Servers"
                ],
                "summary": "Check a registry login on a server",
                "description": "Check that the saved login of the server for a registry still works. Runs docker login with the saved credentials on the server.",
                "operationId": "check-server-registry-login",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "registry",
                        "in": "path",
                        "description": "Registry host, optionally with a port, for example registry.example.com:5000.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The login works.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "The login for ghcr.io works."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/registries/{registry}": {
            "delete": {
                "tags": [
                    "Servers"
                ],
                "summary": "Log out from a registry on a server",
                "description": "Run docker logout on the server for a registry.",
                "operationId": "logout-server-registry",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "registry",
                        "in": "path",
                        "description": "Registry host, optionally with a port, for example registry.example.com:5000.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Logged out.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Logged out from ghcr.io."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/log-drains": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "Get log drain settings",
                "description": "Get log drain settings for a server owned by the authenticated team. Sensitive fields require the read:sensitive or root token ability.",
                "operationId": "get-server-log-drains",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Log drain settings.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "is_logdrain_newrelic_enabled": {
                                            "type": "boolean"
                                        },
                                        "logdrain_newrelic_license_key": {
                                            "description": "Only present with read:sensitive.",
                                            "type": "string"
                                        },
                                        "logdrain_newrelic_base_uri": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "is_logdrain_axiom_enabled": {
                                            "type": "boolean"
                                        },
                                        "logdrain_axiom_dataset_name": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "logdrain_axiom_api_key": {
                                            "description": "Only present with read:sensitive.",
                                            "type": "string"
                                        },
                                        "is_logdrain_custom_enabled": {
                                            "type": "boolean"
                                        },
                                        "logdrain_custom_config": {
                                            "description": "Only present with read:sensitive.",
                                            "type": "string"
                                        },
                                        "logdrain_custom_config_parser": {
                                            "description": "Only present with read:sensitive.",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Servers"
                ],
                "summary": "Update log drain settings",
                "description": "Update New Relic, Axiom, or custom log drain settings for a server owned by the authenticated team.",
                "operationId": "update-server-log-drains",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_logdrain_newrelic_enabled": {
                                        "type": "boolean"
                                    },
                                    "logdrain_newrelic_license_key": {
                                        "type": "string"
                                    },
                                    "logdrain_newrelic_base_uri": {
                                        "type": "string"
                                    },
                                    "is_logdrain_axiom_enabled": {
                                        "type": "boolean"
                                    },
                                    "logdrain_axiom_dataset_name": {
                                        "type": "string"
                                    },
                                    "logdrain_axiom_api_key": {
                                        "type": "string"
                                    },
                                    "is_logdrain_custom_enabled": {
                                        "type": "boolean"
                                    },
                                    "logdrain_custom_config": {
                                        "type": "string"
                                    },
                                    "logdrain_custom_config_parser": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Updated log drain settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/proxy": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "Get server proxy",
                "description": "Get proxy settings for a server owned by the authenticated team. The raw proxy configuration is only returned when the token has `read:sensitive` (or `root`) and the user is a team admin/owner, and only when already stored in the database (no remote fetch).",
                "operationId": "get-server-proxy",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Server proxy settings.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "proxy_type": {
                                            "type": [
                                                "string",
                                                "null"
                                            ],
                                            "example": "TRAEFIK"
                                        },
                                        "status": {
                                            "type": [
                                                "string",
                                                "null"
                                            ],
                                            "example": "running"
                                        },
                                        "redirect_enabled": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "redirect_url": {
                                            "type": [
                                                "string",
                                                "null"
                                            ],
                                            "example": "https://example.com"
                                        },
                                        "generate_exact_labels": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "configuration": {
                                            "description": "Docker Compose proxy configuration when stored in the database. Only present with read:sensitive.",
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Servers"
                ],
                "summary": "Update server proxy",
                "description": "Update proxy redirect settings, exact labels generation, and optionally the proxy type for a team-owned server.",
                "operationId": "update-server-proxy",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "redirect_enabled": {
                                        "type": "boolean"
                                    },
                                    "redirect_url": {
                                        "description": "Public http(s) redirect URL, or null to clear.",
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "generate_exact_labels": {
                                        "type": "boolean"
                                    },
                                    "proxy_type": {
                                        "description": "Proxy type (case-insensitive).",
                                        "type": "string",
                                        "enum": [
                                            "traefik",
                                            "caddy",
                                            "nginx",
                                            "none"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Proxy settings updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "proxy_type": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "status": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "redirect_enabled": {
                                            "type": "boolean"
                                        },
                                        "redirect_url": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "generate_exact_labels": {
                                            "type": "boolean"
                                        },
                                        "configuration": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/proxy/configuration": {
            "put": {
                "tags": [
                    "Servers"
                ],
                "summary": "Save server proxy configuration",
                "description": "Save the raw proxy Docker Compose configuration for a team-owned server. Multi-line configuration must be base64 encoded (same pattern as other compose payloads).",
                "operationId": "save-server-proxy-configuration",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "configuration"
                                ],
                                "properties": {
                                    "configuration": {
                                        "description": "Proxy docker-compose YAML. Prefer base64 encoding for multi-line content.",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Proxy configuration saved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Proxy configuration saved."
                                        },
                                        "proxy_type": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "status": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "redirect_enabled": {
                                            "type": "boolean"
                                        },
                                        "redirect_url": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "generate_exact_labels": {
                                            "type": "boolean"
                                        },
                                        "configuration": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/proxy/restart": {
            "post": {
                "tags": [
                    "Servers"
                ],
                "summary": "Restart server proxy",
                "description": "Queue a proxy restart for a team-owned server.",
                "operationId": "restart-server-proxy",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Proxy restart queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Proxy restart queued."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/sentinel": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "Get Sentinel settings",
                "description": "Get Sentinel settings for a server owned by the authenticated team. sentinel_token and sentinel_custom_url require the read:sensitive or root token ability.",
                "operationId": "get-server-sentinel",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sentinel settings.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "is_sentinel_enabled": {
                                            "description": "Sentinel is mandatory on regular managed servers.",
                                            "type": "boolean",
                                            "readOnly": true
                                        },
                                        "is_metrics_enabled": {
                                            "type": "boolean"
                                        },
                                        "is_sentinel_debug_enabled": {
                                            "type": "boolean"
                                        },
                                        "sentinel_token": {
                                            "description": "Only present with read:sensitive.",
                                            "type": "string"
                                        },
                                        "sentinel_metrics_refresh_rate_seconds": {
                                            "type": "integer"
                                        },
                                        "sentinel_metrics_history_days": {
                                            "type": "integer"
                                        },
                                        "sentinel_push_interval_seconds": {
                                            "type": "integer"
                                        },
                                        "sentinel_custom_url": {
                                            "description": "Only present with read:sensitive.",
                                            "type": "string"
                                        },
                                        "sentinel_updated_at": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "traffic_topn": {
                                            "type": "integer"
                                        },
                                        "traffic_sample_threshold": {
                                            "type": "integer"
                                        },
                                        "traffic_retention_1h_days": {
                                            "type": "integer"
                                        },
                                        "traffic_retention_1d_days": {
                                            "type": "integer"
                                        },
                                        "is_geoip_enabled": {
                                            "type": "boolean"
                                        },
                                        "geoip_refresh_days": {
                                            "type": "integer"
                                        },
                                        "geoip_maxmind_license_key": {
                                            "description": "Only present with read:sensitive.",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Servers"
                ],
                "summary": "Update Sentinel settings",
                "description": "Update Sentinel settings for a server owned by the authenticated team. Changing token/metrics timing fields may restart Sentinel.",
                "operationId": "update-server-sentinel",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_metrics_enabled": {
                                        "type": "boolean"
                                    },
                                    "is_sentinel_debug_enabled": {
                                        "type": "boolean"
                                    },
                                    "sentinel_token": {
                                        "type": "string"
                                    },
                                    "sentinel_metrics_refresh_rate_seconds": {
                                        "type": "integer",
                                        "minimum": 1
                                    },
                                    "sentinel_metrics_history_days": {
                                        "type": "integer",
                                        "minimum": 1
                                    },
                                    "sentinel_push_interval_seconds": {
                                        "type": "integer",
                                        "minimum": 10
                                    },
                                    "sentinel_custom_url": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "traffic_topn": {
                                        "type": "integer",
                                        "maximum": 1000,
                                        "minimum": 1
                                    },
                                    "traffic_sample_threshold": {
                                        "type": "integer",
                                        "minimum": 0
                                    },
                                    "traffic_retention_1h_days": {
                                        "type": "integer",
                                        "maximum": 365,
                                        "minimum": 1
                                    },
                                    "traffic_retention_1d_days": {
                                        "type": "integer",
                                        "maximum": 3650,
                                        "minimum": 1
                                    },
                                    "is_geoip_enabled": {
                                        "type": "boolean"
                                    },
                                    "geoip_refresh_days": {
                                        "type": "integer",
                                        "minimum": 1
                                    },
                                    "geoip_maxmind_license_key": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Updated Sentinel settings."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "List",
                "description": "List all servers.",
                "operationId": "list-servers",
                "responses": {
                    "200": {
                        "description": "Get all servers.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Server"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "Get",
                "description": "Get server by UUID.",
                "operationId": "get-server-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server's UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get server by UUID",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Server"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Servers"
                ],
                "summary": "Update",
                "description": "Update Server.",
                "operationId": "update-server-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Server updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "The name of the server."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "The description of the server."
                                    },
                                    "ip": {
                                        "type": "string",
                                        "description": "The IP of the server."
                                    },
                                    "port": {
                                        "type": "integer",
                                        "description": "The port of the server."
                                    },
                                    "user": {
                                        "type": "string",
                                        "description": "The user of the server."
                                    },
                                    "private_key_uuid": {
                                        "type": "string",
                                        "description": "The UUID of the private key."
                                    },
                                    "server_role": {
                                        "type": "string",
                                        "enum": [
                                            "deployment",
                                            "build",
                                            "both"
                                        ],
                                        "description": "Server role."
                                    },
                                    "is_build_server": {
                                        "type": "boolean",
                                        "deprecated": true,
                                        "description": "Deprecated: use server_role instead. true sets server_role to build, false changes a build server to both and leaves other roles unchanged. Must not conflict with server_role."
                                    },
                                    "instant_validate": {
                                        "type": "boolean",
                                        "description": "Instant validate."
                                    },
                                    "proxy_type": {
                                        "type": "string",
                                        "enum": [
                                            "traefik",
                                            "caddy",
                                            "none"
                                        ],
                                        "description": "The proxy type."
                                    },
                                    "concurrent_builds": {
                                        "type": "integer",
                                        "description": "Number of concurrent builds."
                                    },
                                    "dynamic_timeout": {
                                        "type": "integer",
                                        "description": "Deployment timeout in seconds."
                                    },
                                    "deployment_queue_limit": {
                                        "type": "integer",
                                        "description": "Maximum number of queued deployments."
                                    },
                                    "server_disk_usage_notification_threshold": {
                                        "type": "integer",
                                        "description": "Server disk usage notification threshold (%)."
                                    },
                                    "server_disk_usage_check_frequency": {
                                        "type": "string",
                                        "description": "Cron expression for disk usage check frequency."
                                    },
                                    "server_disk_usage_notification_interval_hours": {
                                        "type": "integer",
                                        "description": "Minimum hours between high disk usage notifications (1-720). Default: 24."
                                    },
                                    "connection_timeout": {
                                        "type": "integer",
                                        "description": "SSH connection timeout in seconds (1-300). Default: 10."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Server updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Server"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/resources": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "Resources",
                "description": "Get resources by server.",
                "operationId": "get-resources-by-server-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server's UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get resources by server",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "id": {
                                                "type": "integer"
                                            },
                                            "uuid": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "type": {
                                                "type": "string"
                                            },
                                            "created_at": {
                                                "type": "string"
                                            },
                                            "updated_at": {
                                                "type": "string"
                                            },
                                            "status": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/domains": {
            "get": {
                "tags": [
                    "Servers"
                ],
                "summary": "Domains",
                "description": "Get domains by server.",
                "operationId": "get-domains-by-server-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server's UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get domains by server",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "ip": {
                                                "type": "string"
                                            },
                                            "domains": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/applications": {
            "get": {
                "tags": [
                    "Service applications"
                ],
                "summary": "List service applications",
                "description": "List compose service applications (containers) for a single service.",
                "operationId": "list-service-applications-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Service applications for this service.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/applications/{app_uuid}": {
            "get": {
                "tags": [
                    "Service applications"
                ],
                "summary": "Get service application",
                "description": "Get a single compose service application by service UUID and application UUID.",
                "operationId": "get-service-application-by-service-and-app-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "app_uuid",
                        "in": "path",
                        "description": "Service application UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Service application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Service applications"
                ],
                "summary": "Update service application",
                "description": "Update fields for a compose service application. Use `url` for comma-separated public URLs (same rules as `urls[].url` on PATCH /services/{uuid}).",
                "operationId": "patch-service-application-by-service-and-app-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "app_uuid",
                        "in": "path",
                        "description": "Service application UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "force_domain_override",
                        "in": "query",
                        "description": "When true, allow duplicate URLs in the request and proceed despite domain conflicts (same as service PATCH).",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "url": {
                                        "description": "Comma-separated list of URLs (e.g. \"http://app.example.com:8080,https://app2.example.com\"). Stored as fqdn.",
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "noindex_domains": {
                                        "description": "The subset of the service application domains served with an X-Robots-Tag: noindex, nofollow response header, keeping them out of search engines. Entries that are not among the domains are ignored.",
                                        "type": [
                                            "array",
                                            "null"
                                        ],
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "human_name": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "description": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "image": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "exclude_from_status": {
                                        "type": [
                                            "boolean",
                                            "null"
                                        ]
                                    },
                                    "is_log_drain_enabled": {
                                        "type": [
                                            "boolean",
                                            "null"
                                        ]
                                    },
                                    "is_gzip_enabled": {
                                        "type": [
                                            "boolean",
                                            "null"
                                        ]
                                    },
                                    "is_stripprefix_enabled": {
                                        "type": [
                                            "boolean",
                                            "null"
                                        ]
                                    },
                                    "is_force_https_enabled": {
                                        "type": [
                                            "boolean",
                                            "null"
                                        ]
                                    },
                                    "max_restart_count": {
                                        "description": "Maximum Docker restart count before Hostwolf stops the container. Set to 0 to disable the limit.",
                                        "type": [
                                            "integer",
                                            "null"
                                        ],
                                        "minimum": 0
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Updated service application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Domain conflicts (unless force_domain_override)."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/applications/{app_uuid}/logs": {
            "get": {
                "tags": [
                    "Service applications"
                ],
                "summary": "Get service application logs",
                "description": "Get Docker logs for a single compose service container. Requires the `read:sensitive` or `root` token ability.",
                "operationId": "get-service-application-logs-by-service-and-app-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "app_uuid",
                        "in": "path",
                        "description": "Service application UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "lines",
                        "in": "query",
                        "description": "Number of lines to show from the end of the logs. Use `all` to return all logs. `-1` remains available as a compatibility alias.",
                        "required": false,
                        "schema": {
                            "oneOf": [
                                {
                                    "type": "integer",
                                    "format": "int32",
                                    "default": 100,
                                    "maximum": 10000,
                                    "minimum": -1
                                },
                                {
                                    "type": "string",
                                    "enum": [
                                        "all"
                                    ]
                                }
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Logs.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "logs": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "501": {
                        "description": "Swarm not supported."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Service applications"
                ],
                "summary": "Get service application logs",
                "description": "Get Docker logs for a single compose service container. Requires the `read:sensitive` or `root` token ability.",
                "operationId": "post-service-application-logs-by-service-and-app-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "app_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "lines",
                        "in": "query",
                        "description": "Number of lines to show from the end of the logs. Use `all` to return all logs. `-1` remains available as a compatibility alias.",
                        "required": false,
                        "schema": {
                            "oneOf": [
                                {
                                    "type": "integer",
                                    "format": "int32",
                                    "default": 100,
                                    "maximum": 10000,
                                    "minimum": -1
                                },
                                {
                                    "type": "string",
                                    "enum": [
                                        "all"
                                    ]
                                }
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Logs.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "logs": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "501": {
                        "description": "Swarm not supported."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/applications/{app_uuid}/start": {
            "post": {
                "tags": [
                    "Service applications"
                ],
                "summary": "Start or redeploy service application container",
                "description": "Runs docker compose up for a single compose service (no-deps), optionally pulling the image and rebuilding.",
                "operationId": "post-start-service-application-by-service-and-app-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "app_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "force",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "latest",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deploy request queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "501": {
                        "description": "Swarm not supported."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/applications/{app_uuid}/restart": {
            "post": {
                "tags": [
                    "Service applications"
                ],
                "summary": "Restart service application container",
                "description": "Restarts a single compose service container.",
                "operationId": "post-restart-service-application-by-service-and-app-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "app_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Restart queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "501": {
                        "description": "Swarm not supported."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/applications/{app_uuid}/stop": {
            "post": {
                "tags": [
                    "Service applications"
                ],
                "summary": "Stop service application container",
                "description": "Stops a single compose service container.",
                "operationId": "post-stop-service-application-by-service-and-app-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "app_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Stop queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "501": {
                        "description": "Swarm not supported."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/databases/{database_uuid}/imports/uploads": {
            "post": {
                "tags": [
                    "Service databases"
                ],
                "summary": "Upload service database import",
                "operationId": "upload-service-database-import",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "database_uuid",
                        "in": "path",
                        "description": "Service database UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Upload completed"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/databases/{database_uuid}/imports": {
            "post": {
                "tags": [
                    "Service databases"
                ],
                "summary": "Import service database backup",
                "operationId": "create-service-database-import",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "database_uuid",
                        "in": "path",
                        "description": "Service database UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DatabaseImportRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Import queued"
                    },
                    "409": {
                        "description": "Another start, restart or import of this database is already in progress."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/databases/{database_uuid}/imports/{activity_id}": {
            "get": {
                "tags": [
                    "Service databases"
                ],
                "summary": "Get service database import status",
                "operationId": "get-service-database-import",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "database_uuid",
                        "in": "path",
                        "description": "Service database UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "activity_id",
                        "in": "path",
                        "description": "Import activity ID.",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Import status",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DatabaseImportStatus"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/databases": {
            "get": {
                "tags": [
                    "Service databases"
                ],
                "summary": "List service databases",
                "description": "List compose databases for a single service.",
                "operationId": "list-service-databases-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Service databases.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/databases/{database_uuid}": {
            "get": {
                "tags": [
                    "Service databases"
                ],
                "summary": "Get service database",
                "description": "Get a compose database by service UUID and database UUID.",
                "operationId": "get-service-database-by-service-and-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "database_uuid",
                        "in": "path",
                        "description": "Service database UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Service database.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Service databases"
                ],
                "summary": "Update service database",
                "description": "Update mutable fields for a compose service database.",
                "operationId": "patch-service-database-by-service-and-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "database_uuid",
                        "in": "path",
                        "description": "Service database UUID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "human_name": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "description": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "image": {
                                        "type": "string"
                                    },
                                    "exclude_from_status": {
                                        "type": "boolean"
                                    },
                                    "is_log_drain_enabled": {
                                        "type": "boolean"
                                    },
                                    "is_public": {
                                        "type": "boolean"
                                    },
                                    "public_port": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ],
                                        "maximum": 65535,
                                        "minimum": 1
                                    },
                                    "public_port_timeout": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ],
                                        "minimum": 1
                                    }
                                },
                                "type": "object",
                                "additionalProperties": false
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Updated service database.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/databases/{database_uuid}/logs": {
            "get": {
                "tags": [
                    "Service databases"
                ],
                "summary": "Get service database logs",
                "description": "Get Docker logs for a compose database container. Requires the `read:sensitive` or `root` token ability.",
                "operationId": "get-service-database-logs-by-service-and-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "database_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "lines",
                        "in": "query",
                        "description": "Number of lines to show from the end of the logs. Use `all` to return all logs. `-1` remains available as a compatibility alias.",
                        "required": false,
                        "schema": {
                            "oneOf": [
                                {
                                    "type": "integer",
                                    "format": "int32",
                                    "default": 100,
                                    "maximum": 10000,
                                    "minimum": -1
                                },
                                {
                                    "type": "string",
                                    "enum": [
                                        "all"
                                    ]
                                }
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Logs.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "logs": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "501": {
                        "description": "Swarm not supported."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/databases/{database_uuid}/start": {
            "post": {
                "tags": [
                    "Service databases"
                ],
                "summary": "Start or redeploy service database container",
                "description": "Run docker compose up for a single compose database.",
                "operationId": "start-service-database-by-service-and-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "database_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "force",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "latest",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deploy request queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "501": {
                        "description": "Swarm not supported."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/databases/{database_uuid}/restart": {
            "post": {
                "tags": [
                    "Service databases"
                ],
                "summary": "Restart service database container",
                "description": "Restart a compose database container.",
                "operationId": "restart-service-database-by-service-and-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "database_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Restart queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "501": {
                        "description": "Swarm not supported."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/databases/{database_uuid}/stop": {
            "post": {
                "tags": [
                    "Service databases"
                ],
                "summary": "Stop service database container",
                "description": "Stop a compose database container.",
                "operationId": "stop-service-database-by-service-and-database-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "database_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Stop queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "501": {
                        "description": "Swarm not supported."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services": {
            "get": {
                "tags": [
                    "Services"
                ],
                "summary": "List",
                "description": "List all services.",
                "operationId": "list-services",
                "responses": {
                    "200": {
                        "description": "Get all services",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Service"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Create service",
                "description": "Create a one-click / custom service",
                "operationId": "create-service",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "server_uuid",
                                    "project_uuid"
                                ],
                                "properties": {
                                    "type": {
                                        "description": "The one-click service type (e.g. \"actualbudget\", \"calibre-web\", \"gitea-with-mysql\" ...)",
                                        "type": "string"
                                    },
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Name of the service."
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Description of the service."
                                    },
                                    "project_uuid": {
                                        "type": "string",
                                        "description": "Project UUID."
                                    },
                                    "environment_name": {
                                        "type": "string",
                                        "description": "The environment name. Send this or environment_uuid, not both."
                                    },
                                    "environment_uuid": {
                                        "type": "string",
                                        "description": "The environment UUID. Send this or environment_name, not both."
                                    },
                                    "server_uuid": {
                                        "type": "string",
                                        "description": "Server UUID."
                                    },
                                    "destination_uuid": {
                                        "type": "string",
                                        "description": "Destination UUID. Required if server has multiple destinations."
                                    },
                                    "instant_deploy": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Start the service immediately after creation."
                                    },
                                    "docker_compose_raw": {
                                        "type": "string",
                                        "description": "The base64 encoded Docker Compose content."
                                    },
                                    "urls": {
                                        "type": "array",
                                        "description": "Array of URLs to be applied to containers of a service.",
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "The service name as defined in docker-compose."
                                                },
                                                "url": {
                                                    "type": "string",
                                                    "description": "Comma-separated list of URLs (e.g. \"https://app.coolify.io,https://app2.coolify.io\")."
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "force_domain_override": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Force domain override even if conflicts are detected."
                                    },
                                    "is_container_label_escape_enabled": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "Escape special characters in labels. By default, $ (and other chars) is escaped. If you want to use env variables inside the labels, turn this off."
                                    },
                                    "tags": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "Tags to assign to the service."
                                    }
                                },
                                "type": "object",
                                "oneOf": [
                                    {
                                        "required": [
                                            "environment_name"
                                        ]
                                    },
                                    {
                                        "required": [
                                            "environment_uuid"
                                        ]
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Service created successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string",
                                            "description": "Service UUID."
                                        },
                                        "domains": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "description": "Service domains."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "409": {
                        "description": "Domain conflicts detected.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Domain conflicts detected. Use force_domain_override=true to proceed."
                                        },
                                        "warning": {
                                            "type": "string",
                                            "example": "Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior."
                                        },
                                        "conflicts": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "domain": {
                                                        "type": "string",
                                                        "example": "example.com"
                                                    },
                                                    "resource_name": {
                                                        "type": "string",
                                                        "example": "My Application"
                                                    },
                                                    "resource_uuid": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "example": "abc123-def456"
                                                    },
                                                    "resource_type": {
                                                        "type": "string",
                                                        "enum": [
                                                            "application",
                                                            "service",
                                                            "instance"
                                                        ],
                                                        "example": "application"
                                                    },
                                                    "message": {
                                                        "type": "string",
                                                        "example": "Domain example.com is already in use by application 'My Application'"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}": {
            "get": {
                "tags": [
                    "Services"
                ],
                "summary": "Get",
                "description": "Get service by UUID.",
                "operationId": "get-service-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get a service by UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Service"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Services"
                ],
                "summary": "Delete",
                "description": "Delete service by UUID.",
                "operationId": "delete-service-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Service UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "delete_configurations",
                        "in": "query",
                        "description": "Delete configurations.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "delete_volumes",
                        "in": "query",
                        "description": "Delete volumes.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "docker_cleanup",
                        "in": "query",
                        "description": "Run docker cleanup when the server disk usage is at or above its cleanup threshold. Skipped when a cleanup ran on the server in the last hour.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "delete_connected_networks",
                        "in": "query",
                        "description": "Delete connected networks.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "delete_from_coolify_only",
                        "in": "query",
                        "description": "Remove only Hostwolf metadata without deleting Docker resources.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delete a service by UUID",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Service deletion request queued."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Services"
                ],
                "summary": "Update",
                "description": "Update service by UUID.",
                "operationId": "update-service-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Service updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "The service name."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "The service description."
                                    },
                                    "instant_deploy": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the service should be deployed instantly."
                                    },
                                    "connect_to_docker_network": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Connect the service to the predefined docker network."
                                    },
                                    "docker_compose_raw": {
                                        "type": "string",
                                        "description": "The base64 encoded Docker Compose content."
                                    },
                                    "urls": {
                                        "type": "array",
                                        "description": "Array of URLs to be applied to containers of a service.",
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "The service name as defined in docker-compose."
                                                },
                                                "url": {
                                                    "type": "string",
                                                    "description": "Comma-separated list of URLs (e.g. \"https://app.coolify.io,https://app2.coolify.io\")."
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "force_domain_override": {
                                        "type": "boolean",
                                        "default": false,
                                        "description": "Force domain override even if conflicts are detected."
                                    },
                                    "is_container_label_escape_enabled": {
                                        "type": "boolean",
                                        "default": true,
                                        "description": "Escape special characters in labels. By default, $ (and other chars) is escaped. If you want to use env variables inside the labels, turn this off."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Service updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string",
                                            "description": "Service UUID."
                                        },
                                        "domains": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "description": "Service domains."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Domain conflicts detected.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Domain conflicts detected. Use force_domain_override=true to proceed."
                                        },
                                        "warning": {
                                            "type": "string",
                                            "example": "Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior."
                                        },
                                        "conflicts": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "domain": {
                                                        "type": "string",
                                                        "example": "example.com"
                                                    },
                                                    "resource_name": {
                                                        "type": "string",
                                                        "example": "My Application"
                                                    },
                                                    "resource_uuid": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "example": "abc123-def456"
                                                    },
                                                    "resource_type": {
                                                        "type": "string",
                                                        "enum": [
                                                            "application",
                                                            "service",
                                                            "instance"
                                                        ],
                                                        "example": "application"
                                                    },
                                                    "message": {
                                                        "type": "string",
                                                        "example": "Domain example.com is already in use by application 'My Application'"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/logs": {
            "get": {
                "tags": [
                    "Services"
                ],
                "summary": "Get service logs.",
                "description": "Get logs for a specific service sub-resource by service UUID. The `sub_service_name` query parameter must match the `name` field of one of the service applications or databases returned by `GET /services/{uuid}`. Requires the `read:sensitive` or `root` token ability.",
                "operationId": "get-service-logs-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "sub_service_name",
                        "in": "query",
                        "description": "Sub-service name from `GET /services/{uuid}` under `applications[].name` or `databases[].name`. Do not use `human_name` or the Docker container name with the service UUID suffix.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "appwrite-console"
                        }
                    },
                    {
                        "name": "lines",
                        "in": "query",
                        "description": "Number of lines to show from the end of the logs. Use `all` to return all logs. `-1` remains available as a compatibility alias.",
                        "required": false,
                        "schema": {
                            "oneOf": [
                                {
                                    "type": "integer",
                                    "format": "int32",
                                    "default": 100,
                                    "maximum": 10000,
                                    "minimum": -1
                                },
                                {
                                    "type": "string",
                                    "enum": [
                                        "all"
                                    ]
                                }
                            ]
                        }
                    },
                    {
                        "name": "show_timestamps",
                        "in": "query",
                        "description": "Show timestamps in the logs.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get service logs by UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "logs": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/envs": {
            "get": {
                "tags": [
                    "Services"
                ],
                "summary": "List Envs",
                "description": "List all envs by service UUID.",
                "operationId": "list-envs-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All environment variables by service UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/EnvironmentVariable"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Create Env",
                "description": "Create env by service UUID.",
                "operationId": "create-env-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Env created.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "The key of the environment variable."
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "The value of the environment variable."
                                    },
                                    "is_preview": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is used in preview deployments."
                                    },
                                    "is_literal": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
                                    },
                                    "is_multiline": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is multiline."
                                    },
                                    "is_shown_once": {
                                        "type": "boolean",
                                        "description": "If true, the saved value is hidden in the UI and API responses. MCP never returns environment variable values."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Environment variable created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "uuid": {
                                            "type": "string",
                                            "example": "nc0k04gk8g0cgsk440g0koko"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Services"
                ],
                "summary": "Update Env",
                "description": "Update env by service UUID.",
                "operationId": "update-env-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Env updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "key",
                                    "value"
                                ],
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "The key of the environment variable."
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "The value of the environment variable."
                                    },
                                    "is_preview": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is used in preview deployments."
                                    },
                                    "is_literal": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
                                    },
                                    "is_multiline": {
                                        "type": "boolean",
                                        "description": "The flag to indicate if the environment variable is multiline."
                                    },
                                    "is_shown_once": {
                                        "type": "boolean",
                                        "description": "If true, the saved value is hidden in the UI and API responses. MCP never returns environment variable values."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Environment variable updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentVariable"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/envs/bulk": {
            "patch": {
                "tags": [
                    "Services"
                ],
                "summary": "Update Envs (Bulk)",
                "description": "Update multiple envs by service UUID.",
                "operationId": "update-envs-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Bulk envs updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "data"
                                ],
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "key": {
                                                    "type": "string",
                                                    "description": "The key of the environment variable."
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "The value of the environment variable."
                                                },
                                                "is_preview": {
                                                    "type": "boolean",
                                                    "description": "The flag to indicate if the environment variable is used in preview deployments."
                                                },
                                                "is_literal": {
                                                    "type": "boolean",
                                                    "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
                                                },
                                                "is_multiline": {
                                                    "type": "boolean",
                                                    "description": "The flag to indicate if the environment variable is multiline."
                                                },
                                                "is_shown_once": {
                                                    "type": "boolean",
                                                    "description": "If true, the saved value is hidden in the UI and API responses. MCP never returns environment variable values."
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Environment variables updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/EnvironmentVariable"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/envs/{env_uuid}": {
            "delete": {
                "tags": [
                    "Services"
                ],
                "summary": "Delete Env",
                "description": "Delete env by UUID.",
                "operationId": "delete-env-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "env_uuid",
                        "in": "path",
                        "description": "UUID of the environment variable.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Environment variable deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/move": {
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Move",
                "description": "Move service to another project/environment. This is a purely organizational change — running containers are not affected. Note: after moving, the service will pick up shared environment variables from the new environment on the next deployment.",
                "operationId": "move-service-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Target environment to move the service to.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "environment_uuid"
                                ],
                                "properties": {
                                    "environment_uuid": {
                                        "type": "string",
                                        "description": "UUID of the target environment."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Service moved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Service moved successfully."
                                        },
                                        "uuid": {
                                            "type": "string"
                                        },
                                        "project_uuid": {
                                            "type": "string"
                                        },
                                        "environment_uuid": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/migrate": {
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Migrate to Server",
                "description": "Migrate a service to another destination/server owned by the authenticated team. Stops the service, optionally transfers persistent volume data when both servers are managed by Hostwolf, and updates database records. Redeploy after migration completes.",
                "operationId": "migrate-service-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "destination_uuid"
                                ],
                                "properties": {
                                    "destination_uuid": {
                                        "description": "UUID of the target destination.",
                                        "type": "string"
                                    },
                                    "migrate_volumes": {
                                        "description": "Whether to transfer persistent volume data when migrating across servers.",
                                        "type": "boolean",
                                        "default": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Service migration started or completed."
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/start": {
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Start",
                "description": "Start service.",
                "operationId": "start-service-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Start service.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Service starting request queued."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/stop": {
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Stop",
                "description": "Stop service.",
                "operationId": "stop-service-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "docker_cleanup",
                        "in": "query",
                        "description": "Run docker cleanup when the server disk usage is at or above its cleanup threshold. Skipped when a cleanup ran on the server in the last hour.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Stop service.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Service stopping request queued."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/restart": {
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Restart",
                "description": "Restart service.",
                "operationId": "restart-service-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "latest",
                        "in": "query",
                        "description": "Pull latest images.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Restart service.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Service restaring request queued."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/storages": {
            "get": {
                "tags": [
                    "Services"
                ],
                "summary": "List Storages",
                "description": "List all persistent storages and file storages by service UUID.",
                "operationId": "list-storages-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All storages by service UUID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "persistent_storages": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        },
                                        "file_storages": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Create Storage",
                "description": "Create a persistent storage or file storage for a service sub-resource.",
                "operationId": "create-storage-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "type",
                                    "mount_path",
                                    "resource_uuid"
                                ],
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "persistent",
                                            "file"
                                        ],
                                        "description": "The type of storage."
                                    },
                                    "resource_uuid": {
                                        "type": "string",
                                        "description": "UUID of the service application or database sub-resource."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Volume name (persistent only, required for persistent)."
                                    },
                                    "mount_path": {
                                        "type": "string",
                                        "description": "The container mount path."
                                    },
                                    "content": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "File content (file only, optional)."
                                    },
                                    "is_directory": {
                                        "type": "boolean",
                                        "description": "Whether this is a directory mount (file only, default false)."
                                    },
                                    "fs_path": {
                                        "type": "string",
                                        "description": "Host path. Required for directory mounts and host file mounts. Optional for file mounts with content (default: inside the resource directory). An absolute path can be anywhere on the host; a relative path is inside the resource directory. A directory or file mount outside the resource directory needs a token with the deploy permission. Hostwolf never deletes a path outside the resource directory."
                                    }
                                },
                                "type": "object",
                                "additionalProperties": false
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Storage created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "403": {
                        "description": "The token needs the deploy permission for a mount outside the resource directory."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Services"
                ],
                "summary": "Update Storage",
                "description": "Update a persistent storage or file storage by service UUID.",
                "operationId": "update-storage-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Storage updated. For read-only storages (from docker-compose or services), only is_preview_suffix_enabled can be updated.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "type"
                                ],
                                "properties": {
                                    "uuid": {
                                        "type": "string",
                                        "description": "The UUID of the storage (preferred)."
                                    },
                                    "id": {
                                        "type": "integer",
                                        "description": "The ID of the storage (deprecated, use uuid instead)."
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "persistent",
                                            "file"
                                        ],
                                        "description": "The type of storage: persistent or file."
                                    },
                                    "is_preview_suffix_enabled": {
                                        "type": "boolean",
                                        "description": "Whether to add -pr-N suffix for preview deployments."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "The volume name (persistent only, not allowed for read-only storages)."
                                    },
                                    "mount_path": {
                                        "type": "string",
                                        "description": "The container mount path (not allowed for read-only storages)."
                                    },
                                    "content": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "The file content (file only, not allowed for read-only storages). Changing the content of a file outside the resource directory needs the deploy permission."
                                    }
                                },
                                "type": "object",
                                "additionalProperties": false
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Storage updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "403": {
                        "description": "The token needs the deploy permission to change the content of a file outside the resource directory."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/storages/{storage_uuid}": {
            "delete": {
                "tags": [
                    "Services"
                ],
                "summary": "Delete Storage",
                "description": "Delete a persistent storage or file storage by service UUID.",
                "operationId": "delete-storage-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "description": "UUID of the storage.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Storage deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/tags": {
            "get": {
                "tags": [
                    "Services"
                ],
                "summary": "List Tags",
                "description": "List tags for a service by UUID.",
                "operationId": "list-tags-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of tags.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Tag"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Create Tag",
                "description": "Add tag(s) to a service by UUID.",
                "operationId": "create-tag-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "tag_name": {
                                        "type": "string",
                                        "description": "The tag name (min 2 characters). Required if tag_names is not provided."
                                    },
                                    "tag_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "Array of tag names (each min 2 characters). Required if tag_name is not provided."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Tags added successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Tag"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/tags/{tag_uuid}": {
            "delete": {
                "tags": [
                    "Services"
                ],
                "summary": "Delete Tag",
                "description": "Remove a tag from a service by UUID.",
                "operationId": "delete-tag-by-service-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag_uuid",
                        "in": "path",
                        "description": "UUID of the tag.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tag removed."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/clone": {
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Clone",
                "description": "Clone a service to a destination owned by the authenticated team.",
                "operationId": "clone-service-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "destination_uuid"
                                ],
                                "properties": {
                                    "destination_uuid": {
                                        "type": "string"
                                    },
                                    "name": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "clone_volumes": {
                                        "type": "boolean",
                                        "default": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Service cloned."
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/team/envs": {
            "get": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "List Team Shared Envs",
                "description": "List shared environment variables for the current team (type=team).",
                "operationId": "list-team-shared-envs",
                "responses": {
                    "200": {
                        "description": "Team shared environment variables."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Create Team Shared Env",
                "description": "Create a shared environment variable for the current team (type=team).",
                "operationId": "create-team-shared-env",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "key"
                                ],
                                "properties": {
                                    "key": {
                                        "type": "string"
                                    },
                                    "value": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "is_literal": {
                                        "type": "boolean"
                                    },
                                    "is_multiline": {
                                        "type": "boolean"
                                    },
                                    "is_shown_once": {
                                        "description": "If true, the saved value is hidden in the UI and API responses. MCP never returns environment variable values.",
                                        "type": "boolean"
                                    },
                                    "comment": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Environment variable created."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "409": {
                        "description": "Environment variable already exists."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/team/envs/{env_id}": {
            "delete": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Delete Team Shared Env",
                "description": "Delete a team shared environment variable by id.",
                "operationId": "delete-team-shared-env",
                "parameters": [
                    {
                        "name": "env_id",
                        "in": "path",
                        "description": "Shared env id (integer).",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable deleted."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Update Team Shared Env",
                "description": "Update a team shared environment variable by id.",
                "operationId": "update-team-shared-env",
                "parameters": [
                    {
                        "name": "env_id",
                        "in": "path",
                        "description": "Shared env id (integer).",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable updated."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/projects/{uuid}/envs": {
            "get": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "List Project Shared Envs",
                "description": "List shared environment variables for a project (type=project).",
                "operationId": "list-project-shared-envs",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Project shared environment variables."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Create Project Shared Env",
                "description": "Create a shared environment variable for a project (type=project).",
                "operationId": "create-project-shared-env",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Environment variable created."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Environment variable already exists."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/projects/{uuid}/envs/{env_id}": {
            "delete": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Delete Project Shared Env",
                "description": "Delete a project shared environment variable by id.",
                "operationId": "delete-project-shared-env",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "env_id",
                        "in": "path",
                        "description": "Shared env id (integer).",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable deleted."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Update Project Shared Env",
                "description": "Update a project shared environment variable by id.",
                "operationId": "update-project-shared-env",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "env_id",
                        "in": "path",
                        "description": "Shared env id (integer).",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable updated."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/projects/{uuid}/environments/{environment_name_or_uuid}/envs": {
            "get": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "List Environment Shared Envs",
                "description": "List shared environment variables for a project environment (type=environment).",
                "operationId": "list-environment-shared-envs",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "environment_name_or_uuid",
                        "in": "path",
                        "description": "Environment name or UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment shared environment variables."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Create Environment Shared Env",
                "description": "Create a shared environment variable for a project environment (type=environment).",
                "operationId": "create-environment-shared-env",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "environment_name_or_uuid",
                        "in": "path",
                        "description": "Environment name or UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Environment variable created."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Environment variable already exists."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/projects/{uuid}/environments/{environment_name_or_uuid}/envs/{env_id}": {
            "delete": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Delete Environment Shared Env",
                "description": "Delete an environment shared environment variable by id.",
                "operationId": "delete-environment-shared-env",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "environment_name_or_uuid",
                        "in": "path",
                        "description": "Environment name or UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "env_id",
                        "in": "path",
                        "description": "Shared env id (integer).",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable deleted."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Update Environment Shared Env",
                "description": "Update an environment shared environment variable by id.",
                "operationId": "update-environment-shared-env",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Project UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "environment_name_or_uuid",
                        "in": "path",
                        "description": "Environment name or UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "env_id",
                        "in": "path",
                        "description": "Shared env id (integer).",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable updated."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/envs": {
            "get": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "List Server Shared Envs",
                "description": "List shared environment variables for a server (type=server).",
                "operationId": "list-server-shared-envs",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Server shared environment variables."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Create Server Shared Env",
                "description": "Create a shared environment variable for a server (type=server).",
                "operationId": "create-server-shared-env",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Environment variable created."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Environment variable already exists."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/servers/{uuid}/envs/{env_id}": {
            "delete": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Delete Server Shared Env",
                "description": "Delete a server shared environment variable by id.",
                "operationId": "delete-server-shared-env",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "env_id",
                        "in": "path",
                        "description": "Shared env id (integer).",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable deleted."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Shared Environment Variables"
                ],
                "summary": "Update Server Shared Env",
                "description": "Update a server shared environment variable by id.",
                "operationId": "update-server-shared-env",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Server UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "env_id",
                        "in": "path",
                        "description": "Shared env id (integer).",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable updated."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/tags": {
            "get": {
                "tags": [
                    "Tags"
                ],
                "summary": "List",
                "description": "List all tags for the current team.",
                "operationId": "list-tags",
                "responses": {
                    "200": {
                        "description": "All tags for the current team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Tag"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Tags"
                ],
                "summary": "Create",
                "description": "Create a tag for the current team.",
                "operationId": "create-tag",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "minLength": 2
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Tag created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Tag"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "409": {
                        "description": "Tag with this name already exists."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/tags/{uuid}": {
            "delete": {
                "tags": [
                    "Tags"
                ],
                "summary": "Delete",
                "description": "Delete a tag for the current team. Detaches the tag from all resources via cascade.",
                "operationId": "delete-tag-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Tag UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tag deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Tag deleted."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Tags"
                ],
                "summary": "Update",
                "description": "Update a tag name for the current team.",
                "operationId": "update-tag-by-uuid",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Tag UUID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "minLength": 2
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Tag updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Tag"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Tag with this name already exists."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/teams": {
            "get": {
                "tags": [
                    "Teams"
                ],
                "summary": "List",
                "description": "Get all teams.",
                "operationId": "list-teams",
                "responses": {
                    "200": {
                        "description": "List of teams.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Team"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/teams/{id}": {
            "get": {
                "tags": [
                    "Teams"
                ],
                "summary": "Get",
                "description": "Get team by TeamId.",
                "operationId": "get-team-by-id",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Team ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of teams.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Team"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/teams/{id}/members": {
            "get": {
                "tags": [
                    "Teams"
                ],
                "summary": "Members",
                "description": "Get members by TeamId.",
                "operationId": "get-members-by-team-id",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Team ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of members.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/User"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/team": {
            "get": {
                "tags": [
                    "Teams"
                ],
                "summary": "Authenticated Team",
                "description": "Get the team bound to the API token.",
                "operationId": "get-token-team",
                "responses": {
                    "200": {
                        "description": "Team bound to the API token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Team"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Teams"
                ],
                "summary": "Update authenticated team",
                "description": "Update settings for the team bound to the API token.",
                "operationId": "update-token-team",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "is_build_server_fallback_enabled"
                                ],
                                "properties": {
                                    "is_build_server_fallback_enabled": {
                                        "type": "boolean",
                                        "description": "Whether deployments can fall back to the deployment server when no usable dedicated build server is available."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Updated team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Team"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/team/members": {
            "get": {
                "tags": [
                    "Teams"
                ],
                "summary": "Authenticated Team Members",
                "description": "Get members of the team bound to the API token.",
                "operationId": "get-token-team-members",
                "responses": {
                    "200": {
                        "description": "Members of the team bound to the API token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/User"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/storages/{storage_uuid}/backups": {
            "put": {
                "tags": [
                    "Applications"
                ],
                "summary": "Set application storage backup schedule",
                "description": "Create or replace the backup schedule for an application persistent volume or directory storage.",
                "operationId": "set-application-storage-backup-schedule",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "description": "UUID of the persistent volume or directory storage.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VolumeBackupScheduleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Backup schedule replaced.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VolumeBackupScheduleResponse"
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Backup schedule created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VolumeBackupScheduleResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Applications"
                ],
                "summary": "Delete application storage backup schedule",
                "description": "Delete the backup schedule and its local and S3 archives for an application storage.",
                "operationId": "delete-application-storage-backup-schedule",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Backup schedule and archives deleted."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Backup or recovery operation is still running."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/storages/{storage_uuid}/backups": {
            "put": {
                "tags": [
                    "Databases"
                ],
                "summary": "Set database storage backup schedule",
                "description": "Create or replace the backup schedule for a database persistent volume or directory storage.",
                "operationId": "set-database-storage-backup-schedule",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the database.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "description": "UUID of the persistent volume or directory storage.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VolumeBackupScheduleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Backup schedule replaced.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VolumeBackupScheduleResponse"
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Backup schedule created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VolumeBackupScheduleResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Databases"
                ],
                "summary": "Delete database storage backup schedule",
                "description": "Delete the backup schedule and its local and S3 archives for a database storage.",
                "operationId": "delete-database-storage-backup-schedule",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Backup schedule and archives deleted."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Backup or recovery operation is still running."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/storages/{storage_uuid}/backups": {
            "put": {
                "tags": [
                    "Services"
                ],
                "summary": "Set service storage backup schedule",
                "description": "Create or replace the backup schedule for a service persistent volume or directory storage.",
                "operationId": "set-service-storage-backup-schedule",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "UUID of the service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "description": "UUID of the persistent volume or directory storage.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VolumeBackupScheduleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Backup schedule replaced.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VolumeBackupScheduleResponse"
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Backup schedule created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VolumeBackupScheduleResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400"
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Services"
                ],
                "summary": "Delete service storage backup schedule",
                "description": "Delete the backup schedule and its local and S3 archives for a service storage.",
                "operationId": "delete-service-storage-backup-schedule",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Backup schedule and archives deleted."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "403": {
                        "description": "Forbidden."
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "409": {
                        "description": "Backup or recovery operation is still running."
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/applications/{uuid}/storages/{storage_uuid}/backups/run": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Run application storage backup",
                "description": "Queue an immediate volume backup for an application storage that has a schedule.",
                "operationId": "run-application-storage-backup",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Storage backup queued."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/databases/{uuid}/storages/{storage_uuid}/backups/run": {
            "post": {
                "tags": [
                    "Databases"
                ],
                "summary": "Run database storage backup",
                "description": "Queue an immediate volume backup for a database storage that has a schedule.",
                "operationId": "run-database-storage-backup",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Storage backup queued."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/services/{uuid}/storages/{storage_uuid}/backups/run": {
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Run service storage backup",
                "description": "Queue an immediate volume backup for a service storage that has a schedule.",
                "operationId": "run-service-storage-backup",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "storage_uuid",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Storage backup queued."
                    },
                    "401": {
                        "$ref": "#/components/responses/401"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "DatabaseImportRequest": {
                "type": "object",
                "oneOf": [
                    {
                        "required": [
                            "source",
                            "upload_id"
                        ],
                        "properties": {
                            "source": {
                                "type": "string",
                                "enum": [
                                    "upload"
                                ]
                            },
                            "upload_id": {
                                "type": "string",
                                "format": "uuid"
                            },
                            "dump_all": {
                                "type": "boolean",
                                "default": false
                            },
                            "replace_existing": {
                                "description": "Drop matching PostgreSQL objects before restoring a single-database archive.",
                                "type": "boolean",
                                "default": false
                            },
                            "keep_owners": {
                                "description": "Restore object owners and privileges from a single-database PostgreSQL archive. By default they are skipped, because the roles of another server usually do not exist.",
                                "type": "boolean",
                                "default": false
                            },
                            "restore_mysql_users": {
                                "description": "MySQL and MariaDB backups containing all databases: also restore the mysql system database (users, passwords, and privileges). By default the system databases are skipped, so the database keeps its own users and passwords.",
                                "type": "boolean",
                                "default": false
                            },
                            "sqlite_database": {
                                "description": "SQLite: the database file to restore into. Must be one of the database files. Defaults to the file named in the backup file name, else the first file.",
                                "type": "string",
                                "example": "app.db"
                            }
                        },
                        "type": "object",
                        "additionalProperties": false
                    },
                    {
                        "required": [
                            "source",
                            "s3_storage_uuid",
                            "path"
                        ],
                        "properties": {
                            "source": {
                                "type": "string",
                                "enum": [
                                    "s3"
                                ]
                            },
                            "s3_storage_uuid": {
                                "type": "string"
                            },
                            "path": {
                                "type": "string"
                            },
                            "dump_all": {
                                "type": "boolean",
                                "default": false
                            },
                            "replace_existing": {
                                "description": "Drop matching PostgreSQL objects before restoring a single-database archive.",
                                "type": "boolean",
                                "default": false
                            },
                            "keep_owners": {
                                "description": "Restore object owners and privileges from a single-database PostgreSQL archive. By default they are skipped, because the roles of another server usually do not exist.",
                                "type": "boolean",
                                "default": false
                            },
                            "restore_mysql_users": {
                                "description": "MySQL and MariaDB backups containing all databases: also restore the mysql system database (users, passwords, and privileges). By default the system databases are skipped, so the database keeps its own users and passwords.",
                                "type": "boolean",
                                "default": false
                            },
                            "sqlite_database": {
                                "description": "SQLite: the database file to restore into. Must be one of the database files. Defaults to the file named in the backup file name, else the first file.",
                                "type": "string",
                                "example": "app.db"
                            }
                        },
                        "type": "object",
                        "additionalProperties": false
                    },
                    {
                        "required": [
                            "source",
                            "path"
                        ],
                        "properties": {
                            "source": {
                                "type": "string",
                                "enum": [
                                    "server"
                                ]
                            },
                            "path": {
                                "type": "string",
                                "example": "/var/backups/database.sql.gz"
                            },
                            "dump_all": {
                                "type": "boolean",
                                "default": false
                            },
                            "replace_existing": {
                                "description": "Drop matching PostgreSQL objects before restoring a single-database archive.",
                                "type": "boolean",
                                "default": false
                            },
                            "keep_owners": {
                                "description": "Restore object owners and privileges from a single-database PostgreSQL archive. By default they are skipped, because the roles of another server usually do not exist.",
                                "type": "boolean",
                                "default": false
                            },
                            "restore_mysql_users": {
                                "description": "MySQL and MariaDB backups containing all databases: also restore the mysql system database (users, passwords, and privileges). By default the system databases are skipped, so the database keeps its own users and passwords.",
                                "type": "boolean",
                                "default": false
                            },
                            "sqlite_database": {
                                "description": "SQLite: the database file to restore into. Must be one of the database files. Defaults to the file named in the backup file name, else the first file.",
                                "type": "string",
                                "example": "app.db"
                            }
                        },
                        "type": "object",
                        "additionalProperties": false
                    }
                ]
            },
            "DatabaseImportStatus": {
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "queued",
                            "in_progress",
                            "finished",
                            "error",
                            "killed",
                            "cancelled",
                            "closed"
                        ]
                    },
                    "exit_code": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "output": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "finished_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "ApplicationPreview": {
                "properties": {
                    "uuid": {
                        "type": "string"
                    },
                    "pull_request_id": {
                        "type": "integer"
                    },
                    "pull_request_html_url": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "git_type": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "type": "string"
                    },
                    "domains": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "docker_compose_domains": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "properties": {
                                "name": {
                                    "type": "string"
                                },
                                "domain": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "redirect": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            },
                            "type": "object"
                        }
                    },
                    "domain_port_overrides": {
                        "type": [
                            "object",
                            "null"
                        ]
                    },
                    "docker_registry_image_tag": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "last_online_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "ApplicationPreviewDeployment": {
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "deployment_uuid": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "preview": {
                        "$ref": "#/components/schemas/ApplicationPreview"
                    }
                },
                "type": "object"
            },
            "AutoscalingPolicy": {
                "properties": {
                    "enabled": {
                        "description": "Hostwolf: per-application autoscaling policy over the API. Same rules as the console's\nAutoscaling tab (App\\Livewire\\Hostwolf\\AppAutoscaling): the app must run on one of the team's\nHostwolf app servers, and autoscaled hours are billed on the team's server subscription.",
                        "type": "boolean",
                        "example": true
                    },
                    "min_copies": {
                        "description": "Copies of the app that always run (1-100).",
                        "type": "integer",
                        "example": 1
                    },
                    "max_copies": {
                        "description": "At most this many copies (1-100, at least min_copies).",
                        "type": "integer",
                        "example": 3
                    },
                    "monthly_cap_usd": {
                        "description": "Autoscaling stops adding servers once this month's autoscaled hours reach this amount, and the team admins get an email.",
                        "type": "number",
                        "example": 50
                    },
                    "allowed_cities": {
                        "description": "Region ids where servers may be added. Empty: any city near your visitors.",
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "vultr:fra",
                            "vultr:ewr"
                        ]
                    },
                    "scale_up_cpu": {
                        "description": "Add a server when average CPU is above this percent…",
                        "type": "integer",
                        "example": 60
                    },
                    "scale_up_minutes": {
                        "description": "…for this many minutes.",
                        "type": "integer",
                        "example": 2
                    },
                    "scale_down_cpu": {
                        "description": "Remove one when CPU is below this percent…",
                        "type": "integer",
                        "example": 15
                    },
                    "scale_down_minutes": {
                        "description": "…for this many minutes.",
                        "type": "integer",
                        "example": 5
                    },
                    "cooldown_minutes": {
                        "description": "Wait at least this long between changes.",
                        "type": "integer",
                        "example": 3
                    }
                },
                "type": "object"
            },
            "HostwolfTraffic": {
                "properties": {
                    "server_uuid": {
                        "description": "Hostwolf: the servers a team bought (app servers and VPS), read-only, with their outbound\ntraffic, and the cities and prices servers are sold in. Buying and cancelling stay in the console.",
                        "type": "string"
                    },
                    "month": {
                        "description": "Calendar month (UTC).",
                        "type": "string",
                        "example": "2026-10"
                    },
                    "outbound_bytes": {
                        "description": "Outbound (egress) traffic this month.",
                        "type": "integer"
                    },
                    "outbound": {
                        "type": "string",
                        "example": "12.4 GB"
                    },
                    "included_bytes": {
                        "description": "1 TB a month is included with every server.",
                        "type": "integer",
                        "example": 1000000000000
                    },
                    "overage_bytes": {
                        "type": "integer"
                    },
                    "price_per_gb": {
                        "description": "Price of each whole GB above the included traffic.",
                        "type": "number",
                        "example": 0.01
                    },
                    "bill_so_far": {
                        "description": "What this month's traffic costs so far, added to the server's next invoice.",
                        "type": "number",
                        "example": 0
                    },
                    "currency": {
                        "type": "string",
                        "example": "USD"
                    },
                    "sampled_at": {
                        "description": "Last reading (every 10 minutes).",
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "HostwolfVolume": {
                "properties": {
                    "id": {
                        "description": "Hostwolf: extra block storage (volumes) of the team's app servers and VPS over the API. Every\ncall goes through App\\Services\\Hostwolf\\Volumes, the same code as the console's Servers &\nBilling page. Anything that adds to the bill needs `\"confirm\": true`; without it the answer is\na 422 with the price, so a script or agent can show it first.",
                        "type": "string",
                        "example": "vol_1a2b3c4d5e6f"
                    },
                    "server_uuid": {
                        "description": "The purchased server (GET /hostwolf/servers) it belongs to; for a detached volume, the server it was on.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "region": {
                        "type": "string",
                        "example": "vultr:ams"
                    },
                    "size_gb": {
                        "type": "integer",
                        "example": 50
                    },
                    "resize_to": {
                        "description": "Set while the volume is being enlarged.",
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "status": {
                        "description": "`creating`, `attaching`, `mounting`, `ready`, `resizing`, `restoring`, `detaching`, `detached`, `deleting`, `deleted` or `failed`.",
                        "type": "string",
                        "example": "ready"
                    },
                    "mount_path": {
                        "type": "string",
                        "example": "/mnt/volume-1a2b3c4d5e6f"
                    },
                    "mounted": {
                        "type": "boolean"
                    },
                    "used_bytes": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "total_bytes": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "autogrow_max_gb": {
                        "description": "Auto-grow limit: at 85% full the volume grows by 25% (at least 10 GB) up to this size. 0 = off.",
                        "type": "integer"
                    },
                    "backups": {
                        "description": "Nightly backups, kept 7 days, billed per GB stored.",
                        "type": "boolean"
                    },
                    "backup_running": {
                        "type": "boolean"
                    },
                    "last_backup_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "backup_count": {
                        "description": "Backups that can be restored (GET …/backups).",
                        "type": "integer"
                    },
                    "backup_bytes": {
                        "description": "Stored backup size.",
                        "type": "integer"
                    },
                    "billed": {
                        "description": "Whether the volume is billed right now. A volume you detached stays billed; the volumes of a deleted server are free until `kept_until`.",
                        "type": "boolean"
                    },
                    "monthly_price": {
                        "description": "Current price of the volume (billed hourly, monthly ÷ 730).",
                        "type": [
                            "number",
                            "null"
                        ]
                    },
                    "hourly_price": {
                        "type": [
                            "number",
                            "null"
                        ]
                    },
                    "backup_monthly_price": {
                        "description": "Current price of the stored backups.",
                        "type": [
                            "number",
                            "null"
                        ]
                    },
                    "currency": {
                        "type": "string",
                        "example": "USD"
                    },
                    "kept_until": {
                        "description": "Detached volume of a deleted server: free until then, then deleted with its files.",
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "restore": {
                        "description": "The last restore into this volume: backup_id, status (`pending`, `running`, `done`, `failed`), started_at, finished_at.",
                        "type": [
                            "object",
                            "null"
                        ]
                    },
                    "manual_commands": {
                        "description": "Only when the server could not mount the volume itself: run these as root once.",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "HostwolfVolumeQuote": {
                "properties": {
                    "size_gb": {
                        "type": "integer",
                        "example": 50
                    },
                    "monthly_price": {
                        "type": "number",
                        "example": 2.73
                    },
                    "hourly_price": {
                        "type": "number",
                        "example": 0.0037
                    },
                    "currency": {
                        "type": "string",
                        "example": "USD"
                    },
                    "backups_monthly_price_if_full": {
                        "description": "Backups are billed per GB stored: this is their price if the volume were full (7 days of changes add to it).",
                        "type": [
                            "number",
                            "null"
                        ]
                    },
                    "autogrow_max_gb": {
                        "description": "Only for an auto-grow limit: the limit.",
                        "type": "integer"
                    },
                    "autogrow_max_monthly_price": {
                        "description": "Only for an auto-grow limit: the monthly price once the volume has grown to the limit.",
                        "type": "number"
                    },
                    "autogrow_max_hourly_price": {
                        "description": "Only for an auto-grow limit: the hourly price at the limit.",
                        "type": "number"
                    },
                    "current_monthly_price": {
                        "description": "Only for changes to an existing volume: what it costs now.",
                        "type": [
                            "number",
                            "null"
                        ]
                    }
                },
                "type": "object"
            },
            "HostwolfConfirmRequired": {
                "description": "The answer to a request that would raise the bill (or overwrite data) without `\"confirm\": true`. Nothing was changed.",
                "properties": {
                    "message": {
                        "type": "string",
                        "example": "A 50 GB volume costs $2.73/month, billed hourly, plus its backups per GB stored. Send \"confirm\": true to go ahead."
                    },
                    "confirm_required": {
                        "type": "boolean",
                        "example": true
                    },
                    "quote": {
                        "description": "The price, when there is one (HostwolfVolumeQuote, or the plan price for a database upgrade).",
                        "type": [
                            "object",
                            "null"
                        ]
                    },
                    "errors": {
                        "type": "object",
                        "example": {
                            "confirm": [
                                "Send \"confirm\": true to go ahead."
                            ]
                        }
                    }
                },
                "type": "object"
            },
            "ManagedDatabase": {
                "properties": {
                    "uuid": {
                        "description": "Hostwolf managed databases (PostgreSQL, MySQL/MariaDB, Redis) over the API. They run on\nHostwolf database servers, never on the team's app servers. Every call goes through\nApp\\Services\\Hostwolf\\ManagedDatabases, the same code as the console page.",
                        "type": "string",
                        "format": "uuid"
                    },
                    "engine": {
                        "type": "string",
                        "enum": [
                            "postgres",
                            "mariadb",
                            "redis"
                        ]
                    },
                    "plan": {
                        "description": "The current plan (after an upgrade finished).",
                        "type": "string",
                        "enum": [
                            "small",
                            "medium",
                            "large",
                            "xlarge"
                        ]
                    },
                    "region": {
                        "type": "string",
                        "example": "vultr:ams"
                    },
                    "status": {
                        "description": "`creating`, `ready`, `updating`, `deleting`, or `failed`.",
                        "type": "string",
                        "example": "ready"
                    },
                    "hostname": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "example": "db-0123456789abcdef0123456789abcdef.db.app.hostwolf.net"
                    },
                    "port": {
                        "description": "Direct engine port.",
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 5432
                    },
                    "pooled_port": {
                        "description": "Connection pooler port (PgBouncer 6432, ProxySQL 6033); 0 for Redis, which has no pooler.",
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 6432
                    },
                    "limits": {
                        "description": "Plan limits: ram_mb, storage_gb, connections, pooled_clients, direct_connections, pool_size, dedicated.",
                        "type": [
                            "object",
                            "null"
                        ]
                    },
                    "eviction_policy": {
                        "description": "Redis only.",
                        "type": [
                            "string",
                            "null"
                        ],
                        "example": "allkeys-lru"
                    },
                    "metrics": {
                        "description": "Latest reading: size_bytes, quota_bytes, connections, connection_limit, pooled_clients, memory_used_bytes, memory_max_bytes, evicted_keys, at.",
                        "type": [
                            "object",
                            "null"
                        ]
                    },
                    "extra_storage": {
                        "description": "Storage above the plan, billed per GB: extra_gb, monthly_price, hourly_price.",
                        "type": [
                            "object",
                            "null"
                        ]
                    },
                    "advice": {
                        "description": "Set when the database used more than its plan (reason `cpu`, `connections` or `memory`) in 3 of the last 4 hours; `plan` is the suggested upgrade (\"\" when already on the biggest plan).",
                        "type": [
                            "object",
                            "null"
                        ]
                    },
                    "upgrades": {
                        "description": "Plans the database can change to now. `move` copies it to another server (unavailable during the copy, the URL stays the same).",
                        "type": "array",
                        "items": {
                            "properties": {
                                "plan": {
                                    "type": "string",
                                    "example": "medium"
                                },
                                "how": {
                                    "type": "string",
                                    "enum": [
                                        "in_place",
                                        "move"
                                    ]
                                }
                            },
                            "type": "object"
                        }
                    },
                    "moving": {
                        "description": "The plan a running plan change goes to.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "monthly_price": {
                        "type": "number",
                        "example": 3.43
                    },
                    "hourly_price": {
                        "type": "number",
                        "example": 0.0047
                    },
                    "currency": {
                        "type": "string",
                        "example": "USD"
                    },
                    "env_key": {
                        "description": "The environment variable `attach` writes the pooled URL to: `DATABASE_URL`, or `REDIS_URL` for Redis. PostgreSQL and MariaDB also get `DATABASE_DIRECT_URL`.",
                        "type": "string",
                        "example": "DATABASE_URL"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "HostwolfServer": {
                "properties": {
                    "uuid": {
                        "type": "string"
                    },
                    "kind": {
                        "type": "string",
                        "enum": [
                            "app",
                            "vps"
                        ]
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "hostname": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "example": "s1a2b3c.app.hostwolf.net"
                    },
                    "ip": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "size": {
                        "type": "string",
                        "example": "s"
                    },
                    "region": {
                        "type": "string",
                        "example": "hetzner:nbg1"
                    },
                    "city": {
                        "type": "string",
                        "example": "Nuremberg"
                    },
                    "os": {
                        "description": "VPS only.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "example": "ready"
                    },
                    "autoscaled": {
                        "description": "Added by autoscaling (billed hourly).",
                        "type": "boolean"
                    },
                    "monthly_price": {
                        "type": "number"
                    },
                    "hourly_price": {
                        "type": "number"
                    },
                    "currency": {
                        "type": "string",
                        "example": "USD"
                    },
                    "cancel_at_period_end": {
                        "type": "boolean"
                    },
                    "server_uuid": {
                        "description": "App servers: the uuid for /servers, /applications and /services.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "VolumeBackupScheduleRequest": {
                "required": [
                    "frequency"
                ],
                "properties": {
                    "frequency": {
                        "type": "string",
                        "maxLength": 255,
                        "example": "0 2 * * *"
                    },
                    "enabled": {
                        "type": "boolean",
                        "default": true
                    },
                    "save_s3": {
                        "type": "boolean",
                        "default": false
                    },
                    "disable_local_backup": {
                        "type": "boolean",
                        "default": false
                    },
                    "stop_during_backup": {
                        "type": "boolean",
                        "default": false
                    },
                    "s3_storage_uuid": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "retention_amount_locally": {
                        "type": "integer",
                        "default": 7,
                        "maximum": 10000,
                        "minimum": 0
                    },
                    "retention_days_locally": {
                        "type": "integer",
                        "default": 0,
                        "maximum": 2147483647,
                        "minimum": 0
                    },
                    "retention_max_storage_locally": {
                        "type": "number",
                        "format": "float",
                        "default": 0,
                        "maximum": 9999999999,
                        "minimum": 0
                    },
                    "retention_amount_s3": {
                        "type": "integer",
                        "default": 7,
                        "maximum": 10000,
                        "minimum": 0
                    },
                    "retention_days_s3": {
                        "type": "integer",
                        "default": 0,
                        "maximum": 2147483647,
                        "minimum": 0
                    },
                    "retention_max_storage_s3": {
                        "type": "number",
                        "format": "float",
                        "default": 0,
                        "maximum": 9999999999,
                        "minimum": 0
                    },
                    "timeout": {
                        "type": "integer",
                        "default": 36000,
                        "maximum": 36000,
                        "minimum": 60
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "VolumeBackupScheduleResponse": {
                "required": [
                    "uuid",
                    "message",
                    "storage_uuid",
                    "storage_type",
                    "frequency",
                    "enabled",
                    "save_s3",
                    "disable_local_backup",
                    "stop_during_backup",
                    "retention_amount_locally",
                    "retention_days_locally",
                    "retention_max_storage_locally",
                    "retention_amount_s3",
                    "retention_days_s3",
                    "retention_max_storage_s3",
                    "timeout"
                ],
                "properties": {
                    "uuid": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    },
                    "storage_uuid": {
                        "type": "string"
                    },
                    "storage_type": {
                        "type": "string",
                        "enum": [
                            "persistent",
                            "directory"
                        ]
                    },
                    "frequency": {
                        "type": "string"
                    },
                    "enabled": {
                        "type": "boolean"
                    },
                    "save_s3": {
                        "type": "boolean"
                    },
                    "disable_local_backup": {
                        "type": "boolean"
                    },
                    "stop_during_backup": {
                        "type": "boolean"
                    },
                    "s3_storage_uuid": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "retention_amount_locally": {
                        "type": "integer"
                    },
                    "retention_days_locally": {
                        "type": "integer"
                    },
                    "retention_max_storage_locally": {
                        "type": "number",
                        "format": "float"
                    },
                    "retention_amount_s3": {
                        "type": "integer"
                    },
                    "retention_days_s3": {
                        "type": "integer"
                    },
                    "retention_max_storage_s3": {
                        "type": "number",
                        "format": "float"
                    },
                    "timeout": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "Application": {
                "description": "Application model",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The application identifier in the database."
                    },
                    "description": {
                        "type": "string",
                        "nullable": true,
                        "description": "The application description."
                    },
                    "repository_project_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "The repository project identifier."
                    },
                    "uuid": {
                        "type": "string",
                        "description": "The application UUID."
                    },
                    "name": {
                        "type": "string",
                        "description": "The application name."
                    },
                    "fqdn": {
                        "type": "string",
                        "nullable": true,
                        "description": "The application domains."
                    },
                    "noindex_domains": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true,
                        "description": "The subset of the application domains served with an X-Robots-Tag: noindex, nofollow response header."
                    },
                    "config_hash": {
                        "type": "string",
                        "description": "Configuration hash."
                    },
                    "git_repository": {
                        "type": "string",
                        "nullable": true,
                        "description": "Git repository URL. Null for apps without a git source (a pasted Dockerfile or a Docker image)."
                    },
                    "git_branch": {
                        "type": "string",
                        "nullable": true,
                        "description": "Git branch. Null for apps without a git source."
                    },
                    "git_commit_sha": {
                        "type": "string",
                        "nullable": true,
                        "description": "Git commit SHA. Null for apps without a git source."
                    },
                    "git_full_url": {
                        "type": "string",
                        "nullable": true,
                        "description": "Git full URL."
                    },
                    "docker_registry_image_name": {
                        "type": "string",
                        "nullable": true,
                        "description": "Docker registry image name."
                    },
                    "docker_registry_image_tag": {
                        "type": "string",
                        "nullable": true,
                        "description": "Docker registry image tag."
                    },
                    "build_pack": {
                        "type": "string",
                        "description": "Build pack.",
                        "enum": [
                            "nixpacks",
                            "railpack",
                            "static",
                            "dockerfile",
                            "dockercompose"
                        ]
                    },
                    "static_image": {
                        "type": "string",
                        "description": "Static image used when static site is deployed."
                    },
                    "install_command": {
                        "type": "string",
                        "description": "Install command."
                    },
                    "build_command": {
                        "type": "string",
                        "description": "Build command."
                    },
                    "start_command": {
                        "type": "string",
                        "description": "Start command."
                    },
                    "ports_exposes": {
                        "type": "string",
                        "description": "Ports exposes."
                    },
                    "ports_mappings": {
                        "type": "string",
                        "nullable": true,
                        "description": "Ports mappings."
                    },
                    "custom_network_aliases": {
                        "type": "string",
                        "nullable": true,
                        "description": "Network aliases for Docker container."
                    },
                    "base_directory": {
                        "type": "string",
                        "description": "Base directory for all commands."
                    },
                    "publish_directory": {
                        "type": "string",
                        "description": "Publish directory."
                    },
                    "health_check_enabled": {
                        "type": "boolean",
                        "description": "Health check enabled."
                    },
                    "health_check_path": {
                        "type": "string",
                        "description": "Health check path."
                    },
                    "health_check_port": {
                        "type": "string",
                        "nullable": true,
                        "description": "Health check port."
                    },
                    "health_check_host": {
                        "type": "string",
                        "nullable": true,
                        "description": "Health check host."
                    },
                    "health_check_method": {
                        "type": "string",
                        "description": "Health check method."
                    },
                    "health_check_return_code": {
                        "type": "integer",
                        "description": "Health check return code."
                    },
                    "health_check_scheme": {
                        "type": "string",
                        "description": "Health check scheme."
                    },
                    "health_check_response_text": {
                        "type": "string",
                        "nullable": true,
                        "description": "Health check response text."
                    },
                    "health_check_interval": {
                        "type": "integer",
                        "description": "Health check interval in seconds."
                    },
                    "health_check_timeout": {
                        "type": "integer",
                        "description": "Health check timeout in seconds."
                    },
                    "health_check_retries": {
                        "type": "integer",
                        "description": "Health check retries count."
                    },
                    "health_check_start_period": {
                        "type": "integer",
                        "description": "Health check start period in seconds."
                    },
                    "health_check_type": {
                        "type": "string",
                        "description": "Health check type: http or cmd.",
                        "enum": [
                            "http",
                            "cmd"
                        ]
                    },
                    "health_check_command": {
                        "type": "string",
                        "nullable": true,
                        "description": "Health check command for CMD type."
                    },
                    "limits_memory": {
                        "type": "string",
                        "description": "Memory limit."
                    },
                    "limits_memory_swap": {
                        "type": "string",
                        "description": "Memory swap limit."
                    },
                    "limits_memory_swappiness": {
                        "type": "integer",
                        "description": "Memory swappiness."
                    },
                    "limits_memory_reservation": {
                        "type": "string",
                        "description": "Memory reservation."
                    },
                    "limits_cpus": {
                        "type": "string",
                        "description": "CPU limit."
                    },
                    "limits_cpuset": {
                        "type": "string",
                        "nullable": true,
                        "description": "CPU set."
                    },
                    "limits_cpu_shares": {
                        "type": "integer",
                        "description": "CPU shares."
                    },
                    "status": {
                        "type": "string",
                        "description": "Application status."
                    },
                    "preview_url_template": {
                        "type": "string",
                        "description": "Preview URL template."
                    },
                    "max_restart_count": {
                        "type": "integer",
                        "description": "Maximum container restart count before stopping."
                    },
                    "destination_type": {
                        "type": "string",
                        "description": "Destination type."
                    },
                    "destination_id": {
                        "type": "integer",
                        "description": "Destination identifier."
                    },
                    "source_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Source identifier."
                    },
                    "private_key_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Private key identifier."
                    },
                    "environment_id": {
                        "type": "integer",
                        "description": "Environment identifier."
                    },
                    "dockerfile": {
                        "type": "string",
                        "nullable": true,
                        "description": "Dockerfile content. Used for dockerfile build pack."
                    },
                    "dockerfile_location": {
                        "type": "string",
                        "description": "Dockerfile location."
                    },
                    "custom_labels": {
                        "type": "string",
                        "nullable": true,
                        "description": "Custom labels."
                    },
                    "dockerfile_target_build": {
                        "type": "string",
                        "nullable": true,
                        "description": "Dockerfile target build."
                    },
                    "manual_webhook_secret_github": {
                        "type": "string",
                        "nullable": true,
                        "description": "Manual webhook secret for GitHub."
                    },
                    "manual_webhook_secret_gitlab": {
                        "type": "string",
                        "nullable": true,
                        "description": "Manual webhook secret for GitLab."
                    },
                    "manual_webhook_secret_bitbucket": {
                        "type": "string",
                        "nullable": true,
                        "description": "Manual webhook secret for Bitbucket."
                    },
                    "manual_webhook_secret_gitea": {
                        "type": "string",
                        "nullable": true,
                        "description": "Manual webhook secret for Gitea."
                    },
                    "docker_compose_location": {
                        "type": "string",
                        "description": "Docker compose location."
                    },
                    "docker_compose": {
                        "type": "string",
                        "nullable": true,
                        "description": "Docker compose content. Used for docker compose build pack."
                    },
                    "docker_compose_raw": {
                        "type": "string",
                        "nullable": true,
                        "description": "Docker compose raw content."
                    },
                    "docker_compose_domains": {
                        "type": "string",
                        "nullable": true,
                        "description": "Docker compose domains."
                    },
                    "docker_compose_custom_start_command": {
                        "type": "string",
                        "nullable": true,
                        "description": "Docker compose custom start command."
                    },
                    "docker_compose_custom_build_command": {
                        "type": "string",
                        "nullable": true,
                        "description": "Docker compose custom build command."
                    },
                    "swarm_replicas": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Swarm replicas. Only used for swarm deployments."
                    },
                    "swarm_placement_constraints": {
                        "type": "string",
                        "nullable": true,
                        "description": "Swarm placement constraints. Only used for swarm deployments."
                    },
                    "custom_docker_run_options": {
                        "type": "string",
                        "nullable": true,
                        "description": "Custom docker run options."
                    },
                    "post_deployment_command": {
                        "type": "string",
                        "nullable": true,
                        "description": "Post deployment command."
                    },
                    "post_deployment_command_container": {
                        "type": "string",
                        "nullable": true,
                        "description": "Post deployment command container."
                    },
                    "pre_deployment_command": {
                        "type": "string",
                        "nullable": true,
                        "description": "Pre deployment command."
                    },
                    "pre_deployment_command_container": {
                        "type": "string",
                        "nullable": true,
                        "description": "Pre deployment command container."
                    },
                    "watch_paths": {
                        "type": "string",
                        "nullable": true,
                        "description": "Watch paths."
                    },
                    "custom_healthcheck_found": {
                        "type": "boolean",
                        "description": "Custom healthcheck found."
                    },
                    "redirect": {
                        "type": "string",
                        "nullable": true,
                        "description": "How to set redirect with Traefik / Caddy. www<->non-www.",
                        "enum": [
                            "www",
                            "non-www",
                            "both"
                        ]
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the application was created."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the application was last updated."
                    },
                    "deleted_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true,
                        "description": "The date and time when the application was deleted."
                    },
                    "compose_parsing_version": {
                        "type": "string",
                        "description": "How Hostwolf parse the compose file."
                    },
                    "custom_nginx_configuration": {
                        "type": "string",
                        "nullable": true,
                        "description": "Custom Nginx configuration base64 encoded."
                    },
                    "is_http_basic_auth_enabled": {
                        "type": "boolean",
                        "description": "HTTP Basic Authentication enabled."
                    },
                    "http_basic_auth_username": {
                        "type": "string",
                        "nullable": true,
                        "description": "Username for HTTP Basic Authentication"
                    },
                    "http_basic_auth_password": {
                        "type": "string",
                        "nullable": true,
                        "description": "Password for HTTP Basic Authentication"
                    },
                    "settings": {
                        "$ref": "#/components/schemas/ApplicationSetting"
                    }
                },
                "type": "object"
            },
            "ApplicationDeploymentQueue": {
                "description": "Project model",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "application_id": {
                        "type": "string"
                    },
                    "deployment_uuid": {
                        "type": "string"
                    },
                    "pull_request_id": {
                        "type": "integer"
                    },
                    "docker_registry_image_tag": {
                        "type": "string",
                        "nullable": true
                    },
                    "configuration_hash": {
                        "type": "string",
                        "nullable": true
                    },
                    "configuration_snapshot": {
                        "type": "object",
                        "nullable": true
                    },
                    "configuration_diff": {
                        "type": "object",
                        "nullable": true
                    },
                    "force_rebuild": {
                        "type": "boolean"
                    },
                    "commit": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "is_webhook": {
                        "type": "boolean"
                    },
                    "is_api": {
                        "type": "boolean"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    },
                    "logs": {
                        "type": "string"
                    },
                    "current_process_id": {
                        "type": "string"
                    },
                    "restart_only": {
                        "type": "boolean"
                    },
                    "git_type": {
                        "type": "string"
                    },
                    "server_id": {
                        "type": "integer"
                    },
                    "application_name": {
                        "type": "string"
                    },
                    "server_name": {
                        "type": "string"
                    },
                    "deployment_url": {
                        "type": "string"
                    },
                    "destination_id": {
                        "type": "string"
                    },
                    "only_this_server": {
                        "type": "boolean"
                    },
                    "parent_deployment_uuid": {
                        "type": "string",
                        "nullable": true
                    },
                    "rollback": {
                        "type": "boolean"
                    },
                    "commit_message": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "ApplicationSetting": {
                "description": "Application settings.",
                "properties": {
                    "is_static": {
                        "type": "boolean"
                    },
                    "is_git_submodules_enabled": {
                        "type": "boolean"
                    },
                    "is_git_lfs_enabled": {
                        "type": "boolean"
                    },
                    "is_auto_deploy_enabled": {
                        "type": "boolean"
                    },
                    "is_force_https_enabled": {
                        "type": "boolean"
                    },
                    "is_debug_enabled": {
                        "type": "boolean"
                    },
                    "is_preview_deployments_enabled": {
                        "type": "boolean"
                    },
                    "is_log_drain_enabled": {
                        "type": "boolean"
                    },
                    "is_gpu_enabled": {
                        "type": "boolean"
                    },
                    "gpu_driver": {
                        "type": "string",
                        "nullable": true
                    },
                    "gpu_count": {
                        "type": "string",
                        "nullable": true
                    },
                    "gpu_device_ids": {
                        "type": "string",
                        "nullable": true
                    },
                    "gpu_options": {
                        "type": "string",
                        "nullable": true
                    },
                    "is_include_timestamps": {
                        "type": "boolean"
                    },
                    "is_swarm_only_worker_nodes": {
                        "type": "boolean"
                    },
                    "is_raw_compose_deployment_enabled": {
                        "type": "boolean"
                    },
                    "is_build_server_enabled": {
                        "type": "boolean"
                    },
                    "is_consistent_container_name_enabled": {
                        "type": "boolean"
                    },
                    "is_gzip_enabled": {
                        "type": "boolean"
                    },
                    "is_stripprefix_enabled": {
                        "type": "boolean"
                    },
                    "connect_to_docker_network": {
                        "type": "boolean"
                    },
                    "custom_internal_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "custom_container_name_prefix": {
                        "type": "string",
                        "nullable": true
                    },
                    "is_container_label_escape_enabled": {
                        "type": "boolean"
                    },
                    "is_env_sorting_enabled": {
                        "type": "boolean"
                    },
                    "is_container_label_readonly_enabled": {
                        "type": "boolean"
                    },
                    "is_preserve_repository_enabled": {
                        "type": "boolean"
                    },
                    "disable_build_cache": {
                        "type": "boolean"
                    },
                    "is_spa": {
                        "type": "boolean"
                    },
                    "is_git_shallow_clone_enabled": {
                        "type": "boolean"
                    },
                    "is_pr_deployments_public_enabled": {
                        "type": "boolean"
                    },
                    "use_build_secrets": {
                        "type": "boolean"
                    },
                    "inject_build_args_to_dockerfile": {
                        "type": "boolean"
                    },
                    "include_source_commit_in_build": {
                        "type": "boolean"
                    },
                    "docker_images_to_keep": {
                        "type": "integer"
                    },
                    "stop_grace_period": {
                        "type": "integer",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "Environment": {
                "description": "Environment model",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "project_id": {
                        "type": "integer"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "EnvironmentVariable": {
                "description": "Environment Variable model",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "uuid": {
                        "type": "string"
                    },
                    "resourceable_type": {
                        "type": "string"
                    },
                    "resourceable_id": {
                        "type": "integer"
                    },
                    "is_literal": {
                        "type": "boolean"
                    },
                    "is_multiline": {
                        "type": "boolean"
                    },
                    "is_preview": {
                        "type": "boolean"
                    },
                    "is_runtime": {
                        "type": "boolean"
                    },
                    "is_buildtime": {
                        "type": "boolean"
                    },
                    "is_shared": {
                        "type": "boolean"
                    },
                    "is_shown_once": {
                        "type": "boolean",
                        "description": "If true, the saved value is hidden in the UI and API responses. MCP never returns environment variable values."
                    },
                    "key": {
                        "type": "string"
                    },
                    "value": {
                        "type": "string"
                    },
                    "real_value": {
                        "type": "string"
                    },
                    "comment": {
                        "type": "string",
                        "nullable": true
                    },
                    "version": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "PrivateKey": {
                "description": "Private Key model",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "uuid": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "private_key": {
                        "type": "string",
                        "format": "private-key"
                    },
                    "public_key": {
                        "type": "string",
                        "description": "The public key of the private key."
                    },
                    "fingerprint": {
                        "type": "string",
                        "description": "The fingerprint of the private key."
                    },
                    "is_git_related": {
                        "type": "boolean"
                    },
                    "team_id": {
                        "type": "integer"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "Project": {
                "description": "Project model",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "uuid": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "ScheduledTask": {
                "description": "Scheduled Task model",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The unique identifier of the scheduled task in the database."
                    },
                    "uuid": {
                        "type": "string",
                        "description": "The unique identifier of the scheduled task."
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "The flag to indicate if the scheduled task is enabled."
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the scheduled task."
                    },
                    "command": {
                        "type": "string",
                        "description": "The command to execute."
                    },
                    "frequency": {
                        "type": "string",
                        "description": "The frequency of the scheduled task."
                    },
                    "container": {
                        "type": "string",
                        "nullable": true,
                        "description": "The container where the command should be executed."
                    },
                    "timeout": {
                        "type": "integer",
                        "description": "The timeout of the scheduled task in seconds."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the scheduled task was created."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the scheduled task was last updated."
                    }
                },
                "type": "object"
            },
            "ScheduledTaskExecution": {
                "description": "Scheduled Task Execution model",
                "properties": {
                    "uuid": {
                        "type": "string",
                        "description": "The unique identifier of the execution."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "success",
                            "failed",
                            "running"
                        ],
                        "description": "The status of the execution."
                    },
                    "message": {
                        "type": "string",
                        "nullable": true,
                        "description": "The output message of the execution."
                    },
                    "retry_count": {
                        "type": "integer",
                        "description": "The number of retries."
                    },
                    "duration": {
                        "type": "number",
                        "nullable": true,
                        "description": "Duration in seconds."
                    },
                    "started_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true,
                        "description": "When the execution started."
                    },
                    "finished_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true,
                        "description": "When the execution finished."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "When the record was created."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "When the record was last updated."
                    }
                },
                "type": "object"
            },
            "Server": {
                "description": "Server model",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The server ID."
                    },
                    "uuid": {
                        "type": "string",
                        "description": "The server UUID."
                    },
                    "name": {
                        "type": "string",
                        "description": "The server name."
                    },
                    "description": {
                        "type": "string",
                        "description": "The server description."
                    },
                    "ip": {
                        "type": "string",
                        "description": "The IP address."
                    },
                    "user": {
                        "type": "string",
                        "description": "The user."
                    },
                    "port": {
                        "type": "integer",
                        "description": "The port number."
                    },
                    "proxy": {
                        "type": "object",
                        "description": "The proxy configuration."
                    },
                    "proxy_type": {
                        "type": "string",
                        "enum": [
                            "traefik",
                            "caddy",
                            "none"
                        ],
                        "description": "The proxy type."
                    },
                    "high_disk_usage_notification_sent": {
                        "type": "boolean",
                        "description": "The flag to indicate if the high disk usage notification has been sent."
                    },
                    "unreachable_notification_sent": {
                        "type": "boolean",
                        "description": "The flag to indicate if the unreachable notification has been sent."
                    },
                    "unreachable_count": {
                        "type": "integer",
                        "description": "The unreachable count for your server."
                    },
                    "validation_logs": {
                        "type": "string",
                        "description": "The validation logs."
                    },
                    "log_drain_notification_sent": {
                        "type": "boolean",
                        "description": "The flag to indicate if the log drain notification has been sent."
                    },
                    "swarm_cluster": {
                        "type": "string",
                        "description": "The swarm cluster configuration."
                    },
                    "settings": {
                        "$ref": "#/components/schemas/ServerSetting"
                    }
                },
                "type": "object"
            },
            "ServerSetting": {
                "description": "Server Settings model",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "concurrent_builds": {
                        "type": "integer"
                    },
                    "deployment_queue_limit": {
                        "type": "integer"
                    },
                    "backup_compression_cpu_percentage": {
                        "type": "integer"
                    },
                    "dynamic_timeout": {
                        "type": "integer"
                    },
                    "force_disabled": {
                        "type": "boolean"
                    },
                    "force_server_cleanup": {
                        "type": "boolean"
                    },
                    "server_role": {
                        "type": "string",
                        "enum": [
                            "deployment",
                            "build",
                            "both"
                        ]
                    },
                    "is_build_server": {
                        "type": "boolean",
                        "deprecated": true,
                        "readOnly": true,
                        "description": "Deprecated: use server_role instead. true when server_role is build."
                    },
                    "is_cloudflare_tunnel": {
                        "type": "boolean"
                    },
                    "is_jump_server": {
                        "type": "boolean"
                    },
                    "is_logdrain_axiom_enabled": {
                        "type": "boolean"
                    },
                    "is_logdrain_custom_enabled": {
                        "type": "boolean"
                    },
                    "is_logdrain_highlight_enabled": {
                        "type": "boolean"
                    },
                    "is_logdrain_newrelic_enabled": {
                        "type": "boolean"
                    },
                    "is_metrics_enabled": {
                        "type": "boolean"
                    },
                    "is_traffic_analytics_enabled": {
                        "type": "boolean"
                    },
                    "traffic_topn": {
                        "type": "integer"
                    },
                    "traffic_sample_threshold": {
                        "type": "integer"
                    },
                    "traffic_retention_1h_days": {
                        "type": "integer"
                    },
                    "traffic_retention_1d_days": {
                        "type": "integer"
                    },
                    "is_geoip_enabled": {
                        "type": "boolean"
                    },
                    "geoip_refresh_days": {
                        "type": "integer"
                    },
                    "is_reachable": {
                        "type": "boolean"
                    },
                    "is_sentinel_enabled": {
                        "type": "boolean"
                    },
                    "is_swarm_manager": {
                        "type": "boolean"
                    },
                    "is_swarm_worker": {
                        "type": "boolean"
                    },
                    "is_terminal_enabled": {
                        "type": "boolean"
                    },
                    "is_usable": {
                        "type": "boolean"
                    },
                    "logdrain_axiom_api_key": {
                        "type": "string"
                    },
                    "logdrain_axiom_dataset_name": {
                        "type": "string"
                    },
                    "logdrain_custom_config": {
                        "type": "string"
                    },
                    "logdrain_custom_config_parser": {
                        "type": "string"
                    },
                    "logdrain_highlight_project_id": {
                        "type": "string"
                    },
                    "logdrain_newrelic_base_uri": {
                        "type": "string"
                    },
                    "logdrain_newrelic_license_key": {
                        "type": "string"
                    },
                    "sentinel_metrics_history_days": {
                        "type": "integer"
                    },
                    "sentinel_metrics_refresh_rate_seconds": {
                        "type": "integer"
                    },
                    "sentinel_token": {
                        "type": "string"
                    },
                    "docker_cleanup_frequency": {
                        "type": "string"
                    },
                    "docker_cleanup_threshold": {
                        "type": "integer"
                    },
                    "server_id": {
                        "type": "integer"
                    },
                    "wildcard_domain": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    },
                    "delete_unused_volumes": {
                        "type": "boolean",
                        "description": "The flag to indicate if the unused volumes should be deleted."
                    },
                    "delete_unused_networks": {
                        "type": "boolean",
                        "description": "The flag to indicate if the unused networks should be deleted."
                    },
                    "connection_timeout": {
                        "type": "integer",
                        "description": "SSH connection timeout in seconds."
                    },
                    "docker_version": {
                        "type": "string",
                        "nullable": true,
                        "description": "Detected Docker Engine version on the server."
                    },
                    "docker_version_checked_at": {
                        "type": "string",
                        "nullable": true,
                        "description": "When Docker Engine version was last detected."
                    },
                    "compose_version": {
                        "type": "string",
                        "nullable": true,
                        "description": "Detected Docker Compose plugin version on the server."
                    },
                    "compose_version_checked_at": {
                        "type": "string",
                        "nullable": true,
                        "description": "When Docker Compose version was last detected."
                    }
                },
                "type": "object"
            },
            "Service": {
                "description": "Service model",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The unique identifier of the service. Only used for database identification."
                    },
                    "uuid": {
                        "type": "string",
                        "description": "The unique identifier of the service."
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the service."
                    },
                    "environment_id": {
                        "type": "integer",
                        "description": "The unique identifier of the environment where the service is attached to."
                    },
                    "server_id": {
                        "type": "integer",
                        "description": "The unique identifier of the server where the service is running."
                    },
                    "description": {
                        "type": "string",
                        "description": "The description of the service."
                    },
                    "docker_compose_raw": {
                        "type": "string",
                        "description": "The raw docker-compose.yml file of the service."
                    },
                    "docker_compose": {
                        "type": "string",
                        "description": "The docker-compose.yml file that is parsed and modified by Hostwolf."
                    },
                    "destination_type": {
                        "type": "string",
                        "description": "Destination type."
                    },
                    "destination_id": {
                        "type": "integer",
                        "description": "The unique identifier of the destination where the service is running."
                    },
                    "connect_to_docker_network": {
                        "type": "boolean",
                        "description": "The flag to connect the service to the predefined Docker network."
                    },
                    "is_container_label_escape_enabled": {
                        "type": "boolean",
                        "description": "The flag to enable the container label escape."
                    },
                    "is_container_label_readonly_enabled": {
                        "type": "boolean",
                        "description": "The flag to enable the container label readonly."
                    },
                    "config_hash": {
                        "type": "string",
                        "description": "The hash of the service configuration."
                    },
                    "service_type": {
                        "type": "string",
                        "description": "The type of the service."
                    },
                    "created_at": {
                        "type": "string",
                        "description": "The date and time when the service was created."
                    },
                    "updated_at": {
                        "type": "string",
                        "description": "The date and time when the service was last updated."
                    },
                    "deleted_at": {
                        "type": "string",
                        "description": "The date and time when the service was deleted."
                    }
                },
                "type": "object"
            },
            "Destination": {
                "description": "A Docker network destination attached to a server.",
                "properties": {
                    "uuid": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "network": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "standalone",
                            "swarm"
                        ]
                    },
                    "server_uuid": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Tag": {
                "description": "Tag model",
                "properties": {
                    "uuid": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "Team": {
                "description": "Team model",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The unique identifier of the team."
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the team."
                    },
                    "description": {
                        "type": "string",
                        "description": "The description of the team."
                    },
                    "personal_team": {
                        "type": "boolean",
                        "description": "Whether the team is personal or not."
                    },
                    "created_at": {
                        "type": "string",
                        "description": "The date and time the team was created."
                    },
                    "updated_at": {
                        "type": "string",
                        "description": "The date and time the team was last updated."
                    },
                    "show_boarding": {
                        "type": "boolean",
                        "description": "Whether to show the boarding screen or not."
                    },
                    "custom_server_limit": {
                        "type": "string",
                        "description": "The custom server limit."
                    },
                    "is_build_server_fallback_enabled": {
                        "type": "boolean",
                        "description": "Whether deployments can fall back to the deployment server when no usable dedicated build server is available."
                    },
                    "members": {
                        "description": "The members of the team.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/User"
                        }
                    }
                },
                "type": "object"
            },
            "User": {
                "description": "User model",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The user identifier in the database."
                    },
                    "name": {
                        "type": "string",
                        "description": "The user name."
                    },
                    "email": {
                        "type": "string",
                        "description": "The user email."
                    },
                    "email_verified_at": {
                        "type": "string",
                        "description": "The date when the user email was verified."
                    },
                    "created_at": {
                        "type": "string",
                        "description": "The date when the user was created."
                    },
                    "updated_at": {
                        "type": "string",
                        "description": "The date when the user was updated."
                    },
                    "two_factor_confirmed_at": {
                        "type": "string",
                        "description": "The date when the user two factor was confirmed."
                    },
                    "force_password_reset": {
                        "type": "boolean",
                        "description": "The flag to force the user to reset the password."
                    },
                    "marketing_emails": {
                        "type": "boolean",
                        "description": "The flag to receive marketing emails."
                    }
                },
                "type": "object"
            }
        },
        "responses": {
            "400": {
                "description": "Invalid token.",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "example": "Invalid token."
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "401": {
                "description": "Unauthenticated.",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "example": "Unauthenticated."
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "403": {
                "description": "Not allowed: a missing token permission, a team role that is too low, or an endpoint that is not available on Hostwolf.",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "example": "Missing required permissions: write"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "404": {
                "description": "Resource not found.",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "example": "Resource not found."
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "422": {
                "description": "Validation error.",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "example": "Validation error."
                                },
                                "errors": {
                                    "type": "object",
                                    "example": {
                                        "name": [
                                            "The name field is required."
                                        ],
                                        "api_url": [
                                            "The api url field is required.",
                                            "The api url format is invalid."
                                        ]
                                    },
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "429": {
                "description": "Rate limit exceeded.",
                "headers": {
                    "Retry-After": {
                        "description": "Number of seconds to wait before retrying.",
                        "schema": {
                            "type": "integer",
                            "example": 60
                        }
                    }
                },
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "example": "Rate limit exceeded. Please try again later."
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            }
        },
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "description": "Create a token in the console under Keys & Tokens → API tokens and send it as `Authorization: Bearer <token>`.",
                "scheme": "bearer"
            }
        }
    },
    "tags": [
        {
            "name": "Applications",
            "description": "Applications"
        },
        {
            "name": "Secret Managers",
            "description": "Secret Managers"
        },
        {
            "name": "Audit Events",
            "description": "Audit Events"
        },
        {
            "name": "Autoscaling",
            "description": "Add and remove app servers automatically when your app is busy or quiet."
        },
        {
            "name": "Cloud-init Scripts",
            "description": "Cloud-init Scripts"
        },
        {
            "name": "Databases",
            "description": "Databases"
        },
        {
            "name": "Deployments",
            "description": "Deployments"
        },
        {
            "name": "Destinations",
            "description": "Destinations"
        },
        {
            "name": "GitHub Apps",
            "description": "GitHub Apps"
        },
        {
            "name": "GitLab Apps",
            "description": "GitLab Apps"
        },
        {
            "name": "Hostwolf",
            "description": "Servers you bought (app servers and VPS) and their billing state."
        },
        {
            "name": "Storage volumes",
            "description": "Block storage for your app servers and VPS: add, enlarge, back up, restore, detach and attach. Changes that raise the bill need \"confirm\": true."
        },
        {
            "name": "Managed databases",
            "description": "PostgreSQL, MySQL/MariaDB and Redis run by Hostwolf on separate database servers."
        },
        {
            "name": "Servers",
            "description": "Servers"
        },
        {
            "name": "Notifications",
            "description": "Notifications"
        },
        {
            "name": "Projects",
            "description": "Projects"
        },
        {
            "name": "Resources",
            "description": "Resources"
        },
        {
            "name": "S3 Storages",
            "description": "S3 Storages"
        },
        {
            "name": "Scheduled Tasks",
            "description": "Scheduled Tasks"
        },
        {
            "name": "Private Keys",
            "description": "Private Keys"
        },
        {
            "name": "Service applications",
            "description": "Service applications"
        },
        {
            "name": "Service databases",
            "description": "Service databases"
        },
        {
            "name": "Services",
            "description": "Services"
        },
        {
            "name": "Shared Environment Variables",
            "description": "Shared Environment Variables"
        },
        {
            "name": "Tags",
            "description": "Tags"
        },
        {
            "name": "Teams",
            "description": "Teams"
        }
    ]
}
