{
    "openapi": "3.1.0",
    "info": {
        "title": "ODIN Fleet API",
        "version": "0.9.4",
        "description": "API to access Odin Fleet, empowering developers to deploy gameservers all around the world in just a few lines of code.\n\nTo authenticate, users must send their email, password, and session ID to the **[`\/api\/auth`](\/operations\/getAuthToken)** endpoint. Upon successful authentication, an API token will be provided. This token should be included in the `Authorization` header as a Bearer token for all subsequent requests.\n    \nThe API token can also be retrieved manually via the Console Dashboard (https:\/\/console.4players.io) under **User Settings > Tokens**."
    },
    "servers": [
        {
            "url": "https:\/\/fleet.4players.io\/api",
            "description": "production"
        }
    ],
    "paths": {
        "\/v1\/app-location-settings\/{appLocationSetting}": {
            "put": {
                "operationId": "updateAppLocationSetting",
                "summary": "Update a location setting",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "appLocationSetting",
                        "in": "path",
                        "required": true,
                        "description": "The app location setting ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/UpdateAppLocationSettingRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`AppLocationSetting`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/AppLocationSetting"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "402": {
                        "description": "Payment required",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "deleteAppLocationSetting",
                "summary": "Delete a location setting",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "appLocationSetting",
                        "in": "path",
                        "required": true,
                        "description": "The app location setting ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "get": {
                "operationId": "getAppLocationSettingById",
                "summary": "Show a specific app location setting",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "appLocationSetting",
                        "in": "path",
                        "required": true,
                        "description": "The app location setting ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`AppLocationSetting`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/AppLocationSetting"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/app-location-settings\/{appLocationSetting}\/metadata": {
            "put": {
                "operationId": "app-location-settings.metadata.set",
                "description": "Replaces the entire metadata.",
                "summary": "Set metadata",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "appLocationSetting",
                        "in": "path",
                        "required": true,
                        "description": "The app location setting ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/SetAppLocationSettingMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`AppLocationSetting`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/AppLocationSetting"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "patch": {
                "operationId": "app-location-settings.metadata.update",
                "description": "Updates existing metadata keys or adds new keys without deleting other metadata.",
                "summary": "Update metadata",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "appLocationSetting",
                        "in": "path",
                        "required": true,
                        "description": "The app location setting ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/PatchAppLocationSettingMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`AppLocationSetting`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/AppLocationSetting"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "app-location-settings.metadata.delete.all",
                "summary": "Delete all metadata",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "appLocationSetting",
                        "in": "path",
                        "required": true,
                        "description": "The app location setting ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`AppLocationSetting`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/AppLocationSetting"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/app-location-settings\/{appLocationSetting}\/metadata\/keys": {
            "delete": {
                "operationId": "app-location-settings.metadata.delete.keys",
                "summary": "Delete metadata keys",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "appLocationSetting",
                        "in": "path",
                        "required": true,
                        "description": "The app location setting ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "metadata[]",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`AppLocationSetting`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/AppLocationSetting"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/app-location-settings\/{appLocationSetting}\/services\/start": {
            "post": {
                "operationId": "startServersForAppLocationSetting",
                "summary": "Start all services related to a specific app location setting",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "appLocationSetting",
                        "in": "path",
                        "required": true,
                        "description": "The app location setting ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "402": {
                        "description": "Payment required",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/v1\/app-location-settings\/{appLocationSetting}\/services\/stop": {
            "post": {
                "operationId": "stopServersForAppLocationSetting",
                "summary": "Stop all services related to a specific app location setting",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "appLocationSetting",
                        "in": "path",
                        "required": true,
                        "description": "The app location setting ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/location-settings": {
            "get": {
                "operationId": "getAppLocationSettings",
                "summary": "Show all location settings",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "perPage",
                        "in": "query",
                        "description": "The number of items to be shown per page.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Specifies the page number to retrieve in the paginated results.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort[]",
                        "in": "query",
                        "description": "Allows sorting of results. By default, sorting is in ascending order. To reverse the order, prepend the sort key with a hyphen (-).\n\n**Simple Sort:** To sort by id in ascending order or by name in descending order:\n\n```\nsort[]=id\nsort[]=-name\n```\n\n**Multiple Sorts:** Combine multiple sorts by separating them with commas:\n```\nsort[]=id&sort[]=-name\n```",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "-id",
                                    "id",
                                    "-name",
                                    "name",
                                    "-serverConfigId",
                                    "serverConfigId",
                                    "-numInstances",
                                    "numInstances",
                                    "-status",
                                    "status",
                                    "-statusMessage",
                                    "statusMessage",
                                    "-maintenance",
                                    "maintenance",
                                    "-locationCity",
                                    "locationCity",
                                    "-locationCityDisplay",
                                    "locationCityDisplay",
                                    "-locationContinent",
                                    "locationContinent",
                                    "-locationCountry",
                                    "locationCountry",
                                    "-serverConfigId",
                                    "serverConfigId",
                                    "-serverConfigName",
                                    "serverConfigName",
                                    "-serverConfigCommand",
                                    "serverConfigCommand",
                                    "-serverConfigArgs",
                                    "serverConfigArgs",
                                    "-serverConfigNotes",
                                    "serverConfigNotes",
                                    "-serverConfigStatus",
                                    "serverConfigStatus",
                                    "-serverConfigMaintenance",
                                    "serverConfigMaintenance",
                                    "-serverConfigResourcePackageSlug",
                                    "serverConfigResourcePackageSlug"
                                ]
                            }
                        }
                    },
                    {
                        "name": "filter[id]",
                        "in": "query",
                        "description": "Filter by id.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "description": "Filter by name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[namePartial]",
                        "in": "query",
                        "description": "Filter by name using partial matching. For example, \"ann\" matches \"Joanna\" or \"Annie\".",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[serverConfigId]",
                        "in": "query",
                        "description": "Filter by ServerConfig ID.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[numInstances]",
                        "in": "query",
                        "description": "Filter by number of instances.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[status]",
                        "in": "query",
                        "description": "Filter by status.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[maintenance]",
                        "in": "query",
                        "description": "Filter by maintenance.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[locationCity]",
                        "in": "query",
                        "description": "Filter by location city.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[locationCityDisplay]",
                        "in": "query",
                        "description": "Filter by location city display name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[locationContinent]",
                        "in": "query",
                        "description": "Filter by location continent.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[locationCountry]",
                        "in": "query",
                        "description": "Filter by location country.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[serverConfigName]",
                        "in": "query",
                        "description": "Filter by ServerConfig name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[serverConfigCommand]",
                        "in": "query",
                        "description": "Filter by ServerConfig command.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[serverConfigArgs]",
                        "in": "query",
                        "description": "Filter by ServerConfig arguments.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[serverConfigNotes]",
                        "in": "query",
                        "description": "Filter by ServerConfig notes.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[serverConfigStatus]",
                        "in": "query",
                        "description": "Filter by ServerConfig status.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[serverConfigMaintenance]",
                        "in": "query",
                        "description": "Filter by ServerConfig maintenance.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[serverConfigResourcePackageSlug]",
                        "in": "query",
                        "description": "Filter by ServerConfig resource package slug.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[metadata]",
                        "in": "query",
                        "description": "Filter by metadata. Allows filtering based on metadata key-value pairs, supporting both simple and nested metadata fields using dot notation.\n\n**Simple Filters:**\nTo filter where `idle` is false (boolean):\n```\nfilter[metadata]=idle=false\n```\n\nTo filter where `string` is exactly \"a\":\n```\nfilter[metadata]=string=\"a\"\n```\n\n**Filtering for Null Values:**\nTo filter for a native null value, use unquoted null. For example, to filter where `score` is null:\n```\nfilter[metadata]=score=null\n```\n\n**Nested Filters:**\nFor nested metadata fields use dot notation. For example, to filter where `difficulty` within `gameSettings.survival`\nis exactly \"hardcore\":\n```\nfilter[metadata]=gameSettings.survival.difficulty=\"hardcore\"\n```\n\nTo filter for a nested field with a native `null` value, leave the null unquoted:\n```\nfilter[metadata]=gameSettings.stats.score=null\n```\n\n**Array Contains Filter:**\nTo filter where an array contains a given value (string, number, boolean or null):\n```\nfilter[metadata]=players=\"foobar\"\nfilter[metadata]=player_ids=37\nfilter[metadata]=array=true\nfilter[metadata]=array=null\n```\n\nWorks for nested arrays as well:\n```\nfilter[metadata]=gameData.players=\"foobar\"\n```\n\n**Multiple Filters:**\nCombine multiple filters by separating them with commas:\n```\nfilter[metadata]=idle=false,max_players=20,gameSettings.survival.difficulty=\"hardcore\"\n```",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `AppLocationSetting`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/AppLocationSetting"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            },
                                                            "page": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active",
                                                            "page"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "post": {
                "operationId": "createAppLocationSetting",
                "summary": "Create a new location setting",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreAppLocationSettingRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`AppLocationSetting`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/AppLocationSetting"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "402": {
                        "description": "Payment required",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/location-settings\/{appLocationSetting}\/services": {
            "get": {
                "operationId": "listServicesForAppLocationSetting",
                "summary": "Show all services for a specific app location setting within a given app",
                "tags": [
                    "AppLocationSettings",
                    "AppLocationSetting"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "appLocationSetting",
                        "in": "path",
                        "required": true,
                        "description": "The app location setting ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `CustomDockerService`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#\/components\/schemas\/Server"
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps": {
            "get": {
                "operationId": "getApps",
                "summary": "Show all apps",
                "tags": [
                    "Apps",
                    "App"
                ],
                "parameters": [
                    {
                        "name": "perPage",
                        "in": "query",
                        "description": "The number of items to be shown per page.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Specifies the page number to retrieve in the paginated results.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort[]",
                        "in": "query",
                        "description": "Allows sorting of results. By default, sorting is in ascending order. To reverse the order, prepend the sort key with a hyphen (-).\n\n**Simple Sort:** To sort by id in ascending order or by name in descending order:\n\n```\nsort[]=id\nsort[]=-name\n```\n\n**Multiple Sorts:** Combine multiple sorts by separating them with commas:\n```\nsort[]=id&sort[]=-name\n```",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "-id",
                                    "id",
                                    "-name",
                                    "name",
                                    "-inUse",
                                    "inUse"
                                ]
                            }
                        }
                    },
                    {
                        "name": "filter[id]",
                        "in": "query",
                        "description": "Filter by id.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "description": "Filter by name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[namePartial]",
                        "in": "query",
                        "description": "Filter by name using partial matching. For example, \"ann\" matches \"Joanna\" or \"Annie\".",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[inUse]",
                        "in": "query",
                        "description": "Filter by in use flag.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[metadata]",
                        "in": "query",
                        "description": "Filter by metadata. Allows filtering based on metadata key-value pairs, supporting both simple and nested metadata fields using dot notation.\n\n**Simple Filters:**\nTo filter where `idle` is false (boolean):\n```\nfilter[metadata]=idle=false\n```\n\nTo filter where `string` is exactly \"a\":\n```\nfilter[metadata]=string=\"a\"\n```\n\n**Filtering for Null Values:**\nTo filter for a native null value, use unquoted null. For example, to filter where `score` is null:\n```\nfilter[metadata]=score=null\n```\n\n**Nested Filters:**\nFor nested metadata fields use dot notation. For example, to filter where `difficulty` within `gameSettings.survival`\nis exactly \"hardcore\":\n```\nfilter[metadata]=gameSettings.survival.difficulty=\"hardcore\"\n```\n\nTo filter for a nested field with a native `null` value, leave the null unquoted:\n```\nfilter[metadata]=gameSettings.stats.score=null\n```\n\n**Array Contains Filter:**\nTo filter where an array contains a given value (string, number, boolean or null):\n```\nfilter[metadata]=players=\"foobar\"\nfilter[metadata]=player_ids=37\nfilter[metadata]=array=true\nfilter[metadata]=array=null\n```\n\nWorks for nested arrays as well:\n```\nfilter[metadata]=gameData.players=\"foobar\"\n```\n\n**Multiple Filters:**\nCombine multiple filters by separating them with commas:\n```\nfilter[metadata]=idle=false,max_players=20,gameSettings.survival.difficulty=\"hardcore\"\n```",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `App`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/App"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            },
                                                            "page": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active",
                                                            "page"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "post": {
                "operationId": "createApp",
                "summary": "Create an app",
                "tags": [
                    "Apps",
                    "App"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreAppRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`App`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/App"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}": {
            "get": {
                "operationId": "getAppById",
                "summary": "Show a specific app",
                "tags": [
                    "Apps",
                    "App"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`App`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/App"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteApp",
                "summary": "Delete a specific app",
                "tags": [
                    "Apps",
                    "App"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "put": {
                "operationId": "updateAppById",
                "summary": "Update a specific app",
                "tags": [
                    "Apps",
                    "App"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/UpdateAppRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`App`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/App"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/metadata": {
            "put": {
                "operationId": "apps.metadata.set",
                "description": "Replaces the entire metadata.",
                "summary": "Set metadata",
                "tags": [
                    "Apps",
                    "App"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/SetAppMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`App`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/App"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "patch": {
                "operationId": "apps.metadata.update",
                "description": "Updates existing metadata keys or adds new keys without deleting other metadata.",
                "summary": "Update metadata",
                "tags": [
                    "Apps",
                    "App"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/PatchAppMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`App`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/App"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "apps.metadata.delete.all",
                "summary": "Delete all metadata",
                "tags": [
                    "Apps",
                    "App"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`App`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/App"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/metadata\/keys": {
            "delete": {
                "operationId": "apps.metadata.delete.keys",
                "summary": "Delete metadata keys",
                "tags": [
                    "Apps",
                    "App"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "metadata[]",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`App`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/App"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/services\/start": {
            "post": {
                "operationId": "startServersForApp",
                "summary": "Start all services related to a specific app",
                "tags": [
                    "Apps",
                    "App"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "402": {
                        "description": "Payment required",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/services\/stop": {
            "post": {
                "operationId": "stopServersForApp",
                "summary": "Stop all services related to a specific app",
                "tags": [
                    "Apps",
                    "App"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/wallets": {
            "get": {
                "operationId": "getAppWallets",
                "summary": "Show all wallets for a specific app",
                "tags": [
                    "Apps",
                    "App"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "perPage",
                        "in": "query",
                        "description": "The number of items to be shown per page.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Specifies the page number to retrieve in the paginated results.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort[]",
                        "in": "query",
                        "description": "Allows sorting of results. By default, sorting is in ascending order. To reverse the order, prepend the sort key with a hyphen (-).\n\n**Simple Sort:** To sort by id in ascending order or by name in descending order:\n\n```\nsort[]=id\nsort[]=-name\n```\n\n**Multiple Sorts:** Combine multiple sorts by separating them with commas:\n```\nsort[]=id&sort[]=-name\n```",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "-id",
                                    "id",
                                    "-balance",
                                    "balance"
                                ]
                            }
                        }
                    },
                    {
                        "name": "filter[id]",
                        "in": "query",
                        "description": "Filter by id.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[balance]",
                        "in": "query",
                        "description": "Filter by balance.",
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Wallet`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/Wallet"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            },
                                                            "page": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active",
                                                            "page"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/unused": {
            "delete": {
                "operationId": "deleteUnusedApps",
                "summary": "Delete all unused apps",
                "tags": [
                    "Apps",
                    "App"
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/auth\/token": {
            "post": {
                "operationId": "getAuthToken",
                "description": "Authenticates the user based on the user's email, password, and session ID.\nIf the user is authenticated successfully, it returns the user's token.\n\nThe token is non-expiring and must be used as a Bearer token in subsequent requests.",
                "summary": "Get token",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/AuthRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Auth`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Auth"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "put": {
                "operationId": "refreshAuthToken",
                "summary": "Refresh token",
                "tags": [
                    "Auth"
                ],
                "responses": {
                    "200": {
                        "description": "`Auth`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Auth"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/auth\/token\/fsid": {
            "post": {
                "operationId": "getAuthTokenViaFsid",
                "description": "Authenticates the user based on the Fusion Session ID (fsid).\nIf the user is authenticated successfully, it returns the user's token.\n\nThe token is non-expiring and must be used as a Bearer token in subsequent requests.",
                "summary": "Get token via fsid",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/AuthFsidRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Auth`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Auth"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "An error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "Login is disabled for this account on this environment."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/binaries": {
            "get": {
                "operationId": "getBinaries",
                "summary": "Show all binaries",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "perPage",
                        "in": "query",
                        "description": "The number of items to be shown per page.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Specifies the page number to retrieve in the paginated results.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort[]",
                        "in": "query",
                        "description": "Allows sorting of results. By default, sorting is in ascending order. To reverse the order, prepend the sort key with a hyphen (-).\n\n**Simple Sort:** To sort by id in ascending order or by name in descending order:\n\n```\nsort[]=id\nsort[]=-name\n```\n\n**Multiple Sorts:** Combine multiple sorts by separating them with commas:\n```\nsort[]=id&sort[]=-name\n```",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "-id",
                                    "id",
                                    "-name",
                                    "name",
                                    "-version",
                                    "version",
                                    "-type",
                                    "type",
                                    "-os",
                                    "os",
                                    "-status",
                                    "status",
                                    "-statusMessage",
                                    "statusMessage",
                                    "-progress",
                                    "progress",
                                    "-progressMessage",
                                    "progressMessage",
                                    "-inUse",
                                    "inUse"
                                ]
                            }
                        }
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "description": "Filter by name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[namePartial]",
                        "in": "query",
                        "description": "Filter by name using partial matching. For example, \"ann\" matches \"Joanna\" or \"Annie\".",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[version]",
                        "in": "query",
                        "description": "Filter by version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[type]",
                        "in": "query",
                        "description": "Filter by type.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[os]",
                        "in": "query",
                        "description": "Filter by operating system.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[maintenance]",
                        "in": "query",
                        "description": "Filter by maintenance status.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[status]",
                        "in": "query",
                        "description": "Filter by status.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[inUse]",
                        "in": "query",
                        "description": "Filter by in use flag.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[metadata]",
                        "in": "query",
                        "description": "Filter by metadata. Allows filtering based on metadata key-value pairs, supporting both simple and nested metadata fields using dot notation.\n\n**Simple Filters:**\nTo filter where `idle` is false (boolean):\n```\nfilter[metadata]=idle=false\n```\n\nTo filter where `string` is exactly \"a\":\n```\nfilter[metadata]=string=\"a\"\n```\n\n**Filtering for Null Values:**\nTo filter for a native null value, use unquoted null. For example, to filter where `score` is null:\n```\nfilter[metadata]=score=null\n```\n\n**Nested Filters:**\nFor nested metadata fields use dot notation. For example, to filter where `difficulty` within `gameSettings.survival`\nis exactly \"hardcore\":\n```\nfilter[metadata]=gameSettings.survival.difficulty=\"hardcore\"\n```\n\nTo filter for a nested field with a native `null` value, leave the null unquoted:\n```\nfilter[metadata]=gameSettings.stats.score=null\n```\n\n**Array Contains Filter:**\nTo filter where an array contains a given value (string, number, boolean or null):\n```\nfilter[metadata]=players=\"foobar\"\nfilter[metadata]=player_ids=37\nfilter[metadata]=array=true\nfilter[metadata]=array=null\n```\n\nWorks for nested arrays as well:\n```\nfilter[metadata]=gameData.players=\"foobar\"\n```\n\n**Multiple Filters:**\nCombine multiple filters by separating them with commas:\n```\nfilter[metadata]=idle=false,max_players=20,gameSettings.survival.difficulty=\"hardcore\"\n```",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Binary`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/Binary"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            },
                                                            "page": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active",
                                                            "page"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "post": {
                "operationId": "createBinary",
                "summary": "Create a binary and the related entity",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreBinaryRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Binary`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/binaries\/unused": {
            "delete": {
                "operationId": "deleteUnusedBinaries",
                "summary": "Delete all unused binaries",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/binaries\/{binary}": {
            "get": {
                "operationId": "getBinaryById",
                "summary": "Show a specific binary",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "binary",
                        "in": "path",
                        "required": true,
                        "description": "The binary ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Binary`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteBinary",
                "summary": "Delete a specified binary",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "binary",
                        "in": "path",
                        "required": true,
                        "description": "The binary ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "put": {
                "operationId": "updateBinary",
                "summary": "Update a binary and the related entity",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "binary",
                        "in": "path",
                        "required": true,
                        "description": "The binary ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/UpdateBinaryRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Binary`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/binaries\/{binary}\/metadata": {
            "put": {
                "operationId": "binaries.metadata.set",
                "description": "Replaces the entire metadata.",
                "summary": "Set metadata",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "binary",
                        "in": "path",
                        "required": true,
                        "description": "The binary ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/SetBinaryMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Binary`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "patch": {
                "operationId": "binaries.metadata.update",
                "description": "Updates existing metadata keys or adds new keys without deleting other metadata.",
                "summary": "Update metadata",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "binary",
                        "in": "path",
                        "required": true,
                        "description": "The binary ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/PatchBinaryMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Binary`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "binaries.metadata.delete.all",
                "summary": "Delete all metadata",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "binary",
                        "in": "path",
                        "required": true,
                        "description": "The binary ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Binary`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/binaries\/{binary}\/metadata\/keys": {
            "delete": {
                "operationId": "binaries.metadata.delete.keys",
                "summary": "Delete metadata keys",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "binary",
                        "in": "path",
                        "required": true,
                        "description": "The binary ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "metadata[]",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Binary`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/binaries\/{binary}\/refresh": {
            "put": {
                "operationId": "refreshBinary",
                "summary": "Refresh a binary and the related entity",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "binary",
                        "in": "path",
                        "required": true,
                        "description": "The binary ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "`Binary`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/binaries\/{binary}\/services\/start": {
            "post": {
                "operationId": "startServersForBinary",
                "summary": "Start all services related to a specific binary",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "binary",
                        "in": "path",
                        "required": true,
                        "description": "The binary ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "402": {
                        "description": "Payment required",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/v1\/binaries\/{binary}\/services\/stop": {
            "post": {
                "operationId": "stopServersForBinary",
                "summary": "Stop all services related to a specific binary",
                "tags": [
                    "Binaries",
                    "Binary"
                ],
                "parameters": [
                    {
                        "name": "binary",
                        "in": "path",
                        "required": true,
                        "description": "The binary ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/services": {
            "get": {
                "operationId": "getServers",
                "summary": "List services",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "perPage",
                        "in": "query",
                        "description": "The number of items to be shown per page.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Specifies the page number to retrieve in the paginated results.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[status]",
                        "in": "query",
                        "description": "Filter by status.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[appLocationSettingId]",
                        "in": "query",
                        "description": "Filter by AppLocationSetting ID.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[serverConfigId]",
                        "in": "query",
                        "description": "Filter by ServerConfig ID.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[serverConfigName]",
                        "in": "query",
                        "description": "Filter by ServerConfig name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[serverConfigNamePartial]",
                        "in": "query",
                        "description": "Filter by ServerConfig name using partial matching. For example, \"ann\" matches \"Joanna\" or \"Annie\".",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[locationCity]",
                        "in": "query",
                        "description": "Filter by location city.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[locationCityDisplay]",
                        "in": "query",
                        "description": "Filter by location city display name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[locationContinent]",
                        "in": "query",
                        "description": "Filter by location continent.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[locationCountry]",
                        "in": "query",
                        "description": "Filter by location country.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[isBackupable]",
                        "in": "query",
                        "description": "Filter by whether the service can be backed up.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[isRestorable]",
                        "in": "query",
                        "description": "Filter by whether the service can be restored.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[isPending]",
                        "in": "query",
                        "description": "Filter by whether the service is pending (not running) due to insufficient resources on the node.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[isNotFound]",
                        "in": "query",
                        "description": "Filter by whether the service is not found\/missing in the cluster.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[isHealthy]",
                        "in": "query",
                        "description": "Filter by whether the service is currently in an overall healthy state.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[binaryId]",
                        "in": "query",
                        "description": "Filter by Binary ID.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[isStopped]",
                        "in": "query",
                        "description": "Filter by whether the service is currenctly stopped.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[metadata]",
                        "in": "query",
                        "description": "Filter by metadata. Allows filtering based on metadata key-value pairs, supporting both simple and nested metadata fields using dot notation.\n\n**Simple Filters:**\nTo filter where `idle` is false (boolean):\n```\nfilter[metadata]=idle=false\n```\n\nTo filter where `string` is exactly \"a\":\n```\nfilter[metadata]=string=\"a\"\n```\n\n**Filtering for Null Values:**\nTo filter for a native null value, use unquoted null. For example, to filter where `score` is null:\n```\nfilter[metadata]=score=null\n```\n\n**Nested Filters:**\nFor nested metadata fields use dot notation. For example, to filter where `difficulty` within `gameSettings.survival`\nis exactly \"hardcore\":\n```\nfilter[metadata]=gameSettings.survival.difficulty=\"hardcore\"\n```\n\nTo filter for a nested field with a native `null` value, leave the null unquoted:\n```\nfilter[metadata]=gameSettings.stats.score=null\n```\n\n**Array Contains Filter:**\nTo filter where an array contains a given value (string, number, boolean or null):\n```\nfilter[metadata]=players=\"foobar\"\nfilter[metadata]=player_ids=37\nfilter[metadata]=array=true\nfilter[metadata]=array=null\n```\n\nWorks for nested arrays as well:\n```\nfilter[metadata]=gameData.players=\"foobar\"\n```\n\n**Multiple Filters:**\nCombine multiple filters by separating them with commas:\n```\nfilter[metadata]=idle=false,max_players=20,gameSettings.survival.difficulty=\"hardcore\"\n```",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort[]",
                        "in": "query",
                        "description": "Allows sorting of results. By default, sorting is in ascending order. To reverse the order, prepend the sort key with a hyphen (-).\n\n**Simple Sort:** To sort by id in ascending order or by instance in descending order:\n\n```\nsort[]=id\nsort[]=-instance\n```\n\n**Multiple Sorts:** Combine multiple sorts by separating them with commas:\n```\nsort[]=id&sort[]=-instance\n```",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "-id",
                                    "id",
                                    "-instance",
                                    "instance",
                                    "-status",
                                    "status",
                                    "-status_message",
                                    "status_message",
                                    "-serverConfigId",
                                    "serverConfigId",
                                    "-serverConfigName",
                                    "serverConfigName",
                                    "-appLocationSettingId",
                                    "appLocationSettingId",
                                    "-name",
                                    "name",
                                    "-locationCity",
                                    "locationCity",
                                    "-locationCityDisplay",
                                    "locationCityDisplay",
                                    "-locationContinent",
                                    "locationContinent",
                                    "-locationCountry",
                                    "locationCountry",
                                    "isBackupable",
                                    "-isBackupable",
                                    "isRestorable",
                                    "-isRestorable",
                                    "isPending",
                                    "-isPending",
                                    "isNotFound",
                                    "-isNotFound",
                                    "isHealthy",
                                    "-isHealthy",
                                    "isStopped",
                                    "-isStopped",
                                    "-createdAt",
                                    "createdAt",
                                    "-updatedAt",
                                    "updatedAt"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `CustomDockerService`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/Server"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            },
                                                            "page": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active",
                                                            "page"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/services\/{dockerService}": {
            "get": {
                "operationId": "getServerById",
                "summary": "Display a specific service",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Server`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Server"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/services\/{dockerService}\/dns": {
            "get": {
                "operationId": "checkServerDns",
                "summary": "Check URL reachability for service DNS URLs",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `DockerServiceDnsReachable`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#\/components\/schemas\/DockerServiceDnsReachable"
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/docker-registries": {
            "get": {
                "operationId": "getDockerRegistries",
                "summary": "Show all docker registries",
                "tags": [
                    "Docker",
                    "DockerRegistry"
                ],
                "parameters": [
                    {
                        "name": "perPage",
                        "in": "query",
                        "description": "The number of items to be shown per page.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Specifies the page number to retrieve in the paginated results.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort[]",
                        "in": "query",
                        "description": "Allows sorting of results. By default, sorting is in ascending order. To reverse the order, prepend the sort key with a hyphen (-).\n\n**Simple Sort:** To sort by id in ascending order or by name in descending order:\n\n```\nsort[]=id\nsort[]=-name\n```\n\n**Multiple Sorts:** Combine multiple sorts by separating them with commas:\n```\nsort[]=id&sort[]=-name\n```",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "-id",
                                    "id",
                                    "-type",
                                    "type",
                                    "-name",
                                    "name",
                                    "-url",
                                    "url",
                                    "-organization",
                                    "organization"
                                ]
                            }
                        }
                    },
                    {
                        "name": "filter[id]",
                        "in": "query",
                        "description": "Filter by id.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[type]",
                        "in": "query",
                        "description": "Filter by type.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "description": "Filter by name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[namePartial]",
                        "in": "query",
                        "description": "Filter by name using partial matching. For example, \"ann\" matches \"Joanna\" or \"Annie\".",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[url]",
                        "in": "query",
                        "description": "Filter by url.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[organization]",
                        "in": "query",
                        "description": "Filter by organization.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[metadata]",
                        "in": "query",
                        "description": "Filter by metadata. Allows filtering based on metadata key-value pairs, supporting both simple and nested metadata fields using dot notation.\n\n**Simple Filters:**\nTo filter where `idle` is false (boolean):\n```\nfilter[metadata]=idle=false\n```\n\nTo filter where `string` is exactly \"a\":\n```\nfilter[metadata]=string=\"a\"\n```\n\n**Filtering for Null Values:**\nTo filter for a native null value, use unquoted null. For example, to filter where `score` is null:\n```\nfilter[metadata]=score=null\n```\n\n**Nested Filters:**\nFor nested metadata fields use dot notation. For example, to filter where `difficulty` within `gameSettings.survival`\nis exactly \"hardcore\":\n```\nfilter[metadata]=gameSettings.survival.difficulty=\"hardcore\"\n```\n\nTo filter for a nested field with a native `null` value, leave the null unquoted:\n```\nfilter[metadata]=gameSettings.stats.score=null\n```\n\n**Array Contains Filter:**\nTo filter where an array contains a given value (string, number, boolean or null):\n```\nfilter[metadata]=players=\"foobar\"\nfilter[metadata]=player_ids=37\nfilter[metadata]=array=true\nfilter[metadata]=array=null\n```\n\nWorks for nested arrays as well:\n```\nfilter[metadata]=gameData.players=\"foobar\"\n```\n\n**Multiple Filters:**\nCombine multiple filters by separating them with commas:\n```\nfilter[metadata]=idle=false,max_players=20,gameSettings.survival.difficulty=\"hardcore\"\n```",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `DockerRegistry`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/DockerRegistry"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            },
                                                            "page": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active",
                                                            "page"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "post": {
                "operationId": "createDockerRegistry",
                "summary": "Create a new docker registry",
                "tags": [
                    "Docker",
                    "DockerRegistry"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreDockerRegistryRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`DockerRegistry`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/DockerRegistry"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/docker-registries\/{dockerRegistry}": {
            "get": {
                "operationId": "getDockerRegistryById",
                "summary": "Display a specific docker registry",
                "tags": [
                    "Docker",
                    "DockerRegistry"
                ],
                "parameters": [
                    {
                        "name": "dockerRegistry",
                        "in": "path",
                        "required": true,
                        "description": "The docker registry ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`DockerRegistry`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/DockerRegistry"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "put": {
                "operationId": "updateDockerRegistry",
                "summary": "Update a specific docker registry",
                "tags": [
                    "Docker",
                    "DockerRegistry"
                ],
                "parameters": [
                    {
                        "name": "dockerRegistry",
                        "in": "path",
                        "required": true,
                        "description": "The docker registry ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/UpdateDockerRegistryRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`DockerRegistry`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/DockerRegistry"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteDockerRegistry",
                "summary": "Delete a specific docker registry",
                "tags": [
                    "Docker",
                    "DockerRegistry"
                ],
                "parameters": [
                    {
                        "name": "dockerRegistry",
                        "in": "path",
                        "required": true,
                        "description": "The docker registry ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/docker-registries\/{dockerRegistry}\/metadata": {
            "put": {
                "operationId": "docker-registries.metadata.set",
                "description": "Replaces the entire metadata.",
                "summary": "Set metadata",
                "tags": [
                    "Docker",
                    "DockerRegistry"
                ],
                "parameters": [
                    {
                        "name": "dockerRegistry",
                        "in": "path",
                        "required": true,
                        "description": "The docker registry ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/SetDockerRegistryMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`DockerRegistry`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/DockerRegistry"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "patch": {
                "operationId": "docker-registries.metadata.update",
                "description": "Updates existing metadata keys or adds new keys without deleting other metadata.",
                "summary": "Update metadata",
                "tags": [
                    "Docker",
                    "DockerRegistry"
                ],
                "parameters": [
                    {
                        "name": "dockerRegistry",
                        "in": "path",
                        "required": true,
                        "description": "The docker registry ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/PatchDockerRegistryMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`DockerRegistry`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/DockerRegistry"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "docker-registries.metadata.delete.all",
                "summary": "Delete all metadata",
                "tags": [
                    "Docker",
                    "DockerRegistry"
                ],
                "parameters": [
                    {
                        "name": "dockerRegistry",
                        "in": "path",
                        "required": true,
                        "description": "The docker registry ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`DockerRegistry`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/DockerRegistry"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/docker-registries\/{dockerRegistry}\/metadata\/keys": {
            "delete": {
                "operationId": "docker-registries.metadata.delete.keys",
                "summary": "Delete metadata keys",
                "tags": [
                    "Docker",
                    "DockerRegistry"
                ],
                "parameters": [
                    {
                        "name": "dockerRegistry",
                        "in": "path",
                        "required": true,
                        "description": "The docker registry ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "metadata[]",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`DockerRegistry`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/DockerRegistry"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/docker-registries\/{dockerRegistry}\/tagged-images": {
            "get": {
                "operationId": "getTaggedImages",
                "summary": "List all available tagged images",
                "tags": [
                    "Docker",
                    "DockerRegistry"
                ],
                "parameters": [
                    {
                        "name": "dockerRegistry",
                        "in": "path",
                        "required": true,
                        "description": "The docker registry ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/TaggedImage"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#\/components\/schemas\/TaggedImageMetaData"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/docker-registries\/{dockerRegistry}\/tagged-images\/refresh": {
            "get": {
                "operationId": "refreshTaggedImages",
                "summary": "Refresh the cache for all available tagged images",
                "tags": [
                    "Docker",
                    "DockerRegistry"
                ],
                "parameters": [
                    {
                        "name": "dockerRegistry",
                        "in": "path",
                        "required": true,
                        "description": "The docker registry ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/TaggedImage"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#\/components\/schemas\/TaggedImageMetaData"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/services\/{dockerService}\/logs": {
            "get": {
                "operationId": "getServerLogs",
                "summary": "Get service logs",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The max number of entries to return. Default: 100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "direction",
                        "in": "query",
                        "description": "Determines the sort order of logs. Supported values are forward or backward.\nDefault: forward",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "streamSource",
                        "in": "query",
                        "description": "Only return logs filtered by stream source like stdout or stderr. Default: null",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "stdout",
                                "stderr"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`ServiceLogs`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ServiceLogs"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/services\/{dockerService}\/logs\/download": {
            "get": {
                "operationId": "downloadServerLogs",
                "summary": "Download service logs",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "streamSource",
                        "in": "query",
                        "description": "Only return logs filtered by stream source like stdout or stderr.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "stdout",
                                "stderr"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`ServiceLogs`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ServiceLogs"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/services\/{dockerService}\/backup": {
            "post": {
                "operationId": "createBackup",
                "summary": "Create service backup",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/CreateBackupDockerServiceRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "402": {
                        "description": "Payment required",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "operationId": "getLatestBackup",
                "summary": "Get latest service backup",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Backup`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Backup"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/services\/{dockerService}\/restore": {
            "post": {
                "operationId": "restoreBackup",
                "summary": "Restore latest service backup",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "402": {
                        "description": "Payment required",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/v1\/services\/{dockerService}\/backups": {
            "get": {
                "operationId": "getBackups",
                "summary": "List service backups",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "perPage",
                        "in": "query",
                        "description": "The number of items to be shown per page.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Specifies the page number to retrieve in the paginated results.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort[]",
                        "in": "query",
                        "description": "Allows sorting of results. By default, sorting is in ascending order. To reverse the order, prepend the sort key with a hyphen (-).\n\n**Simple Sort:** For example, to sort by name in ascending order or by archiveName in descending order:\n\n```\nsort[]=name\nsort[]=-archiveName\n```\n\n**Multiple Sorts:** Combine multiple sorts by separating them with commas:\n```\nsort[]=name&sort[]=-archiveName\n```",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "-name",
                                    "name",
                                    "-archiveName",
                                    "archiveName",
                                    "-createdAt",
                                    "createdAt",
                                    "-restoredAt",
                                    "restoredAt"
                                ]
                            }
                        }
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "description": "Filter by name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[archiveName]",
                        "in": "query",
                        "description": "Filter by archive name.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `DockerBackup`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/Backup"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            },
                                                            "page": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active",
                                                            "page"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/services\/{dockerService}\/backup\/download": {
            "get": {
                "operationId": "getServerBackupDownloadUrl",
                "summary": "Get service backup download URL",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`BackupDownload`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/BackupDownload"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/services\/{dockerService}\/restart": {
            "post": {
                "operationId": "restartServer",
                "summary": "Restart service",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "402": {
                        "description": "Payment required",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/v1\/services\/{dockerService}\/metadata": {
            "put": {
                "operationId": "docker-services.metadata.set",
                "description": "Replaces the entire metadata set with only the values provided in the request.",
                "summary": "Set service metadata",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/SetMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Server`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Server"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "patch": {
                "operationId": "docker-services.metadata.update",
                "description": "Updates existing metadata keys or adds new keys without deleting metadata that is not mentioned.",
                "summary": "Update service metadata",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/PatchMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Server`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Server"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "docker-services.metadata.delete.all",
                "summary": "Delete all service metadata",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Server`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Server"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/services\/{dockerService}\/metadata\/keys": {
            "delete": {
                "operationId": "docker-services.metadata.delete.keys",
                "summary": "Delete service metadata keys",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "metadata[]",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Server`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Server"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/services\/{dockerService}\/start": {
            "post": {
                "operationId": "startServer",
                "summary": "Start service",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "402": {
                        "description": "Payment required",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/v1\/services\/{dockerService}\/stop": {
            "post": {
                "operationId": "stopServer",
                "summary": "Stop service",
                "tags": [
                    "Docker",
                    "DockerService"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/app\/{app}\/instances\/running": {
            "get": {
                "operationId": "metrics.app.instances.running",
                "summary": "Get the running server instances for the given app",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": true,
                        "description": "Start of the time range as a Unix timestamp in seconds.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761215622
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "required": true,
                        "description": "End of the time range as a Unix timestamp in seconds. Must be greater than `start`.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761300174
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricRangeResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricRangeResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/app\/{app}\/instances\/running\/instant": {
            "get": {
                "operationId": "metrics.app.instances.running.instant",
                "summary": "Get the current number of running instances for the given app",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricInstantResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricInstantResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/app\/{app}\/instances\/peak\/instant": {
            "get": {
                "operationId": "metrics.app.instances.peak.instant",
                "summary": "Get the peak number of running instances for the given app",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricInstantResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricInstantResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/app\/{app}\/cpu\/usage": {
            "get": {
                "operationId": "metrics.app.cpu.usage",
                "summary": "Get CPU cores used for the given app",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": true,
                        "description": "Start of the time range as a Unix timestamp in seconds.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761215622
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "required": true,
                        "description": "End of the time range as a Unix timestamp in seconds. Must be greater than `start`.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761300174
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricRangeResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricRangeResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/app\/{app}\/cpu\/usagePerDay": {
            "get": {
                "operationId": "metrics.app.cpu.usagePerDay",
                "summary": "Get the daily peak CPU cores used for the given app",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": true,
                        "description": "Start of the time range as a Unix timestamp in seconds.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761215622
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "required": true,
                        "description": "End of the time range as a Unix timestamp in seconds. Must be greater than `start`.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761300174
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricRangeResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricRangeResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/app\/{app}\/cpu\/seconds\/instant": {
            "get": {
                "operationId": "metrics.app.cpu.seconds.instant",
                "summary": "Get the total CPU seconds for the given app",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricInstantResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricInstantResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/service\/{dockerService}\/cpu\/usage": {
            "get": {
                "operationId": "metrics.docker-service.cpu.usage",
                "summary": "Get the CPU usage by the given service",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": true,
                        "description": "Start of the time range as a Unix timestamp in seconds.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761215622
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "required": true,
                        "description": "End of the time range as a Unix timestamp in seconds. Must be greater than `start`.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761300174
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricRangeResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricRangeResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/service\/{dockerService}\/memory\/usage": {
            "get": {
                "operationId": "metrics.docker-service.memory.usage",
                "summary": "Get the memory usage by the given service",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": true,
                        "description": "Start of the time range as a Unix timestamp in seconds.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761215622
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "required": true,
                        "description": "End of the time range as a Unix timestamp in seconds. Must be greater than `start`.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761300174
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricRangeResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricRangeResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/service\/{dockerService}\/network\/ingress": {
            "get": {
                "operationId": "metrics.docker-service.network.ingress",
                "summary": "Get the network ingress for the given service",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": true,
                        "description": "Start of the time range as a Unix timestamp in seconds.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761215622
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "required": true,
                        "description": "End of the time range as a Unix timestamp in seconds. Must be greater than `start`.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761300174
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricRangeResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricRangeResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/service\/{dockerService}\/network\/egress": {
            "get": {
                "operationId": "metrics.docker-service.network.egress",
                "summary": "Get the network egress for the given service",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": true,
                        "description": "Start of the time range as a Unix timestamp in seconds.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761215622
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "required": true,
                        "description": "End of the time range as a Unix timestamp in seconds. Must be greater than `start`.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761300174
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricRangeResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricRangeResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/service\/{dockerService}\/disk\/read": {
            "get": {
                "operationId": "metrics.docker-service.disk.read",
                "summary": "Get the disk read throughput for the given service",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": true,
                        "description": "Start of the time range as a Unix timestamp in seconds.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761215622
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "required": true,
                        "description": "End of the time range as a Unix timestamp in seconds. Must be greater than `start`.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761300174
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricRangeResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricRangeResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/metrics\/service\/{dockerService}\/disk\/write": {
            "get": {
                "operationId": "metrics.docker-service.disk.write",
                "summary": "Get disk write throughput for the given service",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "dockerService",
                        "in": "path",
                        "required": true,
                        "description": "The docker service ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": true,
                        "description": "Start of the time range as a Unix timestamp in seconds.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761215622
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "required": true,
                        "description": "End of the time range as a Unix timestamp in seconds. Must be greater than `start`.",
                        "schema": {
                            "type": "number"
                        },
                        "example": 1761300174
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricRangeResponse`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/MetricRangeResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/nodes\/locations": {
            "get": {
                "operationId": "getLocations",
                "summary": "Show a unique listing of locations based on active and ready worker nodes",
                "tags": [
                    "Nodes",
                    "DockerNode"
                ],
                "parameters": [
                    {
                        "name": "perPage",
                        "in": "query",
                        "description": "The number of items to be shown per page.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Specifies the page number to retrieve in the paginated results.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `LocationIndex`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/LocationIndex"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            },
                                                            "page": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active",
                                                            "page"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/nodes\/locations\/request": {
            "post": {
                "operationId": "requestLocation",
                "summary": "Submit a new location request",
                "tags": [
                    "Nodes",
                    "DockerNode"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/OccupiedLocationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/v1\/resource-packages": {
            "get": {
                "operationId": "getResourcePackages",
                "summary": "Show all available resource packages",
                "tags": [
                    "ResourcePackage"
                ],
                "parameters": [
                    {
                        "name": "perPage",
                        "in": "query",
                        "description": "The number of items to be shown per page.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Specifies the page number to retrieve in the paginated results.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort[]",
                        "in": "query",
                        "description": "Allows sorting of results. By default, sorting is in ascending order. To reverse the order, prepend the sort key with a hyphen (-).\n\n**Simple Sort:** To sort by id in ascending order or by name in descending order:\n\n```\nsort[]=id\nsort[]=-name\n```\n\n**Multiple Sorts:** Combine multiple sorts by separating them with commas:\n```\nsort[]=id&sort[]=-name\n```",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "-id",
                                    "id",
                                    "-name",
                                    "name",
                                    "-slug",
                                    "slug",
                                    "-type",
                                    "type",
                                    "-cpuLimit",
                                    "cpuLimit",
                                    "-memoryLimitMiB",
                                    "memoryLimitMiB"
                                ]
                            }
                        }
                    },
                    {
                        "name": "filter[id]",
                        "in": "query",
                        "description": "Filter by id.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "description": "Filter by name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[namePartial]",
                        "in": "query",
                        "description": "Filter by name using partial matching. For example, \"ann\" matches \"Joanna\" or \"Annie\".",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[slug]",
                        "in": "query",
                        "description": "Filter by slug.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[type]",
                        "in": "query",
                        "description": "Filter by type.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[cpuLimit]",
                        "in": "query",
                        "description": "Filter by CPU limit. Maps to the `cpu_limit` column.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[memoryLimitMiB]",
                        "in": "query",
                        "description": "Filter by memory limit in MiB. Maps to the `memory_limit_mebibytes` column.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Package`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/ResourcePackage"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            },
                                                            "page": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active",
                                                            "page"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/resource-packages\/{resourcePackage}": {
            "get": {
                "operationId": "getResourcePackageById",
                "summary": "Show a specified resource package",
                "tags": [
                    "ResourcePackage"
                ],
                "parameters": [
                    {
                        "name": "resourcePackage",
                        "in": "path",
                        "required": true,
                        "description": "The resource package ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Package`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ResourcePackage"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/configs": {
            "get": {
                "operationId": "getServerConfigs",
                "summary": "Show all server configs",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "perPage",
                        "in": "query",
                        "description": "The number of items to be shown per page.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Specifies the page number to retrieve in the paginated results.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort[]",
                        "in": "query",
                        "description": "Allows sorting of results. By default, sorting is in ascending order. To reverse the order, prepend the sort key with a hyphen (-).\n\n**Simple Sort:** To sort by id in ascending order or by name in descending order:\n\n```\nsort[]=id\nsort[]=-name\n```\n\n**Multiple Sorts:** Combine multiple sorts by separating them with commas:\n```\nsort[]=id&sort[]=-name\n```",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "-id",
                                    "id",
                                    "-binaryId",
                                    "binaryId",
                                    "-name",
                                    "name",
                                    "-command",
                                    "command",
                                    "-args",
                                    "args",
                                    "-notes",
                                    "notes",
                                    "-status",
                                    "status",
                                    "-statusMessage",
                                    "statusMessage",
                                    "-maintenance",
                                    "maintenance",
                                    "-dnsServiceEnabled",
                                    "dnsServiceEnabled",
                                    "-resourcePackageSlug",
                                    "resourcePackageSlug",
                                    "-inUse",
                                    "inUse",
                                    "binaryId",
                                    "-binaryId",
                                    "binaryName",
                                    "-binaryName",
                                    "binaryVersion",
                                    "-binaryVersion",
                                    "binaryType",
                                    "-binaryType",
                                    "binaryOs",
                                    "-binaryOs"
                                ]
                            }
                        }
                    },
                    {
                        "name": "filter[id]",
                        "in": "query",
                        "description": "Filter by id.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[binaryId]",
                        "in": "query",
                        "description": "Filter by binary id.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "description": "Filter by name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[namePartial]",
                        "in": "query",
                        "description": "Filter by name using partial matching. For example, \"ann\" matches \"Joanna\" or \"Annie\".",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[command]",
                        "in": "query",
                        "description": "Filter by command.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[args]",
                        "in": "query",
                        "description": "Filter by arguments.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[notes]",
                        "in": "query",
                        "description": "Filter by notes.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[status]",
                        "in": "query",
                        "description": "Filter by status.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[maintenance]",
                        "in": "query",
                        "description": "Filter by maintenance status.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[dnsServiceEnabled]",
                        "in": "query",
                        "description": "Filter by service-level DNS flag.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[resourcePackageSlug]",
                        "in": "query",
                        "description": "Filter by resource package slug.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[inUse]",
                        "in": "query",
                        "description": "Filter by in use flag.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "filter[binaryName]",
                        "in": "query",
                        "description": "Filter by binary name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[binaryVersion]",
                        "in": "query",
                        "description": "Filter by binary version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[binaryType]",
                        "in": "query",
                        "description": "Filter by binary type.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[binaryOs]",
                        "in": "query",
                        "description": "Filter by binary operating system.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[metadata]",
                        "in": "query",
                        "description": "Filter by metadata. Allows filtering based on metadata key-value pairs, supporting both simple and nested metadata fields using dot notation.\n\n**Simple Filters:**\nTo filter where `idle` is false (boolean):\n```\nfilter[metadata]=idle=false\n```\n\nTo filter where `string` is exactly \"a\":\n```\nfilter[metadata]=string=\"a\"\n```\n\n**Filtering for Null Values:**\nTo filter for a native null value, use unquoted null. For example, to filter where `score` is null:\n```\nfilter[metadata]=score=null\n```\n\n**Nested Filters:**\nFor nested metadata fields use dot notation. For example, to filter where `difficulty` within `gameSettings.survival`\nis exactly \"hardcore\":\n```\nfilter[metadata]=gameSettings.survival.difficulty=\"hardcore\"\n```\n\nTo filter for a nested field with a native `null` value, leave the null unquoted:\n```\nfilter[metadata]=gameSettings.stats.score=null\n```\n\n**Array Contains Filter:**\nTo filter where an array contains a given value (string, number, boolean or null):\n```\nfilter[metadata]=players=\"foobar\"\nfilter[metadata]=player_ids=37\nfilter[metadata]=array=true\nfilter[metadata]=array=null\n```\n\nWorks for nested arrays as well:\n```\nfilter[metadata]=gameData.players=\"foobar\"\n```\n\n**Multiple Filters:**\nCombine multiple filters by separating them with commas:\n```\nfilter[metadata]=idle=false,max_players=20,gameSettings.survival.difficulty=\"hardcore\"\n```",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `ServerConfig`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/ServerConfig"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            },
                                                            "page": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active",
                                                            "page"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "post": {
                "operationId": "createServerConfig",
                "summary": "Create a new server config",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreServerConfigRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ServerConfig`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ServerConfig"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/apps\/{app}\/configs\/unused": {
            "delete": {
                "operationId": "deleteUnusedServerConfigs",
                "summary": "Delete all unused server configs",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "app",
                        "in": "path",
                        "required": true,
                        "description": "The app ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/server-configs\/{serverConfig}": {
            "get": {
                "operationId": "getServerConfigById",
                "summary": "Show a specific server config",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "serverConfig",
                        "in": "path",
                        "required": true,
                        "description": "The server config ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`ServerConfig`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ServerConfig"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteServerConfig",
                "summary": "Delete a specific server config",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "serverConfig",
                        "in": "path",
                        "required": true,
                        "description": "The server config ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "put": {
                "operationId": "updateServerConfig",
                "summary": "Update a server config",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "serverConfig",
                        "in": "path",
                        "required": true,
                        "description": "The server config ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/UpdateServerConfigRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ServerConfig`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ServerConfig"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/server-configs\/{serverConfig}\/metadata": {
            "put": {
                "operationId": "server-configs.metadata.set",
                "description": "Replaces the entire metadata.",
                "summary": "Set metadata",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "serverConfig",
                        "in": "path",
                        "required": true,
                        "description": "The server config ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/SetServerConfigMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ServerConfig`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ServerConfig"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "patch": {
                "operationId": "server-configs.metadata.update",
                "description": "Updates existing metadata keys or adds new keys without deleting other metadata.",
                "summary": "Update metadata",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "serverConfig",
                        "in": "path",
                        "required": true,
                        "description": "The server config ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/PatchServerConfigMetadataRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ServerConfig`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ServerConfig"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "server-configs.metadata.delete.all",
                "summary": "Delete all metadata",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "serverConfig",
                        "in": "path",
                        "required": true,
                        "description": "The server config ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`ServerConfig`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ServerConfig"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/server-configs\/{serverConfig}\/metadata\/keys": {
            "delete": {
                "operationId": "server-configs.metadata.delete.keys",
                "summary": "Delete metadata keys",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "serverConfig",
                        "in": "path",
                        "required": true,
                        "description": "The server config ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "metadata[]",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`ServerConfig`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ServerConfig"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/server-configs\/{serverConfig}\/services\/start": {
            "post": {
                "operationId": "startServersForServerConfig",
                "summary": "Start all services related to a specific server config",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "serverConfig",
                        "in": "path",
                        "required": true,
                        "description": "The server config ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "402": {
                        "description": "Payment required",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/v1\/server-configs\/{serverConfig}\/services\/stop": {
            "post": {
                "operationId": "stopServersForServerConfig",
                "summary": "Stop all services related to a specific server config",
                "tags": [
                    "ServerConfig"
                ],
                "parameters": [
                    {
                        "name": "serverConfig",
                        "in": "path",
                        "required": true,
                        "description": "The server config ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/binaries\/steam\/launchers": {
            "get": {
                "operationId": "steamGetLauncher",
                "summary": "Get launchers for a specific steamworks app ID, optionally filtered by OS",
                "tags": [
                    "Steam"
                ],
                "parameters": [
                    {
                        "name": "appId",
                        "in": "query",
                        "required": true,
                        "description": "The steamworks app id",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "os",
                        "in": "query",
                        "description": "The operating system of the binary",
                        "schema": {
                            "$ref": "#\/components\/schemas\/OperatingSystem"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `SteamLauncher`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#\/components\/schemas\/SteamLauncher"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/binaries\/steam\/branches": {
            "get": {
                "operationId": "steamGetBranches",
                "summary": "Get branches for a specific steamworks app ID",
                "tags": [
                    "Steam"
                ],
                "parameters": [
                    {
                        "name": "appId",
                        "in": "query",
                        "required": true,
                        "description": "The steamworks app id",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `SteamBranch`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#\/components\/schemas\/SteamBranch"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/templates\/apps\/palworld": {
            "post": {
                "operationId": "createPalworldTemplate",
                "summary": "Create a Palworld template app",
                "tags": [
                    "Templates",
                    "TemplateApp"
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StorePalworldTemplateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`App`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/App"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/templates\/apps\/minecraft": {
            "post": {
                "operationId": "createMinecraftTemplate",
                "summary": "Create a Minecraft template app",
                "tags": [
                    "Templates",
                    "TemplateApp"
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreMinecraftTemplateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`App`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/App"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/v1\/templates\/apps\/openclaw": {
            "post": {
                "operationId": "createOpenClawTemplate",
                "summary": "Create an OpenClaw template app",
                "tags": [
                    "Templates",
                    "TemplateApp"
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreOpenClawTemplateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`TemplateAppResult`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/TemplateAppResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "description": "Payment project not found",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "App": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the app"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the app"
                    },
                    "inUse": {
                        "type": "boolean",
                        "description": "Indicates whether the app is currently in use"
                    },
                    "billingState": {
                        "description": "The billing state of the app",
                        "$ref": "#\/components\/schemas\/AppBillingState"
                    },
                    "maintenance": {
                        "type": "boolean",
                        "description": "Indicates if the app is under maintenance"
                    },
                    "status": {
                        "description": "The current status of the app",
                        "$ref": "#\/components\/schemas\/AppStatus"
                    },
                    "statusMessage": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "An optional status message"
                    },
                    "metadata": {
                        "type": "object",
                        "description": "The metadata for the app",
                        "additionalProperties": {}
                    }
                },
                "required": [
                    "id",
                    "name",
                    "inUse",
                    "billingState",
                    "maintenance",
                    "status",
                    "statusMessage",
                    "metadata"
                ],
                "title": "App"
            },
            "AppBillingState": {
                "type": "string",
                "enum": [
                    "free",
                    "active",
                    "indie",
                    "mini",
                    "external"
                ],
                "title": "AppBillingState"
            },
            "AppLocationSetting": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the app location setting"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the app location setting"
                    },
                    "appId": {
                        "type": "integer",
                        "description": "The app id of the app location setting"
                    },
                    "serverConfigId": {
                        "type": "integer",
                        "description": "The server config id of the app location setting"
                    },
                    "numInstances": {
                        "type": "integer",
                        "description": "The number of instances that should run at the specific location"
                    },
                    "autoScalerEnabled": {
                        "type": "boolean",
                        "description": "Whether the auto scaler is enabled"
                    },
                    "autoScalerMin": {
                        "type": "integer",
                        "description": "The minimum number of instances that should run at the specific location"
                    },
                    "autoScalerMax": {
                        "type": "integer",
                        "description": "The maximum number of instances that should run at the specific location"
                    },
                    "status": {
                        "description": "The current status",
                        "$ref": "#\/components\/schemas\/AppLocationSettingStatus"
                    },
                    "statusMessage": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "An optional message"
                    },
                    "maintenance": {
                        "type": "boolean",
                        "description": "Indicates if the app location setting is under maintenance"
                    },
                    "inUse": {
                        "type": "boolean",
                        "description": "Indicates whether the app location setting is currently in use"
                    },
                    "placement": {
                        "description": "The placement to use",
                        "$ref": "#\/components\/schemas\/Placement"
                    },
                    "serverConfig": {
                        "description": "The server config to use",
                        "$ref": "#\/components\/schemas\/ServerConfig"
                    },
                    "metadata": {
                        "type": "object",
                        "description": "The metadata for the app location setting",
                        "additionalProperties": {}
                    }
                },
                "required": [
                    "id",
                    "name",
                    "appId",
                    "serverConfigId",
                    "numInstances",
                    "autoScalerEnabled",
                    "status",
                    "statusMessage",
                    "maintenance",
                    "inUse",
                    "placement",
                    "metadata"
                ],
                "title": "AppLocationSetting"
            },
            "AppLocationSettingStatus": {
                "type": "string",
                "enum": [
                    "pending",
                    "creating",
                    "updating",
                    "deleting",
                    "upscaling",
                    "downscaling",
                    "error",
                    "ready",
                    "waiting",
                    "moving",
                    "cloning"
                ],
                "title": "AppLocationSettingStatus"
            },
            "AppStatus": {
                "type": "string",
                "enum": [
                    "ready",
                    "updating",
                    "deleting",
                    "error",
                    "waiting"
                ],
                "title": "AppStatus"
            },
            "Architecture": {
                "type": "string",
                "enum": [
                    "x86_64"
                ],
                "title": "Architecture"
            },
            "Auth": {
                "type": "object",
                "properties": {
                    "token": {
                        "type": "string",
                        "description": "The authentication token, which must be used as a Bearer token in subsequent requests."
                    }
                },
                "required": [
                    "token"
                ],
                "title": "Auth"
            },
            "AuthFsidRequest": {
                "type": "object",
                "properties": {
                    "fsid": {
                        "type": "string",
                        "description": "The fusion session id of the user",
                        "example": "66ed926d7fb6accc041d5628z47dg673",
                        "maxLength": 191
                    }
                },
                "required": [
                    "fsid"
                ],
                "title": "AuthFsidRequest"
            },
            "AuthRequest": {
                "type": "object",
                "properties": {
                    "email": {
                        "type": "string",
                        "format": "email",
                        "description": "The email of the user",
                        "maxLength": 255
                    },
                    "password": {
                        "type": "string",
                        "description": "The password of the user"
                    },
                    "sid": {
                        "type": "string",
                        "description": "The fusion session id of the user",
                        "example": "1234567890ABCDEFG",
                        "maxLength": 191
                    }
                },
                "required": [
                    "email",
                    "password",
                    "sid"
                ],
                "title": "AuthRequest"
            },
            "Backup": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the backup"
                    },
                    "archiveName": {
                        "type": "string",
                        "description": "The name of the stored archive"
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The timestamp of the backups creation"
                    },
                    "restoredAt": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "The timestamp of when the backup was restored, null if not restored"
                    }
                },
                "required": [
                    "name",
                    "archiveName",
                    "createdAt",
                    "restoredAt"
                ],
                "title": "Backup"
            },
            "BackupDownload": {
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string",
                        "format": "uri",
                        "description": "The url where the file is available"
                    },
                    "validUntil": {
                        "type": "string",
                        "format": "date-time",
                        "description": "After this date the link is no longer valid"
                    }
                },
                "required": [
                    "url",
                    "validUntil"
                ],
                "title": "BackupDownload"
            },
            "Binary": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the binary"
                    },
                    "appId": {
                        "type": "integer",
                        "description": "The app id of the binary"
                    },
                    "name": {
                        "type": "string",
                        "description": "The app id of the binary"
                    },
                    "version": {
                        "type": "string",
                        "description": "The version of the binary"
                    },
                    "type": {
                        "description": "The type of the binary",
                        "$ref": "#\/components\/schemas\/BinaryType"
                    },
                    "os": {
                        "description": "The operating system of the binary",
                        "$ref": "#\/components\/schemas\/OperatingSystem"
                    },
                    "maintenance": {
                        "type": "boolean",
                        "description": "Indicates if the binary is under maintenance"
                    },
                    "status": {
                        "description": "The current status of the binary",
                        "$ref": "#\/components\/schemas\/BinaryStatus"
                    },
                    "statusMessage": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "An optional message returned by the build process"
                    },
                    "progress": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "The current progress percentage of the image build (0-100). Only present for binaries of type steam."
                    },
                    "progressMessage": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "A message describing the current build step. Only present for binaries of type steam."
                    },
                    "inUse": {
                        "type": "boolean",
                        "description": "Indicates whether the binary is currently in use"
                    },
                    "dockerImage": {
                        "description": "The docker image of the binary",
                        "$ref": "#\/components\/schemas\/DockerImage"
                    },
                    "steam": {
                        "description": "The steam of the binary",
                        "$ref": "#\/components\/schemas\/Steam"
                    },
                    "metadata": {
                        "type": "object",
                        "description": "The metadata for the binary",
                        "additionalProperties": {}
                    }
                },
                "required": [
                    "id",
                    "appId",
                    "name",
                    "version",
                    "type",
                    "os",
                    "maintenance",
                    "status",
                    "statusMessage",
                    "inUse",
                    "metadata"
                ],
                "title": "Binary"
            },
            "BinaryStatus": {
                "type": "string",
                "enum": [
                    "pending",
                    "building",
                    "deleting",
                    "updating",
                    "waiting",
                    "error",
                    "ready"
                ],
                "title": "BinaryStatus"
            },
            "BinaryType": {
                "type": "string",
                "enum": [
                    "dockerImage",
                    "steam"
                ],
                "title": "BinaryType"
            },
            "ConfigFile": {
                "type": "object",
                "properties": {
                    "target": {
                        "type": "string",
                        "description": "The path in the container"
                    },
                    "content": {
                        "type": "string",
                        "description": "The content of the config file"
                    }
                },
                "required": [
                    "target",
                    "content"
                ],
                "title": "ConfigFile"
            },
            "CreateBackupDockerServiceRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the backup",
                        "maxLength": 255
                    }
                },
                "required": [
                    "name"
                ],
                "title": "CreateBackupDockerServiceRequest"
            },
            "CreateUpdateDockerImage": {
                "type": "object",
                "properties": {
                    "imageName": {
                        "type": "string",
                        "description": "The name of the docker image"
                    },
                    "registryId": {
                        "type": "integer",
                        "description": "The id of the registry to load the image"
                    }
                },
                "required": [
                    "imageName",
                    "registryId"
                ],
                "title": "CreateUpdateDockerImage"
            },
            "CreateUpdatePlacement": {
                "type": "object",
                "properties": {
                    "constraints": {
                        "description": "The constraints to use",
                        "$ref": "#\/components\/schemas\/Location"
                    }
                },
                "required": [
                    "constraints"
                ],
                "title": "CreateUpdatePlacement"
            },
            "CreateUpdateSteam": {
                "type": "object",
                "properties": {
                    "steamAppId": {
                        "type": "integer",
                        "description": "The Steam App ID"
                    },
                    "branch": {
                        "type": "string",
                        "description": "The branch to use"
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The password to use"
                    },
                    "command": {
                        "type": "string",
                        "description": "The command to execute"
                    },
                    "steamcmdUsername": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The steam account username"
                    },
                    "steamcmdPassword": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The steam account password"
                    },
                    "headful": {
                        "type": "boolean",
                        "description": "Whether or not the binary needs a graphical interface"
                    },
                    "requestLicense": {
                        "type": "boolean",
                        "description": "Whether or not the the license agreement needs to be requested"
                    },
                    "runtime": {
                        "description": "The steam runtime the server depends on",
                        "$ref": "#\/components\/schemas\/SteamRuntime"
                    },
                    "additionalPackages": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "A space-separated list of additional packages to install"
                    },
                    "unpublished": {
                        "type": "boolean",
                        "description": "Whether or not the steamworks app is unpublished or published"
                    }
                },
                "required": [
                    "steamAppId",
                    "branch",
                    "password",
                    "command",
                    "steamcmdUsername",
                    "steamcmdPassword",
                    "headful",
                    "requestLicense",
                    "runtime",
                    "additionalPackages",
                    "unpublished"
                ],
                "title": "CreateUpdateSteam"
            },
            "DnsMode": {
                "type": "string",
                "enum": [
                    "dns",
                    "dns_ssl",
                    "dns_ssl_redirect"
                ],
                "title": "DnsMode"
            },
            "DockerImage": {
                "type": "object",
                "properties": {
                    "imageName": {
                        "type": "string",
                        "description": "The name of the docker image"
                    },
                    "registryId": {
                        "type": "integer",
                        "description": "The id of the registry to load the image"
                    },
                    "inUse": {
                        "type": "boolean",
                        "description": "Indicates whether the docker image is currently in use"
                    }
                },
                "required": [
                    "imageName",
                    "registryId",
                    "inUse"
                ],
                "title": "DockerImage"
            },
            "DockerRegistry": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The ID of the registry"
                    },
                    "type": {
                        "description": "The type of the registry",
                        "$ref": "#\/components\/schemas\/DockerRegistryType"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the registry"
                    },
                    "username": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The username to use for authentication"
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The password to use for authentication"
                    },
                    "url": {
                        "type": "string",
                        "format": "uri",
                        "description": "The URL of the registry"
                    },
                    "accessToken": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The access token to use for authentication"
                    },
                    "instanceUrl": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "uri",
                        "description": "The URL of the instance"
                    },
                    "organization": {
                        "type": "boolean",
                        "description": "Whether or not the registry is user-owned or organization-owned"
                    },
                    "awsAccessKey": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "AWS access key ID"
                    },
                    "awsSecretAccessKey": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "AWS secret access key"
                    },
                    "metadata": {
                        "type": "object",
                        "description": "The metadata for the docker registry",
                        "additionalProperties": {}
                    }
                },
                "required": [
                    "id",
                    "type",
                    "name",
                    "username",
                    "password",
                    "url",
                    "accessToken",
                    "instanceUrl",
                    "organization",
                    "awsAccessKey",
                    "awsSecretAccessKey",
                    "metadata"
                ],
                "title": "DockerRegistry"
            },
            "DockerRegistryType": {
                "type": "string",
                "enum": [
                    "default",
                    "gitlab",
                    "github",
                    "custom",
                    "dockerhub",
                    "azure",
                    "awsecr",
                    "other"
                ],
                "title": "DockerRegistryType"
            },
            "DockerServiceDnsReachable": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name for the port"
                    },
                    "dnsHttp": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Public URL over http"
                    },
                    "dnsHttps": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Public URL over https"
                    },
                    "dnsHttpReachable": {
                        "type": "boolean",
                        "description": "Indicates whether the dnsHttp url is reachable"
                    },
                    "dnsHttpsReachable": {
                        "type": "boolean",
                        "description": "Indicates whether the dnsHttps url is reachable"
                    }
                },
                "required": [
                    "name",
                    "dnsHttp",
                    "dnsHttps",
                    "dnsHttpReachable",
                    "dnsHttpsReachable"
                ],
                "title": "DockerServiceDnsReachable"
            },
            "EnvironmentVariable": {
                "type": "object",
                "properties": {
                    "key": {
                        "type": "string",
                        "description": "The key of the environment variable"
                    },
                    "value": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The value of the environment variable"
                    }
                },
                "required": [
                    "key",
                    "value"
                ],
                "title": "EnvironmentVariable"
            },
            "EnvironmentVariableDefinition": {
                "type": "object",
                "properties": {
                    "type": {
                        "description": "The type of the environment variable",
                        "$ref": "#\/components\/schemas\/EnvironmentVariableType"
                    },
                    "key": {
                        "type": "string",
                        "description": "The key of the variable"
                    },
                    "value": {
                        "type": "string",
                        "description": "The value of the variable"
                    },
                    "variable": {
                        "type": "string",
                        "description": "The variable definition of the environment variable"
                    }
                },
                "required": [
                    "type",
                    "key"
                ],
                "title": "EnvironmentVariableDefinition"
            },
            "EnvironmentVariableType": {
                "type": "string",
                "enum": [
                    "static",
                    "system",
                    "port"
                ],
                "title": "EnvironmentVariableType"
            },
            "Location": {
                "type": "object",
                "properties": {
                    "city": {
                        "type": "string",
                        "description": "The name of the city"
                    },
                    "cityDisplay": {
                        "type": "string",
                        "description": "The display-friendly name of the city"
                    },
                    "continent": {
                        "type": "string",
                        "description": "The continent name"
                    },
                    "country": {
                        "type": "string",
                        "description": "The country name"
                    },
                    "isProtected": {
                        "type": "boolean",
                        "description": "Indicates if the location is password protected"
                    }
                },
                "required": [
                    "city",
                    "cityDisplay",
                    "continent",
                    "country",
                    "isProtected"
                ],
                "title": "Location"
            },
            "LocationIndex": {
                "type": "object",
                "properties": {
                    "city": {
                        "type": "string",
                        "description": "The name of the city"
                    },
                    "cityDisplay": {
                        "type": "string",
                        "description": "The display-friendly name of the city"
                    },
                    "continent": {
                        "type": "string",
                        "description": "The continent name"
                    },
                    "country": {
                        "type": "string",
                        "description": "The country name"
                    },
                    "isProtected": {
                        "type": "boolean",
                        "description": "Indicates if the location is password protected"
                    },
                    "load": {
                        "description": "Indicates how loaded the location is",
                        "$ref": "#\/components\/schemas\/LocationLoad"
                    }
                },
                "required": [
                    "city",
                    "cityDisplay",
                    "continent",
                    "country",
                    "isProtected",
                    "load"
                ],
                "title": "LocationIndex"
            },
            "LocationLoad": {
                "type": "string",
                "enum": [
                    "low",
                    "medium",
                    "high",
                    "overloaded"
                ],
                "title": "LocationLoad"
            },
            "MetricData": {
                "type": "object",
                "properties": {
                    "resultType": {
                        "type": "string",
                        "description": "The result type. For range queries this will be \"matrix\"."
                    },
                    "result": {
                        "type": "array",
                        "description": "The time series data. Each entry is one series with its labels and samples.",
                        "items": {
                            "$ref": "#\/components\/schemas\/MetricTimeResult"
                        }
                    }
                },
                "required": [
                    "resultType",
                    "result"
                ],
                "title": "MetricData"
            },
            "MetricInstantData": {
                "type": "object",
                "properties": {
                    "resultType": {
                        "type": "string",
                        "description": "The result type. For instant queries this will be \"vector\"."
                    },
                    "result": {
                        "type": "array",
                        "description": "The vector data. Each entry represents one time series with its labels and current value.",
                        "items": {
                            "$ref": "#\/components\/schemas\/MetricInstantResult"
                        }
                    }
                },
                "required": [
                    "resultType",
                    "result"
                ],
                "title": "MetricInstantData"
            },
            "MetricInstantResponse": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "description": "Overall query status."
                    },
                    "data": {
                        "description": "The instant query result data.",
                        "$ref": "#\/components\/schemas\/MetricInstantData"
                    }
                },
                "required": [
                    "status",
                    "data"
                ],
                "title": "MetricInstantResponse"
            },
            "MetricInstantResult": {
                "type": "object",
                "properties": {
                    "metric": {
                        "type": "object",
                        "description": "Labels identifying this series.",
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "value": {
                        "type": "array",
                        "description": "[timestamp, value] pair representing this series.",
                        "prefixItems": [
                            {
                                "type": "number"
                            },
                            {
                                "type": "string"
                            }
                        ],
                        "minItems": 2,
                        "maxItems": 2,
                        "additionalItems": false
                    }
                },
                "required": [
                    "metric",
                    "value"
                ],
                "title": "MetricInstantResult"
            },
            "MetricRangeResponse": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "description": "Overall query status."
                    },
                    "data": {
                        "description": "The query result data.",
                        "$ref": "#\/components\/schemas\/MetricData"
                    }
                },
                "required": [
                    "status",
                    "data"
                ],
                "title": "MetricRangeResponse"
            },
            "MetricTimeResult": {
                "type": "object",
                "properties": {
                    "metric": {
                        "type": "object",
                        "description": "Labels identifying this time series.",
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "values": {
                        "type": "array",
                        "description": "List of [timestamp, value] pairs for this series.",
                        "items": {
                            "type": "array",
                            "prefixItems": [
                                {
                                    "type": "number"
                                },
                                {
                                    "type": "string"
                                }
                            ],
                            "minItems": 2,
                            "maxItems": 2,
                            "additionalItems": false
                        }
                    }
                },
                "required": [
                    "metric",
                    "values"
                ],
                "title": "MetricTimeResult"
            },
            "Mount": {
                "type": "object",
                "properties": {
                    "target": {
                        "type": "string",
                        "description": "The path in the container"
                    },
                    "readOnly": {
                        "type": "boolean",
                        "description": "Whether this mount point is read only"
                    }
                },
                "required": [
                    "target",
                    "readOnly"
                ],
                "title": "Mount"
            },
            "Node": {
                "type": "object",
                "properties": {
                    "architecture": {
                        "description": "The architecture of the node (e.g., 'x86_64')",
                        "$ref": "#\/components\/schemas\/Architecture"
                    },
                    "os": {
                        "description": "The operating system of the node",
                        "$ref": "#\/components\/schemas\/OperatingSystem"
                    },
                    "address": {
                        "type": "string",
                        "description": "The IP address of the node"
                    }
                },
                "required": [
                    "architecture",
                    "os",
                    "address"
                ],
                "title": "Node"
            },
            "OccupiedLocationRequest": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "numInstances": {
                        "type": "integer",
                        "minimum": 1
                    },
                    "projectName": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "company": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    },
                    "message": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000
                    }
                },
                "required": [
                    "location",
                    "numInstances",
                    "projectName"
                ],
                "title": "OccupiedLocationRequest"
            },
            "OperatingSystem": {
                "type": "string",
                "enum": [
                    "windows",
                    "linux"
                ],
                "title": "OperatingSystem"
            },
            "PatchAppLocationSettingMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "PatchAppLocationSettingMetadataRequest"
            },
            "PatchAppMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "PatchAppMetadataRequest"
            },
            "PatchBinaryMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "PatchBinaryMetadataRequest"
            },
            "PatchDockerRegistryMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "PatchDockerRegistryMetadataRequest"
            },
            "PatchMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "PatchMetadataRequest"
            },
            "PatchServerConfigMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "PatchServerConfigMetadataRequest"
            },
            "Placement": {
                "type": "object",
                "properties": {
                    "constraints": {
                        "description": "The constraints to use",
                        "$ref": "#\/components\/schemas\/Location"
                    }
                },
                "required": [
                    "constraints"
                ],
                "title": "Placement"
            },
            "Port": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name for the port."
                    },
                    "protocol": {
                        "description": "The protocol used by the port.",
                        "$ref": "#\/components\/schemas\/Protocol"
                    },
                    "targetPort": {
                        "type": "integer",
                        "description": "The port inside the container. Incoming traffic is routed to this port within the container."
                    },
                    "publishedPort": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "The externally published port, which allows external access. If `null`, the port has not yet been assigned."
                    },
                    "dnsMode": {
                        "anyOf": [
                            {
                                "description": "DNS mode of the port",
                                "$ref": "#\/components\/schemas\/DnsMode"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "dnsPrivate": {
                        "type": "boolean",
                        "description": "Indicates if the port should be private (not publicly published)"
                    },
                    "dnsHttp": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Public URL over http"
                    },
                    "dnsHttps": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Public URL over https"
                    }
                },
                "required": [
                    "name",
                    "protocol",
                    "targetPort",
                    "publishedPort",
                    "dnsMode",
                    "dnsPrivate",
                    "dnsHttp",
                    "dnsHttps"
                ],
                "title": "Port"
            },
            "PortDefinition": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the server config"
                    },
                    "protocols": {
                        "type": "array",
                        "description": "The protocols to expose",
                        "items": {
                            "$ref": "#\/components\/schemas\/Protocol"
                        }
                    },
                    "targetPort": {
                        "type": "integer",
                        "description": "The port to expose"
                    },
                    "dnsMode": {
                        "anyOf": [
                            {
                                "description": "The DNS mode",
                                "$ref": "#\/components\/schemas\/DnsMode"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "dnsPrivate": {
                        "type": "boolean",
                        "description": "Indicates if the port should be private (not publicly published)"
                    }
                },
                "required": [
                    "name",
                    "protocols",
                    "targetPort",
                    "dnsMode",
                    "dnsPrivate"
                ],
                "title": "PortDefinition"
            },
            "PortDefinitionRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the server config"
                    },
                    "protocols": {
                        "type": "array",
                        "description": "The protocols to expose",
                        "items": {
                            "$ref": "#\/components\/schemas\/Protocol"
                        }
                    },
                    "targetPort": {
                        "type": "integer",
                        "description": "The port to expose"
                    },
                    "dnsMode": {
                        "anyOf": [
                            {
                                "description": "The DNS mode",
                                "$ref": "#\/components\/schemas\/DnsMode"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "dnsPrivate": {
                        "type": "boolean",
                        "description": "Indicates if the port should be private (not publicly published)"
                    }
                },
                "required": [
                    "name",
                    "protocols",
                    "targetPort"
                ],
                "title": "PortDefinitionRequest"
            },
            "Protocol": {
                "type": "string",
                "enum": [
                    "tcp",
                    "udp"
                ],
                "title": "Protocol"
            },
            "ResourcePackage": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the resource package"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the resource package"
                    },
                    "slug": {
                        "type": "string",
                        "description": "The slug of the resource package"
                    },
                    "type": {
                        "description": "The type of the resource package",
                        "$ref": "#\/components\/schemas\/ResourcePackageType"
                    },
                    "cpuLimit": {
                        "type": "number",
                        "description": "The maximum CPU of the resource package"
                    },
                    "memoryLimitBytes": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The maximum memory in bytes of the resource package"
                    },
                    "memoryLimitMiB": {
                        "type": "number",
                        "description": "The maximum memory in mebibytes (MiB) of the resource package"
                    },
                    "memoryLimitFileSizeString": {
                        "type": "string",
                        "description": "The maximum memory in a human-readable format"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "slug",
                    "type",
                    "cpuLimit",
                    "memoryLimitBytes",
                    "memoryLimitMiB",
                    "memoryLimitFileSizeString"
                ],
                "title": "ResourcePackage"
            },
            "ResourcePackageType": {
                "type": "string",
                "enum": [
                    "shared",
                    "dedicated"
                ],
                "title": "ResourcePackageType"
            },
            "RestartPolicy": {
                "type": "object",
                "properties": {
                    "condition": {
                        "description": "The condition for a restart",
                        "$ref": "#\/components\/schemas\/RestartPolicyCondition"
                    }
                },
                "required": [
                    "condition"
                ],
                "title": "RestartPolicy"
            },
            "RestartPolicyCondition": {
                "type": "string",
                "enum": [
                    "none",
                    "any",
                    "on-failure"
                ],
                "title": "RestartPolicyCondition"
            },
            "SecretFile": {
                "type": "object",
                "properties": {
                    "target": {
                        "type": "string",
                        "description": "The path in the container"
                    },
                    "content": {
                        "type": "string",
                        "description": "The content of the secret file"
                    }
                },
                "required": [
                    "target",
                    "content"
                ],
                "title": "SecretFile"
            },
            "Server": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The ID of the service"
                    },
                    "appLocationSettingId": {
                        "type": "integer",
                        "description": "The ID of the location setting"
                    },
                    "instance": {
                        "type": "integer",
                        "description": "The ID of the instance"
                    },
                    "serverConfigId": {
                        "type": "integer",
                        "description": "The ID of the server config"
                    },
                    "serverConfigName": {
                        "type": "string",
                        "description": "The name of the server config"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the service"
                    },
                    "status": {
                        "type": "string",
                        "description": "The current status"
                    },
                    "status_message": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "An optional message"
                    },
                    "dns": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The FQDN of the service"
                    },
                    "isBackupable": {
                        "type": "boolean",
                        "description": "Indicates whether the service can be backed up"
                    },
                    "isRestorable": {
                        "type": "boolean",
                        "description": "Indicates whether the service can be restored"
                    },
                    "isPending": {
                        "type": "boolean",
                        "description": "Indicates whether the service is pending (not running) due to insufficient resources on the node."
                    },
                    "isNotFound": {
                        "type": "boolean",
                        "description": "Indicates whether the service is currently not found\/missing in the cluster."
                    },
                    "isHealthy": {
                        "type": "boolean",
                        "description": "Indicates whether the service is currently in an overall healthy state."
                    },
                    "isStopped": {
                        "type": "boolean",
                        "description": "Indicates whether the service is currently stopped."
                    },
                    "maintenance": {
                        "type": "boolean",
                        "description": "Indicates if the service is under maintenance"
                    },
                    "ports": {
                        "type": "array",
                        "description": "The port definitions of the service",
                        "items": {
                            "$ref": "#\/components\/schemas\/Port"
                        }
                    },
                    "env": {
                        "type": "object",
                        "description": "The environment variables of the service",
                        "additionalProperties": {
                            "$ref": "#\/components\/schemas\/EnvironmentVariable"
                        }
                    },
                    "restartPolicy": {
                        "description": "The restart policy of the service",
                        "$ref": "#\/components\/schemas\/RestartPolicy"
                    },
                    "node": {
                        "description": "The assigned node. If missing, it likely means the service is overloaded and has not yet been assigned to any node.",
                        "$ref": "#\/components\/schemas\/Node"
                    },
                    "location": {
                        "description": "The location of the node",
                        "$ref": "#\/components\/schemas\/Location"
                    },
                    "resources": {
                        "description": "The assigned resource package",
                        "$ref": "#\/components\/schemas\/ResourcePackage"
                    },
                    "backups": {
                        "type": "array",
                        "description": "The backups of the service",
                        "items": {
                            "$ref": "#\/components\/schemas\/Backup"
                        }
                    },
                    "metadata": {
                        "type": "object",
                        "description": "The metadata for the service",
                        "additionalProperties": {}
                    },
                    "createdAt": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "When the service was created"
                    },
                    "updatedAt": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "When the service was last updated"
                    }
                },
                "required": [
                    "id",
                    "appLocationSettingId",
                    "instance",
                    "serverConfigId",
                    "serverConfigName",
                    "name",
                    "status",
                    "status_message",
                    "dns",
                    "isBackupable",
                    "isRestorable",
                    "isPending",
                    "isNotFound",
                    "isHealthy",
                    "isStopped",
                    "maintenance",
                    "ports",
                    "env",
                    "restartPolicy",
                    "location",
                    "resources",
                    "backups",
                    "metadata",
                    "createdAt",
                    "updatedAt"
                ],
                "title": "Server"
            },
            "ServerConfig": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the server configuration"
                    },
                    "binaryId": {
                        "type": "integer",
                        "description": "The binary id of the server configuration"
                    },
                    "appId": {
                        "type": "integer",
                        "description": "The app id of the server configuration"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the server config"
                    },
                    "command": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The command to run in the container (overrides ENTRYPOINT of the Dockerfile)"
                    },
                    "args": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The arguments to pass to the command (overrides CMD of the Dockerfile)"
                    },
                    "notes": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The notes of the server config - to keep track of things and to inform colleagues"
                    },
                    "status": {
                        "description": "The current status",
                        "$ref": "#\/components\/schemas\/ServerConfigStatus"
                    },
                    "statusMessage": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "An optional message"
                    },
                    "maintenance": {
                        "type": "boolean",
                        "description": "Indicates if the server config is under maintenance"
                    },
                    "resourcePackageSlug": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The slug of the resource package used in this server config"
                    },
                    "inUse": {
                        "type": "boolean",
                        "description": "Indicates whether the server config is currently in use"
                    },
                    "dnsServiceEnabled": {
                        "type": "boolean",
                        "description": "Indicates whether service-level DNS is enabled"
                    },
                    "restartPolicy": {
                        "description": "The policy used to restart this server",
                        "$ref": "#\/components\/schemas\/RestartPolicy"
                    },
                    "env": {
                        "type": "array",
                        "description": "The environment variable definitions to be used in this config",
                        "items": {
                            "$ref": "#\/components\/schemas\/EnvironmentVariableDefinition"
                        }
                    },
                    "mounts": {
                        "type": "array",
                        "description": "The mounts to use",
                        "items": {
                            "$ref": "#\/components\/schemas\/Mount"
                        }
                    },
                    "ports": {
                        "type": "array",
                        "description": "The ports to expose",
                        "items": {
                            "$ref": "#\/components\/schemas\/PortDefinition"
                        }
                    },
                    "configFiles": {
                        "type": "array",
                        "description": "The config files to use",
                        "items": {
                            "$ref": "#\/components\/schemas\/ConfigFile"
                        }
                    },
                    "secretFiles": {
                        "type": "array",
                        "description": "The secret files to use",
                        "items": {
                            "$ref": "#\/components\/schemas\/SecretFile"
                        }
                    },
                    "binary": {
                        "description": "The image that is used in this server config",
                        "$ref": "#\/components\/schemas\/Binary"
                    },
                    "metadata": {
                        "type": "object",
                        "description": "The metadata for the server config",
                        "additionalProperties": {}
                    }
                },
                "required": [
                    "id",
                    "binaryId",
                    "appId",
                    "name",
                    "command",
                    "args",
                    "notes",
                    "status",
                    "statusMessage",
                    "maintenance",
                    "resourcePackageSlug",
                    "inUse",
                    "dnsServiceEnabled",
                    "restartPolicy",
                    "env",
                    "mounts",
                    "ports",
                    "configFiles",
                    "secretFiles",
                    "metadata"
                ],
                "title": "ServerConfig"
            },
            "ServerConfigStatus": {
                "type": "string",
                "enum": [
                    "pending",
                    "creating",
                    "updating",
                    "deleting",
                    "waiting",
                    "error",
                    "ready"
                ],
                "title": "ServerConfigStatus"
            },
            "ServiceLogs": {
                "type": "object",
                "properties": {
                    "logs": {
                        "type": "array",
                        "description": "The logs as an array of strings",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "required": [
                    "logs"
                ],
                "title": "ServiceLogs"
            },
            "SetAppLocationSettingMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "SetAppLocationSettingMetadataRequest"
            },
            "SetAppMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "SetAppMetadataRequest"
            },
            "SetBinaryMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "SetBinaryMetadataRequest"
            },
            "SetDockerRegistryMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "SetDockerRegistryMetadataRequest"
            },
            "SetMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "SetMetadataRequest"
            },
            "SetServerConfigMetadataRequest": {
                "type": "object",
                "properties": {
                    "metadata": {
                        "type": "object",
                        "additionalProperties": {}
                    }
                },
                "title": "SetServerConfigMetadataRequest"
            },
            "Steam": {
                "type": "object",
                "properties": {
                    "steamAppId": {
                        "type": "integer",
                        "description": "The Steam App ID"
                    },
                    "branch": {
                        "type": "string",
                        "description": "The branch to use"
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The password to use"
                    },
                    "command": {
                        "type": "string",
                        "description": "The command to execute"
                    },
                    "steamcmdUsername": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The steam account username"
                    },
                    "steamcmdPassword": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The steam account password"
                    },
                    "headful": {
                        "type": "boolean",
                        "description": "Whether or not the binary needs a graphical interface"
                    },
                    "requestLicense": {
                        "type": "boolean",
                        "description": "Whether or not the the license agreement needs to be requested"
                    },
                    "runtime": {
                        "description": "The steam runtime the server depends on",
                        "$ref": "#\/components\/schemas\/SteamRuntime"
                    },
                    "additionalPackages": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "A space-separated list of additional packages to install"
                    },
                    "unpublished": {
                        "type": "boolean",
                        "description": "Whether or not the steamworks app is unpublished or published"
                    },
                    "inUse": {
                        "type": "boolean",
                        "description": "Indicates whether the steam binary is currently in use"
                    }
                },
                "required": [
                    "steamAppId",
                    "branch",
                    "password",
                    "command",
                    "steamcmdUsername",
                    "steamcmdPassword",
                    "headful",
                    "requestLicense",
                    "runtime",
                    "additionalPackages",
                    "unpublished",
                    "inUse"
                ],
                "title": "Steam"
            },
            "SteamBranch": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the branch"
                    },
                    "buildid": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "The unique identifier for the build"
                    },
                    "pwdrequired": {
                        "type": [
                            "boolean",
                            "null"
                        ],
                        "description": "Indicates whether a password is required"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "A brief description of the build"
                    },
                    "timeupdated": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Last updated timestamp (in Unix epoch format)"
                    }
                },
                "required": [
                    "name",
                    "buildid",
                    "pwdrequired",
                    "description",
                    "timeupdated"
                ],
                "title": "SteamBranch"
            },
            "SteamLauncher": {
                "type": "object",
                "properties": {
                    "executable": {
                        "type": "string",
                        "description": "The executable path"
                    },
                    "arguments": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The arguments for the executable"
                    },
                    "osarch": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The OS architecture of the executable"
                    },
                    "oslist": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The OS of the executable"
                    },
                    "realm": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The realm of the executable"
                    },
                    "betakey": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The beta key of the executable"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The description of the executable"
                    }
                },
                "required": [
                    "executable",
                    "arguments",
                    "osarch",
                    "oslist",
                    "realm",
                    "betakey",
                    "description"
                ],
                "title": "SteamLauncher"
            },
            "SteamRuntime": {
                "type": "string",
                "enum": [
                    "scout",
                    "soldier",
                    "sniper",
                    "steamrt4"
                ],
                "title": "SteamRuntime"
            },
            "StoreAppLocationSettingRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the location setting",
                        "maxLength": 255
                    },
                    "serverConfigId": {
                        "type": "integer",
                        "description": "The id of the server configuration that should be deployed"
                    },
                    "numInstances": {
                        "type": "integer",
                        "description": "The number of instances that should run at the specific location",
                        "minimum": 1
                    },
                    "placement": {
                        "description": "The placement constraints that define the location",
                        "$ref": "#\/components\/schemas\/CreateUpdatePlacement"
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Password required to deploy services to a protected node location.\nRequired when the selected location is password-protected."
                    }
                },
                "required": [
                    "name",
                    "serverConfigId",
                    "numInstances",
                    "placement"
                ],
                "title": "StoreAppLocationSettingRequest"
            },
            "StoreAppRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the app",
                        "maxLength": 255
                    }
                },
                "required": [
                    "name"
                ],
                "title": "StoreAppRequest"
            },
            "StoreBinaryRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the binary",
                        "maxLength": 255
                    },
                    "version": {
                        "type": "string",
                        "description": "The version of the binary",
                        "maxLength": 255
                    },
                    "type": {
                        "description": "The type of the binary",
                        "$ref": "#\/components\/schemas\/BinaryType"
                    },
                    "os": {
                        "description": "The operating system of the binary",
                        "$ref": "#\/components\/schemas\/OperatingSystem"
                    },
                    "steam": {
                        "description": "The steam settings",
                        "$ref": "#\/components\/schemas\/CreateUpdateSteam"
                    },
                    "dockerImage": {
                        "description": "The docker image settings",
                        "$ref": "#\/components\/schemas\/CreateUpdateDockerImage"
                    }
                },
                "required": [
                    "name",
                    "version",
                    "type",
                    "os"
                ],
                "title": "StoreBinaryRequest"
            },
            "StoreDockerRegistryRequest": {
                "type": "object",
                "properties": {
                    "type": {
                        "description": "The type of the docker registry",
                        "$ref": "#\/components\/schemas\/DockerRegistryType"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the docker registry",
                        "maxLength": 255
                    },
                    "url": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "uri",
                        "description": "The URL of the docker registry",
                        "maxLength": 255
                    },
                    "instanceUrl": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "uri",
                        "description": "The specific instance URL of the docker registry",
                        "maxLength": 255
                    },
                    "username": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The username to use for authentication",
                        "maxLength": 255
                    },
                    "accessToken": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The access token to use for authentication"
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The password to use for authentication"
                    },
                    "organization": {
                        "type": "boolean",
                        "description": "Whether or not the registry is user-owned or organization-owned"
                    },
                    "awsAccessKey": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The AWS access key to use for authentication",
                        "maxLength": 255
                    },
                    "awsSecretAccessKey": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The AWS secret access key to use for authentication",
                        "maxLength": 255
                    }
                },
                "required": [
                    "type",
                    "name"
                ],
                "title": "StoreDockerRegistryRequest"
            },
            "StoreMinecraftTemplateRequest": {
                "type": "object",
                "properties": {
                    "appName": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The name of the template app.\nIf omitted, a default name will be used."
                    },
                    "resourcePackageSlug": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The slug of the resource package.\nIf omitted, a default resource package will be used.",
                        "maxLength": 255
                    },
                    "placement": {
                        "anyOf": [
                            {
                                "description": "The placement settings that define the location and other constraints\nIf omitted, no deployment will be created.",
                                "$ref": "#\/components\/schemas\/CreateUpdatePlacement"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Password required to deploy services to a protected node location.\nRequired when the selected location is password-protected."
                    }
                },
                "title": "StoreMinecraftTemplateRequest"
            },
            "StoreOpenClawTemplateRequest": {
                "type": "object",
                "properties": {
                    "app": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "name": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "The name of the template app.\nIf omitted, a default name will be used."
                            }
                        }
                    },
                    "serverConfig": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "resourcePackageSlug": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "The slug of the resource package.\nIf omitted, a default resource package will be used.",
                                "maxLength": 255
                            },
                            "env": {
                                "type": "array",
                                "description": "The environment variables of the server configuration.",
                                "items": {
                                    "$ref": "#\/components\/schemas\/EnvironmentVariableDefinition"
                                }
                            }
                        }
                    },
                    "appLocationSetting": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "placement": {
                                "anyOf": [
                                    {
                                        "description": "The placement settings that define the location and other constraints\nIf omitted, no deployment will be created.",
                                        "$ref": "#\/components\/schemas\/CreateUpdatePlacement"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "password": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "Password required to deploy services to a protected node location.\nRequired when the selected location is password-protected."
                            }
                        }
                    },
                    "payment": {
                        "type": "object",
                        "properties": {
                            "projectId": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "Payment project ID. If omitted, no payment linking will be performed."
                            }
                        }
                    }
                },
                "title": "StoreOpenClawTemplateRequest"
            },
            "StorePalworldTemplateRequest": {
                "type": "object",
                "properties": {
                    "appName": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The name of the template app.\nIf omitted, a default name will be used."
                    },
                    "resourcePackageSlug": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The slug of the resource package.\nIf omitted, a default resource package will be used.",
                        "maxLength": 255
                    },
                    "placement": {
                        "anyOf": [
                            {
                                "description": "The placement constraints that define the location.\nIf omitted, no deployment will be created.",
                                "$ref": "#\/components\/schemas\/CreateUpdatePlacement"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Password required to deploy services to a protected location.\nOnly required when the selected location is password-protected."
                    }
                },
                "title": "StorePalworldTemplateRequest"
            },
            "StoreServerConfigRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the server configuration",
                        "maxLength": 255
                    },
                    "args": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The arguments to pass to the command (overrides CMD of the Dockerfile)",
                        "example": "\/usr\/local\/etc\/enshrouded\/bootstrap",
                        "maxLength": 255
                    },
                    "command": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The command to run in the container (overrides ENTRYPOINT of the Dockerfile)",
                        "maxLength": 255
                    },
                    "notes": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The notes of the server config - to keep track of things and to inform colleagues",
                        "maxLength": 255
                    },
                    "binaryId": {
                        "type": "integer",
                        "description": "The binary id of the server configuration"
                    },
                    "resourcePackageSlug": {
                        "type": "string",
                        "description": "The slug of the resource package",
                        "maxLength": 255
                    },
                    "dnsServiceEnabled": {
                        "type": "boolean",
                        "description": "Enable service-level DNS"
                    },
                    "configFiles": {
                        "type": "array",
                        "description": "The config files used in this server configuration",
                        "items": {
                            "$ref": "#\/components\/schemas\/ConfigFile"
                        }
                    },
                    "secretFiles": {
                        "type": "array",
                        "description": "The secret files used in this server configuration",
                        "items": {
                            "$ref": "#\/components\/schemas\/SecretFile"
                        }
                    },
                    "restartPolicy": {
                        "description": "The restart policy of the server configuration",
                        "$ref": "#\/components\/schemas\/RestartPolicy"
                    },
                    "env": {
                        "type": "array",
                        "description": "The environment variables used in this server configuration",
                        "items": {
                            "$ref": "#\/components\/schemas\/EnvironmentVariableDefinition"
                        }
                    },
                    "mounts": {
                        "type": "array",
                        "description": "The mounts used in this server configuration",
                        "items": {
                            "$ref": "#\/components\/schemas\/Mount"
                        }
                    },
                    "ports": {
                        "type": "array",
                        "description": "The port definitions",
                        "items": {
                            "$ref": "#\/components\/schemas\/PortDefinitionRequest"
                        }
                    }
                },
                "required": [
                    "name",
                    "binaryId",
                    "resourcePackageSlug"
                ],
                "title": "StoreServerConfigRequest"
            },
            "TaggedImage": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the docker image including the tag."
                    },
                    "tag": {
                        "type": "string",
                        "description": "The tag of the docker image."
                    },
                    "repository": {
                        "type": "string",
                        "description": "The name of the repository."
                    },
                    "location": {
                        "type": "string",
                        "description": "The location URI of the tagged docker image."
                    }
                },
                "required": [
                    "name",
                    "tag",
                    "repository",
                    "location"
                ],
                "title": "TaggedImage"
            },
            "TaggedImageMetaData": {
                "type": "object",
                "properties": {
                    "cached": {
                        "type": "boolean",
                        "description": "Whether the data was retrieved from the cache."
                    },
                    "cached_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Timestamp of when the data was last cached."
                    }
                },
                "required": [
                    "cached",
                    "cached_at"
                ],
                "title": "TaggedImageMetaData"
            },
            "TemplateApp": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the app"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the app"
                    }
                },
                "required": [
                    "id",
                    "name"
                ],
                "title": "TemplateApp"
            },
            "TemplateAppLocationSetting": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the app location setting"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the app location setting"
                    }
                },
                "required": [
                    "id",
                    "name"
                ],
                "title": "TemplateAppLocationSetting"
            },
            "TemplateAppResult": {
                "type": "object",
                "properties": {
                    "app": {
                        "description": "The created template app",
                        "$ref": "#\/components\/schemas\/TemplateApp"
                    },
                    "binaries": {
                        "type": "array",
                        "description": "The binaries created for this template app",
                        "items": {
                            "$ref": "#\/components\/schemas\/TemplateBinary"
                        }
                    },
                    "serverConfigs": {
                        "type": "array",
                        "description": "The server configs created for this template app",
                        "items": {
                            "$ref": "#\/components\/schemas\/TemplateServerConfig"
                        }
                    },
                    "appLocationSettings": {
                        "type": "array",
                        "description": "The app location settings created for this template app",
                        "items": {
                            "$ref": "#\/components\/schemas\/TemplateAppLocationSetting"
                        }
                    }
                },
                "required": [
                    "app",
                    "binaries",
                    "serverConfigs",
                    "appLocationSettings"
                ],
                "title": "TemplateAppResult"
            },
            "TemplateBinary": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the binary"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the binary"
                    }
                },
                "required": [
                    "id",
                    "name"
                ],
                "title": "TemplateBinary"
            },
            "TemplateServerConfig": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the server config"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the server config"
                    }
                },
                "required": [
                    "id",
                    "name"
                ],
                "title": "TemplateServerConfig"
            },
            "UpdateAppLocationSettingRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the location setting",
                        "maxLength": 255
                    },
                    "numInstances": {
                        "type": "integer",
                        "description": "The number of instances that should run at the specific location",
                        "minimum": 1
                    }
                },
                "required": [
                    "name",
                    "numInstances"
                ],
                "title": "UpdateAppLocationSettingRequest"
            },
            "UpdateAppRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the app",
                        "maxLength": 255
                    }
                },
                "required": [
                    "name"
                ],
                "title": "UpdateAppRequest"
            },
            "UpdateBinaryRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the binary",
                        "maxLength": 255
                    },
                    "version": {
                        "type": "string",
                        "description": "The version of the binary",
                        "maxLength": 255
                    },
                    "type": {
                        "description": "The type of the binary",
                        "$ref": "#\/components\/schemas\/BinaryType"
                    },
                    "os": {
                        "description": "The operating system of the binary",
                        "$ref": "#\/components\/schemas\/OperatingSystem"
                    },
                    "steam": {
                        "description": "The steam settings",
                        "$ref": "#\/components\/schemas\/CreateUpdateSteam"
                    },
                    "dockerImage": {
                        "description": "The docker image settings",
                        "$ref": "#\/components\/schemas\/CreateUpdateDockerImage"
                    }
                },
                "required": [
                    "name",
                    "version",
                    "type",
                    "os"
                ],
                "title": "UpdateBinaryRequest"
            },
            "UpdateDockerRegistryRequest": {
                "type": "object",
                "properties": {
                    "type": {
                        "description": "The type of the docker registry",
                        "$ref": "#\/components\/schemas\/DockerRegistryType"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the docker registry",
                        "maxLength": 255
                    },
                    "url": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "uri",
                        "description": "The URL of the docker registry",
                        "maxLength": 255
                    },
                    "instanceUrl": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "uri",
                        "description": "The URL of the gitlab instance",
                        "maxLength": 255
                    },
                    "username": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The username to use for authentication",
                        "maxLength": 255
                    },
                    "accessToken": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The access token to use for authentication"
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The password to use for authentication"
                    },
                    "organization": {
                        "type": "boolean",
                        "description": "Whether or not the registry is user-owned or organization-owned"
                    },
                    "awsAccessKey": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The AWS access key to use for authentication",
                        "maxLength": 255
                    },
                    "awsSecretAccessKey": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The AWS secret access key to use for authentication",
                        "maxLength": 255
                    }
                },
                "required": [
                    "type",
                    "name"
                ],
                "title": "UpdateDockerRegistryRequest"
            },
            "UpdateServerConfigRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the server configuration",
                        "maxLength": 255
                    },
                    "args": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The arguments to pass to the command (overrides CMD of the Dockerfile)",
                        "example": "\/usr\/local\/etc\/enshrouded\/bootstrap",
                        "maxLength": 255
                    },
                    "command": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The command to run in the container (overrides ENTRYPOINT of the Dockerfile)",
                        "maxLength": 255
                    },
                    "notes": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The notes of the server config - to keep track of things and to inform colleagues",
                        "maxLength": 255
                    },
                    "binaryId": {
                        "type": "integer",
                        "description": "The binary id of the server configuration"
                    },
                    "resourcePackageSlug": {
                        "type": "string",
                        "description": "The slug of the resource package",
                        "maxLength": 255
                    },
                    "dnsServiceEnabled": {
                        "type": "boolean",
                        "description": "Enable service-level DNS"
                    },
                    "configFiles": {
                        "type": "array",
                        "description": "The config files used in this server configuration",
                        "items": {
                            "$ref": "#\/components\/schemas\/ConfigFile"
                        }
                    },
                    "secretFiles": {
                        "type": "array",
                        "description": "The secret files used in this server configuration",
                        "items": {
                            "$ref": "#\/components\/schemas\/SecretFile"
                        }
                    },
                    "restartPolicy": {
                        "description": "The restart policy of the server configuration",
                        "$ref": "#\/components\/schemas\/RestartPolicy"
                    },
                    "env": {
                        "type": "array",
                        "description": "The environment variables used in this server configuration",
                        "items": {
                            "$ref": "#\/components\/schemas\/EnvironmentVariableDefinition"
                        }
                    },
                    "mounts": {
                        "type": "array",
                        "description": "The mounts used in this server configuration",
                        "items": {
                            "$ref": "#\/components\/schemas\/Mount"
                        }
                    },
                    "ports": {
                        "type": "array",
                        "description": "The port definitions",
                        "items": {
                            "$ref": "#\/components\/schemas\/PortDefinitionRequest"
                        }
                    }
                },
                "required": [
                    "name",
                    "binaryId",
                    "resourcePackageSlug"
                ],
                "title": "UpdateServerConfigRequest"
            },
            "Wallet": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the wallet."
                    },
                    "balance": {
                        "type": "number",
                        "description": "The balance of the wallet."
                    },
                    "scope": {
                        "description": "The scope of the wallet.",
                        "$ref": "#\/components\/schemas\/WalletScope"
                    },
                    "initialBalance": {
                        "type": "number",
                        "description": "The initial balance of the wallet."
                    },
                    "rechargeAmount": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "The recharge amount or null if none."
                    },
                    "rechargeAt": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "Next recharge date or null if none."
                    },
                    "updatedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "When the wallet was last updated."
                    },
                    "currency": {
                        "description": "The currency of the wallet",
                        "$ref": "#\/components\/schemas\/WalletCurrency"
                    }
                },
                "required": [
                    "id",
                    "balance",
                    "scope",
                    "initialBalance",
                    "rechargeAmount",
                    "rechargeAt",
                    "updatedAt",
                    "currency"
                ],
                "title": "Wallet"
            },
            "WalletCurrency": {
                "type": "object",
                "properties": {
                    "code": {
                        "type": "string",
                        "description": "Unique code, e.g. 'CPUH'"
                    },
                    "name": {
                        "type": "string",
                        "description": "Human-readable currency name, e.g. 'CPU-hours'"
                    }
                },
                "required": [
                    "code",
                    "name"
                ],
                "title": "WalletCurrency"
            },
            "WalletCurrencyCode": {
                "type": "string",
                "enum": [
                    "CPUH",
                    "CPUH_INDIE",
                    "CPUH_MINI",
                    "RAMH",
                    "RAMH_INDIE",
                    "RAMH_MINI",
                    "EUR"
                ],
                "title": "WalletCurrencyCode"
            },
            "WalletScope": {
                "type": "string",
                "enum": [
                    "user",
                    "app"
                ],
                "title": "WalletScope"
            }
        },
        "responses": {
            "AuthorizationException": {
                "description": "Authorization error",
                "content": {
                    "application\/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "ModelNotFoundException": {
                "description": "Not found",
                "content": {
                    "application\/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "AuthenticationException": {
                "description": "Unauthenticated",
                "content": {
                    "application\/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "ValidationException": {
                "description": "Validation error",
                "content": {
                    "application\/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Errors overview."
                                },
                                "errors": {
                                    "type": "object",
                                    "description": "A detailed description of each field that failed validation.",
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "required": [
                                "message",
                                "errors"
                            ]
                        }
                    }
                }
            }
        }
    }
}