{ "openapi": "3.1.0", "info": { "title": "Dokploy API", "description": "Complete API documentation for Dokploy - Deploy applications, manage databases, and orchestrate your infrastructure. This API allows you to programmatically manage all aspects of your Dokploy instance.", "version": "1.0.0", "contact": { "name": "Dokploy Team", "url": "https://dokploy.com" }, "license": { "name": "Apache 2.0", "url": "https://github.com/dokploy/dokploy/blob/canary/LICENSE" } }, "servers": [ { "url": "https://your-dokploy-instance.com/api" } ], "tags": [ { "name": "admin" }, { "name": "docker" }, { "name": "compose" }, { "name": "registry" }, { "name": "cluster" }, { "name": "user" }, { "name": "domain" }, { "name": "destination" }, { "name": "backup" }, { "name": "deployment" }, { "name": "mounts" }, { "name": "certificates" }, { "name": "settings" }, { "name": "security" }, { "name": "redirects" }, { "name": "port" }, { "name": "project" }, { "name": "application" }, { "name": "mysql" }, { "name": "postgres" }, { "name": "redis" }, { "name": "mongo" }, { "name": "mariadb" }, { "name": "sshRouter" }, { "name": "gitProvider" }, { "name": "bitbucket" }, { "name": "github" }, { "name": "gitlab" }, { "name": "gitea" }, { "name": "server" }, { "name": "swarm" }, { "name": "ai" }, { "name": "organization" }, { "name": "schedule" }, { "name": "rollback" }, { "name": "volumeBackups" }, { "name": "environment" } ], "externalDocs": { "description": "Full documentation", "url": "https://docs.dokploy.com" }, "paths": { "/admin/setupMonitoring": { "post": { "operationId": "admin-setupMonitoring", "tags": [ "admin" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "metricsConfig": { "type": "object", "properties": { "server": { "type": "object", "properties": { "refreshRate": { "type": "number", "minimum": 2 }, "port": { "type": "number", "minimum": 1 }, "token": { "type": "string" }, "urlCallback": { "type": "string", "format": "uri" }, "retentionDays": { "type": "number", "minimum": 1 }, "cronJob": { "type": "string", "minLength": 1 }, "thresholds": { "type": "object", "properties": { "cpu": { "type": "number", "minimum": 0 }, "memory": { "type": "number", "minimum": 0 } }, "required": [ "cpu", "memory" ] } }, "required": [ "refreshRate", "port", "token", "urlCallback", "retentionDays", "cronJob", "thresholds" ] }, "containers": { "type": "object", "properties": { "refreshRate": { "type": "number", "minimum": 2 }, "services": { "type": "object", "properties": { "include": { "type": "array", "items": { "type": "string" } }, "exclude": { "type": "array", "items": { "type": "string" } } } } }, "required": [ "refreshRate", "services" ] } }, "required": [ "server", "containers" ] } }, "required": [ "metricsConfig" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/docker/getContainers": { "get": { "operationId": "docker-getContainers", "tags": [ "docker" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/docker/restartContainer": { "post": { "operationId": "docker-restartContainer", "tags": [ "docker" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "containerId": { "type": "string", "minLength": 1, "pattern": "^[a-zA-Z0-9.\\-_]+$" } }, "required": [ "containerId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/docker/getConfig": { "get": { "operationId": "docker-getConfig", "tags": [ "docker" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "containerId", "schema": { "type": "string", "minLength": 1, "pattern": "^[a-zA-Z0-9.\\-_]+$" }, "required": true }, { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/docker/getContainersByAppNameMatch": { "get": { "operationId": "docker-getContainersByAppNameMatch", "tags": [ "docker" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "appType", "schema": { "type": "string", "enum": [ "stack", "docker-compose" ] } }, { "in": "query", "name": "appName", "schema": { "type": "string", "minLength": 1, "pattern": "^[a-zA-Z0-9.\\-_]+$" }, "required": true }, { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/docker/getContainersByAppLabel": { "get": { "operationId": "docker-getContainersByAppLabel", "tags": [ "docker" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "appName", "schema": { "type": "string", "minLength": 1, "pattern": "^[a-zA-Z0-9.\\-_]+$" }, "required": true }, { "in": "query", "name": "serverId", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string", "enum": [ "standalone", "swarm" ] }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/docker/getStackContainersByAppName": { "get": { "operationId": "docker-getStackContainersByAppName", "tags": [ "docker" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "appName", "schema": { "type": "string", "minLength": 1, "pattern": "^[a-zA-Z0-9.\\-_]+$" }, "required": true }, { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/docker/getServiceContainersByAppName": { "get": { "operationId": "docker-getServiceContainersByAppName", "tags": [ "docker" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "appName", "schema": { "type": "string", "minLength": 1, "pattern": "^[a-zA-Z0-9.\\-_]+$" }, "required": true }, { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/project/create": { "post": { "operationId": "project-create", "tags": [ "project" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "env": { "type": "string" } }, "required": [ "name" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/project/one": { "get": { "operationId": "project-one", "tags": [ "project" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "projectId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/project/all": { "get": { "operationId": "project-all", "tags": [ "project" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/project/remove": { "post": { "operationId": "project-remove", "tags": [ "project" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "projectId": { "type": "string", "minLength": 1 } }, "required": [ "projectId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/project/update": { "post": { "operationId": "project-update", "tags": [ "project" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "projectId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "organizationId": { "type": "string" }, "env": { "type": "string" } }, "required": [ "projectId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/project/duplicate": { "post": { "operationId": "project-duplicate", "tags": [ "project" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "sourceEnvironmentId": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "includeServices": { "default": true, "type": "boolean" }, "selectedServices": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "application", "postgres", "mariadb", "mongo", "mysql", "redis", "compose" ] } }, "required": [ "id", "type" ] } }, "duplicateInSameProject": { "default": false, "type": "boolean" } }, "required": [ "sourceEnvironmentId", "name" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/create": { "post": { "operationId": "application-create", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "environmentId": { "type": "string" }, "serverId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "name", "environmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/one": { "get": { "operationId": "application-one", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "applicationId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/reload": { "post": { "operationId": "application-reload", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "applicationId": { "type": "string" } }, "required": [ "appName", "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/delete": { "post": { "operationId": "application-delete", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/stop": { "post": { "operationId": "application-stop", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/start": { "post": { "operationId": "application-start", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/redeploy": { "post": { "operationId": "application-redeploy", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 }, "title": { "type": "string" }, "description": { "type": "string" } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/saveEnvironment": { "post": { "operationId": "application-saveEnvironment", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string" }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "buildArgs": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "buildSecrets": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createEnvFile": { "type": "boolean" } }, "required": [ "applicationId", "env", "buildArgs", "buildSecrets", "createEnvFile" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/saveBuildType": { "post": { "operationId": "application-saveBuildType", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string" }, "buildType": { "type": "string", "enum": [ "dockerfile", "heroku_buildpacks", "paketo_buildpacks", "nixpacks", "static", "railpack" ] }, "dockerfile": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "dockerContextPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "dockerBuildStage": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "herokuVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "railpackVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "publishDirectory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "isStaticSpa": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] } }, "required": [ "applicationId", "buildType", "dockerfile", "dockerContextPath", "dockerBuildStage", "herokuVersion", "railpackVersion" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/saveGithubProvider": { "post": { "operationId": "application-saveGithubProvider", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string" }, "repository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "branch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "owner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "buildPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "githubId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "watchPaths": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "enableSubmodules": { "type": "boolean" }, "triggerType": { "default": "push", "type": "string", "enum": [ "push", "tag" ] } }, "required": [ "applicationId", "repository", "branch", "owner", "buildPath", "githubId", "watchPaths", "enableSubmodules" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/saveGitlabProvider": { "post": { "operationId": "application-saveGitlabProvider", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string" }, "gitlabBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabBuildPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabOwner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabRepository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabProjectId": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "gitlabPathNamespace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "watchPaths": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "enableSubmodules": { "type": "boolean" } }, "required": [ "applicationId", "gitlabBranch", "gitlabBuildPath", "gitlabOwner", "gitlabRepository", "gitlabId", "gitlabProjectId", "gitlabPathNamespace", "watchPaths", "enableSubmodules" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/saveBitbucketProvider": { "post": { "operationId": "application-saveBitbucketProvider", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "bitbucketBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketBuildPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketOwner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketRepository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketRepositorySlug": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "applicationId": { "type": "string" }, "watchPaths": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "enableSubmodules": { "type": "boolean" } }, "required": [ "bitbucketBranch", "bitbucketBuildPath", "bitbucketOwner", "bitbucketRepository", "bitbucketRepositorySlug", "bitbucketId", "applicationId", "watchPaths", "enableSubmodules" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/saveGiteaProvider": { "post": { "operationId": "application-saveGiteaProvider", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string" }, "giteaBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaBuildPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaOwner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaRepository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "watchPaths": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "enableSubmodules": { "type": "boolean" } }, "required": [ "applicationId", "giteaBranch", "giteaBuildPath", "giteaOwner", "giteaRepository", "giteaId", "watchPaths", "enableSubmodules" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/saveDockerProvider": { "post": { "operationId": "application-saveDockerProvider", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "dockerImage": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "applicationId": { "type": "string" }, "username": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "password": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "registryUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "dockerImage", "applicationId", "username", "password", "registryUrl" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/saveGitProvider": { "post": { "operationId": "application-saveGitProvider", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "customGitBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "applicationId": { "type": "string" }, "customGitBuildPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "customGitUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "watchPaths": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "enableSubmodules": { "type": "boolean" }, "customGitSSHKeyId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "customGitBranch", "applicationId", "customGitBuildPath", "customGitUrl", "watchPaths", "enableSubmodules" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/disconnectGitProvider": { "post": { "operationId": "application-disconnectGitProvider", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/markRunning": { "post": { "operationId": "application-markRunning", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/update": { "post": { "operationId": "application-update", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "previewEnv": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "watchPaths": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "previewBuildArgs": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "previewBuildSecrets": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "previewLabels": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "previewWildcard": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "previewPort": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "previewHttps": { "type": "boolean" }, "previewPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "previewCertificateType": { "type": "string", "enum": [ "letsencrypt", "none", "custom" ] }, "previewCustomCertResolver": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "previewLimit": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "isPreviewDeploymentsActive": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "previewRequireCollaboratorPermissions": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "rollbackActive": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "buildArgs": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "buildSecrets": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memoryReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memoryLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "subtitle": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "command": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "args": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "refreshToken": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "sourceType": { "type": "string", "enum": [ "github", "docker", "git", "gitlab", "bitbucket", "gitea", "drop" ] }, "cleanCache": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "repository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "owner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "branch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "buildPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "triggerType": { "anyOf": [ { "type": "string", "enum": [ "push", "tag" ] }, { "type": "null" } ] }, "autoDeploy": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "gitlabProjectId": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "gitlabRepository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabOwner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabBuildPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabPathNamespace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaRepository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaOwner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaBuildPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketRepository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketRepositorySlug": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketOwner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketBuildPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "username": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "password": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "dockerImage": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "registryUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "customGitUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "customGitBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "customGitBuildPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "customGitSSHKeyId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "enableSubmodules": { "type": "boolean" }, "dockerfile": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "dockerContextPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "dockerBuildStage": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "dropBuildPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "healthCheckSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Test": { "type": "array", "items": { "type": "string" } }, "Interval": { "type": "number" }, "Timeout": { "type": "number" }, "StartPeriod": { "type": "number" }, "Retries": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "restartPolicySwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Condition": { "type": "string" }, "Delay": { "type": "number" }, "MaxAttempts": { "type": "number" }, "Window": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "placementSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Constraints": { "type": "array", "items": { "type": "string" } }, "Preferences": { "type": "array", "items": { "type": "object", "properties": { "Spread": { "type": "object", "properties": { "SpreadDescriptor": { "type": "string" } }, "required": [ "SpreadDescriptor" ] } }, "required": [ "Spread" ], "additionalProperties": false } }, "MaxReplicas": { "type": "number" }, "Platforms": { "type": "array", "items": { "type": "object", "properties": { "Architecture": { "type": "string" }, "OS": { "type": "string" } }, "required": [ "Architecture", "OS" ], "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "updateConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "rollbackConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "modeSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Replicated": { "type": "object", "properties": { "Replicas": { "type": "number" } }, "additionalProperties": false }, "Global": { "type": "object", "properties": {} }, "ReplicatedJob": { "type": "object", "properties": { "MaxConcurrent": { "type": "number" }, "TotalCompletions": { "type": "number" } }, "additionalProperties": false }, "GlobalJob": { "type": "object", "properties": {} } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "labelsSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } }, { "type": "null" } ] }, { "type": "null" } ] }, "networkSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Target": { "type": "string" }, "Aliases": { "type": "array", "items": { "type": "string" } }, "DriverOpts": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } } }, "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "stopGracePeriodSwarm": { "anyOf": [ { "anyOf": [ { "type": "integer", "format": "int64" }, { "type": "null" } ] }, { "type": "null" } ] }, "endpointSpecSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Mode": { "type": "string" }, "Ports": { "type": "array", "items": { "type": "object", "properties": { "Protocol": { "type": "string" }, "TargetPort": { "type": "number" }, "PublishedPort": { "type": "number" }, "PublishMode": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "ulimitsSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Name": { "type": "string", "minLength": 1 }, "Soft": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 }, "Hard": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 } }, "required": [ "Name", "Soft", "Hard" ], "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "replicas": { "type": "number" }, "applicationStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] }, "buildType": { "type": "string", "enum": [ "dockerfile", "heroku_buildpacks", "paketo_buildpacks", "nixpacks", "static", "railpack" ] }, "railpackVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "herokuVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "publishDirectory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "isStaticSpa": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "createEnvFile": { "type": "boolean" }, "createdAt": { "type": "string" }, "registryId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "rollbackRegistryId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "environmentId": { "type": "string" }, "githubId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "buildServerId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "buildRegistryId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/refreshToken": { "post": { "operationId": "application-refreshToken", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/deploy": { "post": { "operationId": "application-deploy", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 }, "title": { "type": "string" }, "description": { "type": "string" } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/cleanQueues": { "post": { "operationId": "application-cleanQueues", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/clearDeployments": { "post": { "operationId": "application-clearDeployments", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/killBuild": { "post": { "operationId": "application-killBuild", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/readTraefikConfig": { "get": { "operationId": "application-readTraefikConfig", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "applicationId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/updateTraefikConfig": { "post": { "operationId": "application-updateTraefikConfig", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string" }, "traefikConfig": { "type": "string" } }, "required": [ "applicationId", "traefikConfig" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/readAppMonitoring": { "get": { "operationId": "application-readAppMonitoring", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "appName", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/move": { "post": { "operationId": "application-move", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string" }, "targetEnvironmentId": { "type": "string" } }, "required": [ "applicationId", "targetEnvironmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/cancelDeployment": { "post": { "operationId": "application-cancelDeployment", "tags": [ "application" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "minLength": 1 } }, "required": [ "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/create": { "post": { "operationId": "mysql-create", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "dockerImage": { "default": "mysql:8", "type": "string" }, "environmentId": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "databaseName": { "type": "string", "minLength": 1 }, "databaseUser": { "type": "string", "minLength": 1 }, "databasePassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "databaseRootPassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "serverId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "name", "environmentId", "databaseName", "databaseUser", "databasePassword" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/one": { "get": { "operationId": "mysql-one", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "mysqlId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/start": { "post": { "operationId": "mysql-start", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mysqlId": { "type": "string", "minLength": 1 } }, "required": [ "mysqlId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/stop": { "post": { "operationId": "mysql-stop", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mysqlId": { "type": "string", "minLength": 1 } }, "required": [ "mysqlId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/saveExternalPort": { "post": { "operationId": "mysql-saveExternalPort", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mysqlId": { "type": "string" }, "externalPort": { "anyOf": [ { "type": "number" }, { "type": "null" } ] } }, "required": [ "mysqlId", "externalPort" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/deploy": { "post": { "operationId": "mysql-deploy", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mysqlId": { "type": "string" } }, "required": [ "mysqlId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/changeStatus": { "post": { "operationId": "mysql-changeStatus", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mysqlId": { "type": "string" }, "applicationStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] } }, "required": [ "mysqlId", "applicationStatus" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/reload": { "post": { "operationId": "mysql-reload", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mysqlId": { "type": "string" }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" } }, "required": [ "mysqlId", "appName" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/remove": { "post": { "operationId": "mysql-remove", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mysqlId": { "type": "string", "minLength": 1 } }, "required": [ "mysqlId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/saveEnvironment": { "post": { "operationId": "mysql-saveEnvironment", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mysqlId": { "type": "string" }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "mysqlId", "env" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/update": { "post": { "operationId": "mysql-update", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mysqlId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "databaseName": { "type": "string", "minLength": 1 }, "databaseUser": { "type": "string", "minLength": 1 }, "databasePassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "databaseRootPassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "dockerImage": { "default": "mysql:8", "type": "string" }, "command": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "args": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memoryReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memoryLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "externalPort": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "applicationStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] }, "healthCheckSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Test": { "type": "array", "items": { "type": "string" } }, "Interval": { "type": "number" }, "Timeout": { "type": "number" }, "StartPeriod": { "type": "number" }, "Retries": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "restartPolicySwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Condition": { "type": "string" }, "Delay": { "type": "number" }, "MaxAttempts": { "type": "number" }, "Window": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "placementSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Constraints": { "type": "array", "items": { "type": "string" } }, "Preferences": { "type": "array", "items": { "type": "object", "properties": { "Spread": { "type": "object", "properties": { "SpreadDescriptor": { "type": "string" } }, "required": [ "SpreadDescriptor" ] } }, "required": [ "Spread" ], "additionalProperties": false } }, "MaxReplicas": { "type": "number" }, "Platforms": { "type": "array", "items": { "type": "object", "properties": { "Architecture": { "type": "string" }, "OS": { "type": "string" } }, "required": [ "Architecture", "OS" ], "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "updateConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "rollbackConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "modeSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Replicated": { "type": "object", "properties": { "Replicas": { "type": "number" } }, "additionalProperties": false }, "Global": { "type": "object", "properties": {} }, "ReplicatedJob": { "type": "object", "properties": { "MaxConcurrent": { "type": "number" }, "TotalCompletions": { "type": "number" } }, "additionalProperties": false }, "GlobalJob": { "type": "object", "properties": {} } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "labelsSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } }, { "type": "null" } ] }, { "type": "null" } ] }, "networkSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Target": { "type": "string" }, "Aliases": { "type": "array", "items": { "type": "string" } }, "DriverOpts": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } } }, "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "stopGracePeriodSwarm": { "anyOf": [ { "anyOf": [ { "type": "integer", "format": "int64" }, { "type": "null" } ] }, { "type": "null" } ] }, "endpointSpecSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Mode": { "type": "string" }, "Ports": { "type": "array", "items": { "type": "object", "properties": { "Protocol": { "type": "string" }, "TargetPort": { "type": "number" }, "PublishedPort": { "type": "number" }, "PublishMode": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "ulimitsSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Name": { "type": "string", "minLength": 1 }, "Soft": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 }, "Hard": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 } }, "required": [ "Name", "Soft", "Hard" ], "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "replicas": { "type": "number" }, "createdAt": { "type": "string" }, "environmentId": { "type": "string" } }, "required": [ "mysqlId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/move": { "post": { "operationId": "mysql-move", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mysqlId": { "type": "string" }, "targetEnvironmentId": { "type": "string" } }, "required": [ "mysqlId", "targetEnvironmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mysql/rebuild": { "post": { "operationId": "mysql-rebuild", "tags": [ "mysql" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mysqlId": { "type": "string" } }, "required": [ "mysqlId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/create": { "post": { "operationId": "postgres-create", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "databaseName": { "type": "string", "minLength": 1 }, "databaseUser": { "type": "string", "minLength": 1 }, "databasePassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "dockerImage": { "default": "postgres:18", "type": "string" }, "environmentId": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serverId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "name", "databaseName", "databaseUser", "databasePassword", "environmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/one": { "get": { "operationId": "postgres-one", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "postgresId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/start": { "post": { "operationId": "postgres-start", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "postgresId": { "type": "string", "minLength": 1 } }, "required": [ "postgresId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/stop": { "post": { "operationId": "postgres-stop", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "postgresId": { "type": "string", "minLength": 1 } }, "required": [ "postgresId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/saveExternalPort": { "post": { "operationId": "postgres-saveExternalPort", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "postgresId": { "type": "string" }, "externalPort": { "anyOf": [ { "type": "number" }, { "type": "null" } ] } }, "required": [ "postgresId", "externalPort" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/deploy": { "post": { "operationId": "postgres-deploy", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "postgresId": { "type": "string" } }, "required": [ "postgresId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/changeStatus": { "post": { "operationId": "postgres-changeStatus", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "postgresId": { "type": "string" }, "applicationStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] } }, "required": [ "postgresId", "applicationStatus" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/remove": { "post": { "operationId": "postgres-remove", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "postgresId": { "type": "string", "minLength": 1 } }, "required": [ "postgresId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/saveEnvironment": { "post": { "operationId": "postgres-saveEnvironment", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "postgresId": { "type": "string" }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "postgresId", "env" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/reload": { "post": { "operationId": "postgres-reload", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "postgresId": { "type": "string" }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" } }, "required": [ "postgresId", "appName" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/update": { "post": { "operationId": "postgres-update", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "postgresId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "databaseName": { "type": "string", "minLength": 1 }, "databaseUser": { "type": "string", "minLength": 1 }, "databasePassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "dockerImage": { "default": "postgres:18", "type": "string" }, "command": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "args": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memoryReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "externalPort": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "memoryLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "applicationStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] }, "healthCheckSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Test": { "type": "array", "items": { "type": "string" } }, "Interval": { "type": "number" }, "Timeout": { "type": "number" }, "StartPeriod": { "type": "number" }, "Retries": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "restartPolicySwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Condition": { "type": "string" }, "Delay": { "type": "number" }, "MaxAttempts": { "type": "number" }, "Window": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "placementSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Constraints": { "type": "array", "items": { "type": "string" } }, "Preferences": { "type": "array", "items": { "type": "object", "properties": { "Spread": { "type": "object", "properties": { "SpreadDescriptor": { "type": "string" } }, "required": [ "SpreadDescriptor" ] } }, "required": [ "Spread" ], "additionalProperties": false } }, "MaxReplicas": { "type": "number" }, "Platforms": { "type": "array", "items": { "type": "object", "properties": { "Architecture": { "type": "string" }, "OS": { "type": "string" } }, "required": [ "Architecture", "OS" ], "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "updateConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "rollbackConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "modeSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Replicated": { "type": "object", "properties": { "Replicas": { "type": "number" } }, "additionalProperties": false }, "Global": { "type": "object", "properties": {} }, "ReplicatedJob": { "type": "object", "properties": { "MaxConcurrent": { "type": "number" }, "TotalCompletions": { "type": "number" } }, "additionalProperties": false }, "GlobalJob": { "type": "object", "properties": {} } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "labelsSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } }, { "type": "null" } ] }, { "type": "null" } ] }, "networkSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Target": { "type": "string" }, "Aliases": { "type": "array", "items": { "type": "string" } }, "DriverOpts": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } } }, "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "stopGracePeriodSwarm": { "anyOf": [ { "anyOf": [ { "type": "integer", "format": "int64" }, { "type": "null" } ] }, { "type": "null" } ] }, "endpointSpecSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Mode": { "type": "string" }, "Ports": { "type": "array", "items": { "type": "object", "properties": { "Protocol": { "type": "string" }, "TargetPort": { "type": "number" }, "PublishedPort": { "type": "number" }, "PublishMode": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "ulimitsSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Name": { "type": "string", "minLength": 1 }, "Soft": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 }, "Hard": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 } }, "required": [ "Name", "Soft", "Hard" ], "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "replicas": { "type": "number" }, "createdAt": { "type": "string" }, "environmentId": { "type": "string" } }, "required": [ "postgresId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/move": { "post": { "operationId": "postgres-move", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "postgresId": { "type": "string" }, "targetEnvironmentId": { "type": "string" } }, "required": [ "postgresId", "targetEnvironmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/postgres/rebuild": { "post": { "operationId": "postgres-rebuild", "tags": [ "postgres" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "postgresId": { "type": "string" } }, "required": [ "postgresId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/create": { "post": { "operationId": "redis-create", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "databasePassword": { "type": "string" }, "dockerImage": { "default": "redis:8", "type": "string" }, "environmentId": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serverId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "name", "databasePassword", "environmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/one": { "get": { "operationId": "redis-one", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "redisId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/start": { "post": { "operationId": "redis-start", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redisId": { "type": "string", "minLength": 1 } }, "required": [ "redisId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/reload": { "post": { "operationId": "redis-reload", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redisId": { "type": "string" }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" } }, "required": [ "redisId", "appName" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/stop": { "post": { "operationId": "redis-stop", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redisId": { "type": "string", "minLength": 1 } }, "required": [ "redisId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/saveExternalPort": { "post": { "operationId": "redis-saveExternalPort", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redisId": { "type": "string" }, "externalPort": { "anyOf": [ { "type": "number" }, { "type": "null" } ] } }, "required": [ "redisId", "externalPort" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/deploy": { "post": { "operationId": "redis-deploy", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redisId": { "type": "string" } }, "required": [ "redisId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/changeStatus": { "post": { "operationId": "redis-changeStatus", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redisId": { "type": "string" }, "applicationStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] } }, "required": [ "redisId", "applicationStatus" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/remove": { "post": { "operationId": "redis-remove", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redisId": { "type": "string", "minLength": 1 } }, "required": [ "redisId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/saveEnvironment": { "post": { "operationId": "redis-saveEnvironment", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redisId": { "type": "string" }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "redisId", "env" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/update": { "post": { "operationId": "redis-update", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redisId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "databasePassword": { "type": "string" }, "dockerImage": { "default": "redis:8", "type": "string" }, "command": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "args": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memoryReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memoryLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "externalPort": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "applicationStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] }, "healthCheckSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Test": { "type": "array", "items": { "type": "string" } }, "Interval": { "type": "number" }, "Timeout": { "type": "number" }, "StartPeriod": { "type": "number" }, "Retries": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "restartPolicySwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Condition": { "type": "string" }, "Delay": { "type": "number" }, "MaxAttempts": { "type": "number" }, "Window": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "placementSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Constraints": { "type": "array", "items": { "type": "string" } }, "Preferences": { "type": "array", "items": { "type": "object", "properties": { "Spread": { "type": "object", "properties": { "SpreadDescriptor": { "type": "string" } }, "required": [ "SpreadDescriptor" ] } }, "required": [ "Spread" ], "additionalProperties": false } }, "MaxReplicas": { "type": "number" }, "Platforms": { "type": "array", "items": { "type": "object", "properties": { "Architecture": { "type": "string" }, "OS": { "type": "string" } }, "required": [ "Architecture", "OS" ], "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "updateConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "rollbackConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "modeSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Replicated": { "type": "object", "properties": { "Replicas": { "type": "number" } }, "additionalProperties": false }, "Global": { "type": "object", "properties": {} }, "ReplicatedJob": { "type": "object", "properties": { "MaxConcurrent": { "type": "number" }, "TotalCompletions": { "type": "number" } }, "additionalProperties": false }, "GlobalJob": { "type": "object", "properties": {} } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "labelsSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } }, { "type": "null" } ] }, { "type": "null" } ] }, "networkSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Target": { "type": "string" }, "Aliases": { "type": "array", "items": { "type": "string" } }, "DriverOpts": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } } }, "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "stopGracePeriodSwarm": { "anyOf": [ { "anyOf": [ { "type": "integer", "format": "int64" }, { "type": "null" } ] }, { "type": "null" } ] }, "endpointSpecSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Mode": { "type": "string" }, "Ports": { "type": "array", "items": { "type": "object", "properties": { "Protocol": { "type": "string" }, "TargetPort": { "type": "number" }, "PublishedPort": { "type": "number" }, "PublishMode": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "ulimitsSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Name": { "type": "string", "minLength": 1 }, "Soft": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 }, "Hard": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 } }, "required": [ "Name", "Soft", "Hard" ], "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "replicas": { "type": "number" }, "environmentId": { "type": "string" } }, "required": [ "redisId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/move": { "post": { "operationId": "redis-move", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redisId": { "type": "string" }, "targetEnvironmentId": { "type": "string" } }, "required": [ "redisId", "targetEnvironmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redis/rebuild": { "post": { "operationId": "redis-rebuild", "tags": [ "redis" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redisId": { "type": "string" } }, "required": [ "redisId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/create": { "post": { "operationId": "mongo-create", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "dockerImage": { "default": "mongo:15", "type": "string" }, "environmentId": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "databaseUser": { "type": "string", "minLength": 1 }, "databasePassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "serverId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "replicaSets": { "anyOf": [ { "default": false, "type": "boolean" }, { "type": "null" } ] } }, "required": [ "name", "environmentId", "databaseUser", "databasePassword" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/one": { "get": { "operationId": "mongo-one", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "mongoId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/start": { "post": { "operationId": "mongo-start", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mongoId": { "type": "string", "minLength": 1 } }, "required": [ "mongoId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/stop": { "post": { "operationId": "mongo-stop", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mongoId": { "type": "string", "minLength": 1 } }, "required": [ "mongoId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/saveExternalPort": { "post": { "operationId": "mongo-saveExternalPort", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mongoId": { "type": "string" }, "externalPort": { "anyOf": [ { "type": "number" }, { "type": "null" } ] } }, "required": [ "mongoId", "externalPort" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/deploy": { "post": { "operationId": "mongo-deploy", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mongoId": { "type": "string" } }, "required": [ "mongoId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/changeStatus": { "post": { "operationId": "mongo-changeStatus", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mongoId": { "type": "string" }, "applicationStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] } }, "required": [ "mongoId", "applicationStatus" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/reload": { "post": { "operationId": "mongo-reload", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mongoId": { "type": "string" }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" } }, "required": [ "mongoId", "appName" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/remove": { "post": { "operationId": "mongo-remove", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mongoId": { "type": "string", "minLength": 1 } }, "required": [ "mongoId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/saveEnvironment": { "post": { "operationId": "mongo-saveEnvironment", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mongoId": { "type": "string" }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "mongoId", "env" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/update": { "post": { "operationId": "mongo-update", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mongoId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "databaseUser": { "type": "string", "minLength": 1 }, "databasePassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "dockerImage": { "default": "mongo:15", "type": "string" }, "command": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "args": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memoryReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memoryLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "externalPort": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "applicationStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] }, "healthCheckSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Test": { "type": "array", "items": { "type": "string" } }, "Interval": { "type": "number" }, "Timeout": { "type": "number" }, "StartPeriod": { "type": "number" }, "Retries": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "restartPolicySwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Condition": { "type": "string" }, "Delay": { "type": "number" }, "MaxAttempts": { "type": "number" }, "Window": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "placementSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Constraints": { "type": "array", "items": { "type": "string" } }, "Preferences": { "type": "array", "items": { "type": "object", "properties": { "Spread": { "type": "object", "properties": { "SpreadDescriptor": { "type": "string" } }, "required": [ "SpreadDescriptor" ] } }, "required": [ "Spread" ], "additionalProperties": false } }, "MaxReplicas": { "type": "number" }, "Platforms": { "type": "array", "items": { "type": "object", "properties": { "Architecture": { "type": "string" }, "OS": { "type": "string" } }, "required": [ "Architecture", "OS" ], "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "updateConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "rollbackConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "modeSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Replicated": { "type": "object", "properties": { "Replicas": { "type": "number" } }, "additionalProperties": false }, "Global": { "type": "object", "properties": {} }, "ReplicatedJob": { "type": "object", "properties": { "MaxConcurrent": { "type": "number" }, "TotalCompletions": { "type": "number" } }, "additionalProperties": false }, "GlobalJob": { "type": "object", "properties": {} } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "labelsSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } }, { "type": "null" } ] }, { "type": "null" } ] }, "networkSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Target": { "type": "string" }, "Aliases": { "type": "array", "items": { "type": "string" } }, "DriverOpts": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } } }, "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "stopGracePeriodSwarm": { "anyOf": [ { "anyOf": [ { "type": "integer", "format": "int64" }, { "type": "null" } ] }, { "type": "null" } ] }, "endpointSpecSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Mode": { "type": "string" }, "Ports": { "type": "array", "items": { "type": "object", "properties": { "Protocol": { "type": "string" }, "TargetPort": { "type": "number" }, "PublishedPort": { "type": "number" }, "PublishMode": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "ulimitsSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Name": { "type": "string", "minLength": 1 }, "Soft": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 }, "Hard": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 } }, "required": [ "Name", "Soft", "Hard" ], "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "replicas": { "type": "number" }, "createdAt": { "type": "string" }, "environmentId": { "type": "string" }, "replicaSets": { "anyOf": [ { "default": false, "type": "boolean" }, { "type": "null" } ] } }, "required": [ "mongoId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/move": { "post": { "operationId": "mongo-move", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mongoId": { "type": "string" }, "targetEnvironmentId": { "type": "string" } }, "required": [ "mongoId", "targetEnvironmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mongo/rebuild": { "post": { "operationId": "mongo-rebuild", "tags": [ "mongo" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mongoId": { "type": "string" } }, "required": [ "mongoId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/create": { "post": { "operationId": "mariadb-create", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "dockerImage": { "default": "mariadb:6", "type": "string" }, "databaseRootPassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "environmentId": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "databaseName": { "type": "string", "minLength": 1 }, "databaseUser": { "type": "string", "minLength": 1 }, "databasePassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "serverId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "name", "environmentId", "databaseName", "databaseUser", "databasePassword" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/one": { "get": { "operationId": "mariadb-one", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "mariadbId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/start": { "post": { "operationId": "mariadb-start", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mariadbId": { "type": "string", "minLength": 1 } }, "required": [ "mariadbId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/stop": { "post": { "operationId": "mariadb-stop", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mariadbId": { "type": "string", "minLength": 1 } }, "required": [ "mariadbId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/saveExternalPort": { "post": { "operationId": "mariadb-saveExternalPort", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mariadbId": { "type": "string" }, "externalPort": { "anyOf": [ { "type": "number" }, { "type": "null" } ] } }, "required": [ "mariadbId", "externalPort" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/deploy": { "post": { "operationId": "mariadb-deploy", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mariadbId": { "type": "string" } }, "required": [ "mariadbId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/changeStatus": { "post": { "operationId": "mariadb-changeStatus", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mariadbId": { "type": "string" }, "applicationStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] } }, "required": [ "mariadbId", "applicationStatus" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/remove": { "post": { "operationId": "mariadb-remove", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mariadbId": { "type": "string", "minLength": 1 } }, "required": [ "mariadbId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/saveEnvironment": { "post": { "operationId": "mariadb-saveEnvironment", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mariadbId": { "type": "string" }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "mariadbId", "env" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/reload": { "post": { "operationId": "mariadb-reload", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mariadbId": { "type": "string" }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" } }, "required": [ "mariadbId", "appName" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/update": { "post": { "operationId": "mariadb-update", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mariadbId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "databaseName": { "type": "string", "minLength": 1 }, "databaseUser": { "type": "string", "minLength": 1 }, "databasePassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "databaseRootPassword": { "type": "string", "pattern": "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" }, "dockerImage": { "default": "mariadb:6", "type": "string" }, "command": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "args": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memoryReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memoryLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuReservation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cpuLimit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "externalPort": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "applicationStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] }, "healthCheckSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Test": { "type": "array", "items": { "type": "string" } }, "Interval": { "type": "number" }, "Timeout": { "type": "number" }, "StartPeriod": { "type": "number" }, "Retries": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "restartPolicySwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Condition": { "type": "string" }, "Delay": { "type": "number" }, "MaxAttempts": { "type": "number" }, "Window": { "type": "number" } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "placementSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Constraints": { "type": "array", "items": { "type": "string" } }, "Preferences": { "type": "array", "items": { "type": "object", "properties": { "Spread": { "type": "object", "properties": { "SpreadDescriptor": { "type": "string" } }, "required": [ "SpreadDescriptor" ] } }, "required": [ "Spread" ], "additionalProperties": false } }, "MaxReplicas": { "type": "number" }, "Platforms": { "type": "array", "items": { "type": "object", "properties": { "Architecture": { "type": "string" }, "OS": { "type": "string" } }, "required": [ "Architecture", "OS" ], "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "updateConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "rollbackConfigSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Parallelism": { "type": "number" }, "Delay": { "type": "number" }, "FailureAction": { "type": "string" }, "Monitor": { "type": "number" }, "MaxFailureRatio": { "type": "number" }, "Order": { "type": "string" } }, "required": [ "Parallelism", "Order" ], "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "modeSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Replicated": { "type": "object", "properties": { "Replicas": { "type": "number" } }, "additionalProperties": false }, "Global": { "type": "object", "properties": {} }, "ReplicatedJob": { "type": "object", "properties": { "MaxConcurrent": { "type": "number" }, "TotalCompletions": { "type": "number" } }, "additionalProperties": false }, "GlobalJob": { "type": "object", "properties": {} } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "labelsSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } }, { "type": "null" } ] }, { "type": "null" } ] }, "networkSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Target": { "type": "string" }, "Aliases": { "type": "array", "items": { "type": "string" } }, "DriverOpts": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } } }, "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "stopGracePeriodSwarm": { "anyOf": [ { "anyOf": [ { "type": "integer", "format": "int64" }, { "type": "null" } ] }, { "type": "null" } ] }, "endpointSpecSwarm": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "Mode": { "type": "string" }, "Ports": { "type": "array", "items": { "type": "object", "properties": { "Protocol": { "type": "string" }, "TargetPort": { "type": "number" }, "PublishedPort": { "type": "number" }, "PublishMode": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false }, { "type": "null" } ] }, { "type": "null" } ] }, "ulimitsSwarm": { "anyOf": [ { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "Name": { "type": "string", "minLength": 1 }, "Soft": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 }, "Hard": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 } }, "required": [ "Name", "Soft", "Hard" ], "additionalProperties": false } }, { "type": "null" } ] }, { "type": "null" } ] }, "replicas": { "type": "number" }, "createdAt": { "type": "string" }, "environmentId": { "type": "string" } }, "required": [ "mariadbId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/move": { "post": { "operationId": "mariadb-move", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mariadbId": { "type": "string" }, "targetEnvironmentId": { "type": "string" } }, "required": [ "mariadbId", "targetEnvironmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mariadb/rebuild": { "post": { "operationId": "mariadb-rebuild", "tags": [ "mariadb" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mariadbId": { "type": "string" } }, "required": [ "mariadbId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/create": { "post": { "operationId": "compose-create", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "environmentId": { "type": "string" }, "composeType": { "type": "string", "enum": [ "docker-compose", "stack" ] }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "serverId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "composeFile": { "type": "string" } }, "required": [ "name", "environmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/one": { "get": { "operationId": "compose-one", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "composeId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/update": { "post": { "operationId": "compose-update", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string" }, "name": { "type": "string", "minLength": 1 }, "appName": { "type": "string", "minLength": 1, "maxLength": 63, "pattern": "^[a-zA-Z0-9._-]+$" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "env": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "composeFile": { "type": "string" }, "refreshToken": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "sourceType": { "type": "string", "enum": [ "git", "github", "gitlab", "bitbucket", "gitea", "raw" ] }, "composeType": { "type": "string", "enum": [ "docker-compose", "stack" ] }, "repository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "owner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "branch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "autoDeploy": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "gitlabProjectId": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "gitlabRepository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabOwner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabPathNamespace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketRepository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketRepositorySlug": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketOwner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaRepository": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaOwner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "customGitUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "customGitBranch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "customGitSSHKeyId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "command": { "type": "string" }, "enableSubmodules": { "type": "boolean" }, "composePath": { "type": "string", "minLength": 1 }, "suffix": { "type": "string" }, "randomize": { "type": "boolean" }, "isolatedDeployment": { "type": "boolean" }, "isolatedDeploymentsVolume": { "type": "boolean" }, "triggerType": { "anyOf": [ { "type": "string", "enum": [ "push", "tag" ] }, { "type": "null" } ] }, "composeStatus": { "type": "string", "enum": [ "idle", "running", "done", "error" ] }, "environmentId": { "type": "string" }, "createdAt": { "type": "string" }, "watchPaths": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "githubId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "gitlabId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bitbucketId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "giteaId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/delete": { "post": { "operationId": "compose-delete", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 }, "deleteVolumes": { "type": "boolean" } }, "required": [ "composeId", "deleteVolumes" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/cleanQueues": { "post": { "operationId": "compose-cleanQueues", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/clearDeployments": { "post": { "operationId": "compose-clearDeployments", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/killBuild": { "post": { "operationId": "compose-killBuild", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/loadServices": { "get": { "operationId": "compose-loadServices", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "composeId", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "type", "schema": { "default": "cache", "type": "string", "enum": [ "fetch", "cache" ] } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/loadMountsByService": { "get": { "operationId": "compose-loadMountsByService", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "composeId", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "serviceName", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/fetchSourceType": { "post": { "operationId": "compose-fetchSourceType", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/randomizeCompose": { "post": { "operationId": "compose-randomizeCompose", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 }, "suffix": { "type": "string" } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/isolatedDeployment": { "post": { "operationId": "compose-isolatedDeployment", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 }, "suffix": { "type": "string" } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/getConvertedCompose": { "get": { "operationId": "compose-getConvertedCompose", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "composeId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/deploy": { "post": { "operationId": "compose-deploy", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 }, "title": { "type": "string" }, "description": { "type": "string" } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/redeploy": { "post": { "operationId": "compose-redeploy", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 }, "title": { "type": "string" }, "description": { "type": "string" } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/stop": { "post": { "operationId": "compose-stop", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/start": { "post": { "operationId": "compose-start", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/getDefaultCommand": { "get": { "operationId": "compose-getDefaultCommand", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "composeId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/refreshToken": { "post": { "operationId": "compose-refreshToken", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/deployTemplate": { "post": { "operationId": "compose-deployTemplate", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "environmentId": { "type": "string" }, "serverId": { "type": "string" }, "id": { "type": "string" }, "baseUrl": { "type": "string" } }, "required": [ "environmentId", "id" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/templates": { "get": { "operationId": "compose-templates", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "baseUrl", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/getTags": { "get": { "operationId": "compose-getTags", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "baseUrl", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/disconnectGitProvider": { "post": { "operationId": "compose-disconnectGitProvider", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/move": { "post": { "operationId": "compose-move", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string" }, "targetEnvironmentId": { "type": "string" } }, "required": [ "composeId", "targetEnvironmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/processTemplate": { "post": { "operationId": "compose-processTemplate", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "base64": { "type": "string" }, "composeId": { "type": "string", "minLength": 1 } }, "required": [ "base64", "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/import": { "post": { "operationId": "compose-import", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "base64": { "type": "string" }, "composeId": { "type": "string", "minLength": 1 } }, "required": [ "base64", "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/compose/cancelDeployment": { "post": { "operationId": "compose-cancelDeployment", "tags": [ "compose" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "composeId": { "type": "string", "minLength": 1 } }, "required": [ "composeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/all": { "get": { "operationId": "user-all", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/one": { "get": { "operationId": "user-one", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "userId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/get": { "get": { "operationId": "user-get", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/haveRootAccess": { "get": { "operationId": "user-haveRootAccess", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/getBackups": { "get": { "operationId": "user-getBackups", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/getServerMetrics": { "get": { "operationId": "user-getServerMetrics", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/update": { "post": { "operationId": "user-update", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "minLength": 1 }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "isRegistered": { "type": "boolean" }, "expirationDate": { "type": "string" }, "createdAt2": { "type": "string" }, "createdAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "twoFactorEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "email": { "type": "string", "minLength": 1, "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "emailVerified": { "type": "boolean" }, "image": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "banned": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "banReason": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "banExpires": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "updatedAt": { "type": "string" }, "enablePaidFeatures": { "type": "boolean" }, "allowImpersonation": { "type": "boolean" }, "enableEnterpriseFeatures": { "type": "boolean" }, "licenseKey": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "stripeCustomerId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "stripeSubscriptionId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serversQuantity": { "type": "number" }, "password": { "type": "string" }, "currentPassword": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/getUserByToken": { "get": { "operationId": "user-getUserByToken", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "token", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/getMetricsToken": { "get": { "operationId": "user-getMetricsToken", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/remove": { "post": { "operationId": "user-remove", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "string" } }, "required": [ "userId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/assignPermissions": { "post": { "operationId": "user-assignPermissions", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "minLength": 1 }, "accessedProjects": { "type": "array", "items": { "type": "string" } }, "accessedEnvironments": { "type": "array", "items": { "type": "string" } }, "accessedServices": { "type": "array", "items": { "type": "string" } }, "canCreateProjects": { "type": "boolean" }, "canCreateServices": { "type": "boolean" }, "canDeleteProjects": { "type": "boolean" }, "canDeleteServices": { "type": "boolean" }, "canAccessToDocker": { "type": "boolean" }, "canAccessToTraefikFiles": { "type": "boolean" }, "canAccessToAPI": { "type": "boolean" }, "canAccessToSSHKeys": { "type": "boolean" }, "canAccessToGitProviders": { "type": "boolean" }, "canDeleteEnvironments": { "type": "boolean" }, "canCreateEnvironments": { "type": "boolean" } }, "required": [ "id", "accessedProjects", "accessedEnvironments", "accessedServices", "canCreateProjects", "canCreateServices", "canDeleteProjects", "canDeleteServices", "canAccessToDocker", "canAccessToTraefikFiles", "canAccessToAPI", "canAccessToSSHKeys", "canAccessToGitProviders", "canDeleteEnvironments", "canCreateEnvironments" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/getInvitations": { "get": { "operationId": "user-getInvitations", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/getContainerMetrics": { "get": { "operationId": "user-getContainerMetrics", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "url", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "token", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "appName", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "dataPoints", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/generateToken": { "post": { "operationId": "user-generateToken", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/deleteApiKey": { "post": { "operationId": "user-deleteApiKey", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "apiKeyId": { "type": "string" } }, "required": [ "apiKeyId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/createApiKey": { "post": { "operationId": "user-createApiKey", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "prefix": { "type": "string" }, "expiresIn": { "type": "number" }, "metadata": { "type": "object", "properties": { "organizationId": { "type": "string" } }, "required": [ "organizationId" ] }, "rateLimitEnabled": { "type": "boolean" }, "rateLimitTimeWindow": { "type": "number" }, "rateLimitMax": { "type": "number" }, "remaining": { "type": "number" }, "refillAmount": { "type": "number" }, "refillInterval": { "type": "number" } }, "required": [ "name", "metadata" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/checkUserOrganizations": { "get": { "operationId": "user-checkUserOrganizations", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "userId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/user/sendInvitation": { "post": { "operationId": "user-sendInvitation", "tags": [ "user" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "invitationId": { "type": "string", "minLength": 1 }, "notificationId": { "type": "string", "minLength": 1 } }, "required": [ "invitationId", "notificationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/domain/create": { "post": { "operationId": "domain-create", "tags": [ "domain" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "host": { "type": "string", "minLength": 1 }, "path": { "anyOf": [ { "type": "string", "minLength": 1 }, { "type": "null" } ] }, "port": { "anyOf": [ { "type": "number", "minimum": 1, "maximum": 65535 }, { "type": "null" } ] }, "https": { "type": "boolean" }, "applicationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "certificateType": { "type": "string", "enum": [ "letsencrypt", "none", "custom" ] }, "customCertResolver": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "composeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serviceName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "domainType": { "anyOf": [ { "type": "string", "enum": [ "compose", "application", "preview" ] }, { "type": "null" } ] }, "previewDeploymentId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "internalPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "stripPath": { "type": "boolean" } }, "required": [ "host" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/domain/byApplicationId": { "get": { "operationId": "domain-byApplicationId", "tags": [ "domain" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "applicationId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/domain/byComposeId": { "get": { "operationId": "domain-byComposeId", "tags": [ "domain" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "composeId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/domain/generateDomain": { "post": { "operationId": "domain-generateDomain", "tags": [ "domain" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appName": { "type": "string" }, "serverId": { "type": "string" } }, "required": [ "appName" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/domain/canGenerateTraefikMeDomains": { "get": { "operationId": "domain-canGenerateTraefikMeDomains", "tags": [ "domain" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/domain/update": { "post": { "operationId": "domain-update", "tags": [ "domain" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "host": { "type": "string", "minLength": 1 }, "path": { "anyOf": [ { "type": "string", "minLength": 1 }, { "type": "null" } ] }, "port": { "anyOf": [ { "type": "number", "minimum": 1, "maximum": 65535 }, { "type": "null" } ] }, "https": { "type": "boolean" }, "certificateType": { "type": "string", "enum": [ "letsencrypt", "none", "custom" ] }, "customCertResolver": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serviceName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "domainType": { "anyOf": [ { "type": "string", "enum": [ "compose", "application", "preview" ] }, { "type": "null" } ] }, "internalPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "stripPath": { "type": "boolean" }, "domainId": { "type": "string" } }, "required": [ "host", "domainId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/domain/one": { "get": { "operationId": "domain-one", "tags": [ "domain" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "domainId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/domain/delete": { "post": { "operationId": "domain-delete", "tags": [ "domain" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "domainId": { "type": "string", "minLength": 1 } }, "required": [ "domainId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/domain/validateDomain": { "post": { "operationId": "domain-validateDomain", "tags": [ "domain" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "domain": { "type": "string" }, "serverIp": { "type": "string" } }, "required": [ "domain" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/destination/create": { "post": { "operationId": "destination-create", "tags": [ "destination" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "provider": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "accessKey": { "type": "string" }, "bucket": { "type": "string" }, "region": { "type": "string" }, "endpoint": { "type": "string" }, "secretAccessKey": { "type": "string" }, "serverId": { "type": "string" } }, "required": [ "name", "provider", "accessKey", "bucket", "region", "endpoint", "secretAccessKey" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/destination/testConnection": { "post": { "operationId": "destination-testConnection", "tags": [ "destination" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "provider": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "accessKey": { "type": "string" }, "bucket": { "type": "string" }, "region": { "type": "string" }, "endpoint": { "type": "string" }, "secretAccessKey": { "type": "string" }, "serverId": { "type": "string" } }, "required": [ "name", "provider", "accessKey", "bucket", "region", "endpoint", "secretAccessKey" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/destination/one": { "get": { "operationId": "destination-one", "tags": [ "destination" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "destinationId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/destination/all": { "get": { "operationId": "destination-all", "tags": [ "destination" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/destination/remove": { "post": { "operationId": "destination-remove", "tags": [ "destination" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "destinationId": { "type": "string" } }, "required": [ "destinationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/destination/update": { "post": { "operationId": "destination-update", "tags": [ "destination" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "accessKey": { "type": "string" }, "bucket": { "type": "string" }, "region": { "type": "string" }, "endpoint": { "type": "string" }, "secretAccessKey": { "type": "string" }, "destinationId": { "type": "string" }, "provider": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serverId": { "type": "string" } }, "required": [ "name", "accessKey", "bucket", "region", "endpoint", "secretAccessKey", "destinationId", "provider" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/backup/create": { "post": { "operationId": "backup-create", "tags": [ "backup" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "schedule": { "type": "string" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "prefix": { "type": "string", "minLength": 1 }, "destinationId": { "type": "string" }, "keepLatestCount": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "database": { "type": "string", "minLength": 1 }, "mariadbId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mysqlId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "postgresId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mongoId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "databaseType": { "type": "string", "enum": [ "postgres", "mariadb", "mysql", "mongo", "web-server" ] }, "userId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "backupType": { "type": "string", "enum": [ "database", "compose" ] }, "composeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serviceName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "metadata": { "anyOf": [ {}, { "type": "null" } ] } }, "required": [ "schedule", "prefix", "destinationId", "database", "databaseType" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/backup/one": { "get": { "operationId": "backup-one", "tags": [ "backup" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "backupId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/backup/update": { "post": { "operationId": "backup-update", "tags": [ "backup" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "schedule": { "type": "string" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "prefix": { "type": "string", "minLength": 1 }, "backupId": { "type": "string" }, "destinationId": { "type": "string" }, "database": { "type": "string", "minLength": 1 }, "keepLatestCount": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "serviceName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "metadata": { "anyOf": [ {}, { "type": "null" } ] }, "databaseType": { "type": "string", "enum": [ "postgres", "mariadb", "mysql", "mongo", "web-server" ] } }, "required": [ "schedule", "enabled", "prefix", "backupId", "destinationId", "database", "keepLatestCount", "serviceName", "metadata", "databaseType" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/backup/remove": { "post": { "operationId": "backup-remove", "tags": [ "backup" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "backupId": { "type": "string" } }, "required": [ "backupId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/backup/manualBackupPostgres": { "post": { "operationId": "backup-manualBackupPostgres", "tags": [ "backup" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "backupId": { "type": "string", "minLength": 1 } }, "required": [ "backupId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/backup/manualBackupMySql": { "post": { "operationId": "backup-manualBackupMySql", "tags": [ "backup" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "backupId": { "type": "string", "minLength": 1 } }, "required": [ "backupId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/backup/manualBackupMariadb": { "post": { "operationId": "backup-manualBackupMariadb", "tags": [ "backup" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "backupId": { "type": "string", "minLength": 1 } }, "required": [ "backupId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/backup/manualBackupCompose": { "post": { "operationId": "backup-manualBackupCompose", "tags": [ "backup" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "backupId": { "type": "string", "minLength": 1 } }, "required": [ "backupId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/backup/manualBackupMongo": { "post": { "operationId": "backup-manualBackupMongo", "tags": [ "backup" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "backupId": { "type": "string", "minLength": 1 } }, "required": [ "backupId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/backup/manualBackupWebServer": { "post": { "operationId": "backup-manualBackupWebServer", "tags": [ "backup" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "backupId": { "type": "string", "minLength": 1 } }, "required": [ "backupId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/backup/listBackupFiles": { "get": { "operationId": "backup-listBackupFiles", "tags": [ "backup" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "destinationId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "search", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/deployment/all": { "get": { "operationId": "deployment-all", "tags": [ "deployment" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "applicationId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/deployment/allByCompose": { "get": { "operationId": "deployment-allByCompose", "tags": [ "deployment" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "composeId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/deployment/allByServer": { "get": { "operationId": "deployment-allByServer", "tags": [ "deployment" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/deployment/allByType": { "get": { "operationId": "deployment-allByType", "tags": [ "deployment" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "id", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "type", "schema": { "type": "string", "enum": [ "application", "compose", "server", "schedule", "previewDeployment", "backup", "volumeBackup" ] }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/deployment/killProcess": { "post": { "operationId": "deployment-killProcess", "tags": [ "deployment" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "deploymentId": { "type": "string", "minLength": 1 } }, "required": [ "deploymentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/deployment/removeDeployment": { "post": { "operationId": "deployment-removeDeployment", "tags": [ "deployment" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "deploymentId": { "type": "string", "minLength": 1 } }, "required": [ "deploymentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/previewDeployment/all": { "get": { "operationId": "previewDeployment-all", "tags": [ "previewDeployment" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "applicationId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/previewDeployment/delete": { "post": { "operationId": "previewDeployment-delete", "tags": [ "previewDeployment" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "previewDeploymentId": { "type": "string" } }, "required": [ "previewDeploymentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/previewDeployment/one": { "get": { "operationId": "previewDeployment-one", "tags": [ "previewDeployment" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "previewDeploymentId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/previewDeployment/redeploy": { "post": { "operationId": "previewDeployment-redeploy", "tags": [ "previewDeployment" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "previewDeploymentId": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" } }, "required": [ "previewDeploymentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mounts/create": { "post": { "operationId": "mounts-create", "tags": [ "mounts" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "bind", "volume", "file" ] }, "hostPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "volumeName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "content": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mountPath": { "type": "string", "minLength": 1 }, "serviceType": { "default": "application", "type": "string", "enum": [ "application", "postgres", "mysql", "mariadb", "mongo", "redis", "compose" ] }, "filePath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serviceId": { "type": "string", "minLength": 1 } }, "required": [ "type", "mountPath", "serviceId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mounts/remove": { "post": { "operationId": "mounts-remove", "tags": [ "mounts" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mountId": { "type": "string" } }, "required": [ "mountId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mounts/one": { "get": { "operationId": "mounts-one", "tags": [ "mounts" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "mountId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mounts/update": { "post": { "operationId": "mounts-update", "tags": [ "mounts" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mountId": { "type": "string", "minLength": 1 }, "type": { "type": "string", "enum": [ "bind", "volume", "file" ] }, "hostPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "volumeName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "filePath": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "content": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serviceType": { "default": "application", "type": "string", "enum": [ "application", "postgres", "mysql", "mariadb", "mongo", "redis", "compose" ] }, "mountPath": { "type": "string", "minLength": 1 }, "applicationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "postgresId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mariadbId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mongoId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mysqlId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "redisId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "composeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "mountId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mounts/allNamedByApplicationId": { "get": { "operationId": "mounts-allNamedByApplicationId", "tags": [ "mounts" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "applicationId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/mounts/listByServiceId": { "get": { "operationId": "mounts-listByServiceId", "tags": [ "mounts" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serviceId", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "serviceType", "schema": { "type": "string", "enum": [ "application", "postgres", "mysql", "mariadb", "mongo", "redis", "compose" ] }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/certificates/create": { "post": { "operationId": "certificates-create", "tags": [ "certificates" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "certificateId": { "type": "string" }, "name": { "type": "string", "minLength": 1 }, "certificateData": { "type": "string", "minLength": 1 }, "privateKey": { "type": "string", "minLength": 1 }, "certificatePath": { "type": "string" }, "autoRenew": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "organizationId": { "type": "string" }, "serverId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "name", "certificateData", "privateKey", "organizationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/certificates/one": { "get": { "operationId": "certificates-one", "tags": [ "certificates" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "certificateId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/certificates/remove": { "post": { "operationId": "certificates-remove", "tags": [ "certificates" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "certificateId": { "type": "string", "minLength": 1 } }, "required": [ "certificateId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/certificates/all": { "get": { "operationId": "certificates-all", "tags": [ "certificates" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/getWebServerSettings": { "get": { "operationId": "settings-getWebServerSettings", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/reloadServer": { "post": { "operationId": "settings-reloadServer", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/cleanRedis": { "post": { "operationId": "settings-cleanRedis", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/reloadRedis": { "post": { "operationId": "settings-reloadRedis", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/cleanAllDeploymentQueue": { "post": { "operationId": "settings-cleanAllDeploymentQueue", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/reloadTraefik": { "post": { "operationId": "settings-reloadTraefik", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/toggleDashboard": { "post": { "operationId": "settings-toggleDashboard", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "enableDashboard": { "type": "boolean" }, "serverId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/cleanUnusedImages": { "post": { "operationId": "settings-cleanUnusedImages", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/cleanUnusedVolumes": { "post": { "operationId": "settings-cleanUnusedVolumes", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/cleanStoppedContainers": { "post": { "operationId": "settings-cleanStoppedContainers", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/cleanDockerBuilder": { "post": { "operationId": "settings-cleanDockerBuilder", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/cleanDockerPrune": { "post": { "operationId": "settings-cleanDockerPrune", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/cleanAll": { "post": { "operationId": "settings-cleanAll", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/cleanMonitoring": { "post": { "operationId": "settings-cleanMonitoring", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/saveSSHPrivateKey": { "post": { "operationId": "settings-saveSSHPrivateKey", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "sshPrivateKey": { "type": "string" } }, "required": [ "sshPrivateKey" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/assignDomainServer": { "post": { "operationId": "settings-assignDomainServer", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "host": { "type": "string" }, "certificateType": { "type": "string", "enum": [ "letsencrypt", "none", "custom" ] }, "letsEncryptEmail": { "anyOf": [ { "anyOf": [ { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, { "type": "string", "const": "" } ] }, { "type": "null" } ] }, "https": { "type": "boolean" } }, "required": [ "host", "certificateType" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/cleanSSHPrivateKey": { "post": { "operationId": "settings-cleanSSHPrivateKey", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/updateDockerCleanup": { "post": { "operationId": "settings-updateDockerCleanup", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "enableDockerCleanup": { "type": "boolean" }, "serverId": { "type": "string" } }, "required": [ "enableDockerCleanup" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/readTraefikConfig": { "get": { "operationId": "settings-readTraefikConfig", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/updateTraefikConfig": { "post": { "operationId": "settings-updateTraefikConfig", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "traefikConfig": { "type": "string", "minLength": 1 } }, "required": [ "traefikConfig" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/readWebServerTraefikConfig": { "get": { "operationId": "settings-readWebServerTraefikConfig", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/updateWebServerTraefikConfig": { "post": { "operationId": "settings-updateWebServerTraefikConfig", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "traefikConfig": { "type": "string", "minLength": 1 } }, "required": [ "traefikConfig" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/readMiddlewareTraefikConfig": { "get": { "operationId": "settings-readMiddlewareTraefikConfig", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/updateMiddlewareTraefikConfig": { "post": { "operationId": "settings-updateMiddlewareTraefikConfig", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "traefikConfig": { "type": "string", "minLength": 1 } }, "required": [ "traefikConfig" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/getUpdateData": { "post": { "operationId": "settings-getUpdateData", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/updateServer": { "post": { "operationId": "settings-updateServer", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/getDokployVersion": { "get": { "operationId": "settings-getDokployVersion", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/getReleaseTag": { "get": { "operationId": "settings-getReleaseTag", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/readDirectories": { "get": { "operationId": "settings-readDirectories", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/updateTraefikFile": { "post": { "operationId": "settings-updateTraefikFile", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "path": { "type": "string", "minLength": 1 }, "traefikConfig": { "type": "string", "minLength": 1 }, "serverId": { "type": "string" } }, "required": [ "path", "traefikConfig" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/readTraefikFile": { "get": { "operationId": "settings-readTraefikFile", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "path", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/getIp": { "get": { "operationId": "settings-getIp", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/updateServerIp": { "post": { "operationId": "settings-updateServerIp", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverIp": { "type": "string" } }, "required": [ "serverIp" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/getOpenApiDocument": { "get": { "operationId": "settings-getOpenApiDocument", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/readTraefikEnv": { "get": { "operationId": "settings-readTraefikEnv", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/writeTraefikEnv": { "post": { "operationId": "settings-writeTraefikEnv", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "env": { "type": "string" }, "serverId": { "type": "string" } }, "required": [ "env" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/haveTraefikDashboardPortEnabled": { "get": { "operationId": "settings-haveTraefikDashboardPortEnabled", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/haveActivateRequests": { "get": { "operationId": "settings-haveActivateRequests", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/toggleRequests": { "post": { "operationId": "settings-toggleRequests", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "enable": { "type": "boolean" } }, "required": [ "enable" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/isCloud": { "get": { "operationId": "settings-isCloud", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/isUserSubscribed": { "get": { "operationId": "settings-isUserSubscribed", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/health": { "get": { "operationId": "settings-health", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/setupGPU": { "post": { "operationId": "settings-setupGPU", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/checkGPUStatus": { "get": { "operationId": "settings-checkGPUStatus", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/updateTraefikPorts": { "post": { "operationId": "settings-updateTraefikPorts", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string" }, "additionalPorts": { "type": "array", "items": { "type": "object", "properties": { "targetPort": { "type": "number" }, "publishedPort": { "type": "number" }, "protocol": { "type": "string", "enum": [ "tcp", "udp", "sctp" ] } }, "required": [ "targetPort", "publishedPort", "protocol" ] } } }, "required": [ "additionalPorts" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/getTraefikPorts": { "get": { "operationId": "settings-getTraefikPorts", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/updateLogCleanup": { "post": { "operationId": "settings-updateLogCleanup", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "cronExpression": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "cronExpression" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/getLogCleanupStatus": { "get": { "operationId": "settings-getLogCleanupStatus", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/settings/getDokployCloudIps": { "get": { "operationId": "settings-getDokployCloudIps", "tags": [ "settings" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/security/create": { "post": { "operationId": "security-create", "tags": [ "security" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string" }, "username": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 1 } }, "required": [ "applicationId", "username", "password" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/security/one": { "get": { "operationId": "security-one", "tags": [ "security" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "securityId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/security/delete": { "post": { "operationId": "security-delete", "tags": [ "security" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "securityId": { "type": "string", "minLength": 1 } }, "required": [ "securityId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/security/update": { "post": { "operationId": "security-update", "tags": [ "security" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "securityId": { "type": "string", "minLength": 1 }, "username": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 1 } }, "required": [ "securityId", "username", "password" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redirects/create": { "post": { "operationId": "redirects-create", "tags": [ "redirects" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "regex": { "type": "string", "minLength": 1 }, "replacement": { "type": "string", "minLength": 1 }, "permanent": { "type": "boolean" }, "applicationId": { "type": "string" } }, "required": [ "regex", "replacement", "permanent", "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redirects/one": { "get": { "operationId": "redirects-one", "tags": [ "redirects" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "redirectId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redirects/delete": { "post": { "operationId": "redirects-delete", "tags": [ "redirects" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redirectId": { "type": "string", "minLength": 1 } }, "required": [ "redirectId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/redirects/update": { "post": { "operationId": "redirects-update", "tags": [ "redirects" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "redirectId": { "type": "string", "minLength": 1 }, "regex": { "type": "string", "minLength": 1 }, "replacement": { "type": "string", "minLength": 1 }, "permanent": { "type": "boolean" } }, "required": [ "redirectId", "regex", "replacement", "permanent" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/port/create": { "post": { "operationId": "port-create", "tags": [ "port" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "publishedPort": { "type": "number" }, "publishMode": { "default": "ingress", "type": "string", "enum": [ "ingress", "host" ] }, "targetPort": { "type": "number" }, "protocol": { "default": "tcp", "type": "string", "enum": [ "tcp", "udp" ] }, "applicationId": { "type": "string", "minLength": 1 } }, "required": [ "publishedPort", "publishMode", "targetPort", "protocol", "applicationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/port/one": { "get": { "operationId": "port-one", "tags": [ "port" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "portId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/port/delete": { "post": { "operationId": "port-delete", "tags": [ "port" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "portId": { "type": "string", "minLength": 1 } }, "required": [ "portId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/port/update": { "post": { "operationId": "port-update", "tags": [ "port" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "portId": { "type": "string", "minLength": 1 }, "publishedPort": { "type": "number" }, "publishMode": { "default": "ingress", "type": "string", "enum": [ "ingress", "host" ] }, "targetPort": { "type": "number" }, "protocol": { "default": "tcp", "type": "string", "enum": [ "tcp", "udp" ] } }, "required": [ "portId", "publishedPort", "publishMode", "targetPort", "protocol" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/registry/create": { "post": { "operationId": "registry-create", "tags": [ "registry" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "registryName": { "type": "string", "minLength": 1 }, "username": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 1 }, "registryUrl": { "type": "string" }, "registryType": { "type": "string", "enum": [ "cloud" ] }, "imagePrefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serverId": { "type": "string" } }, "required": [ "registryName", "username", "password", "registryUrl", "registryType", "imagePrefix" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/registry/remove": { "post": { "operationId": "registry-remove", "tags": [ "registry" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "registryId": { "type": "string", "minLength": 1 } }, "required": [ "registryId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/registry/update": { "post": { "operationId": "registry-update", "tags": [ "registry" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "registryId": { "type": "string", "minLength": 1 }, "registryName": { "type": "string", "minLength": 1 }, "imagePrefix": { "anyOf": [ { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, { "type": "null" } ] }, "username": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 1 }, "registryUrl": { "type": "string" }, "createdAt": { "type": "string" }, "registryType": { "type": "string", "enum": [ "cloud" ] }, "organizationId": { "type": "string", "minLength": 1 }, "serverId": { "type": "string" } }, "required": [ "registryId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/registry/all": { "get": { "operationId": "registry-all", "tags": [ "registry" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/registry/one": { "get": { "operationId": "registry-one", "tags": [ "registry" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "registryId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/registry/testRegistry": { "post": { "operationId": "registry-testRegistry", "tags": [ "registry" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "registryName": { "type": "string" }, "username": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 1 }, "registryUrl": { "type": "string" }, "registryType": { "type": "string", "enum": [ "cloud" ] }, "imagePrefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serverId": { "type": "string" } }, "required": [ "username", "password", "registryUrl", "registryType" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/registry/testRegistryById": { "post": { "operationId": "registry-testRegistryById", "tags": [ "registry" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "registryId": { "type": "string", "minLength": 1 }, "serverId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/cluster/getNodes": { "get": { "operationId": "cluster-getNodes", "tags": [ "cluster" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/cluster/removeWorker": { "post": { "operationId": "cluster-removeWorker", "tags": [ "cluster" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "nodeId": { "type": "string" }, "serverId": { "type": "string" } }, "required": [ "nodeId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/cluster/addWorker": { "get": { "operationId": "cluster-addWorker", "tags": [ "cluster" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/cluster/addManager": { "get": { "operationId": "cluster-addManager", "tags": [ "cluster" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/createSlack": { "post": { "operationId": "notification-createSlack", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "webhookUrl": { "type": "string", "minLength": 1 }, "channel": { "type": "string" } }, "required": [ "appBuildError", "databaseBackup", "volumeBackup", "dokployRestart", "name", "appDeploy", "dockerCleanup", "serverThreshold", "webhookUrl", "channel" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/updateSlack": { "post": { "operationId": "notification-updateSlack", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "webhookUrl": { "type": "string", "minLength": 1 }, "channel": { "type": "string" }, "notificationId": { "type": "string", "minLength": 1 }, "slackId": { "type": "string" }, "organizationId": { "type": "string" } }, "required": [ "notificationId", "slackId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/testSlackConnection": { "post": { "operationId": "notification-testSlackConnection", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "webhookUrl": { "type": "string", "minLength": 1 }, "channel": { "type": "string" } }, "required": [ "webhookUrl", "channel" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/createTelegram": { "post": { "operationId": "notification-createTelegram", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "botToken": { "type": "string", "minLength": 1 }, "chatId": { "type": "string", "minLength": 1 }, "messageThreadId": { "type": "string" } }, "required": [ "appBuildError", "databaseBackup", "volumeBackup", "dokployRestart", "name", "appDeploy", "dockerCleanup", "serverThreshold", "botToken", "chatId", "messageThreadId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/updateTelegram": { "post": { "operationId": "notification-updateTelegram", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "botToken": { "type": "string", "minLength": 1 }, "chatId": { "type": "string", "minLength": 1 }, "messageThreadId": { "type": "string" }, "notificationId": { "type": "string", "minLength": 1 }, "telegramId": { "type": "string", "minLength": 1 }, "organizationId": { "type": "string" } }, "required": [ "notificationId", "telegramId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/testTelegramConnection": { "post": { "operationId": "notification-testTelegramConnection", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "botToken": { "type": "string", "minLength": 1 }, "chatId": { "type": "string", "minLength": 1 }, "messageThreadId": { "type": "string" } }, "required": [ "botToken", "chatId", "messageThreadId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/createDiscord": { "post": { "operationId": "notification-createDiscord", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "webhookUrl": { "type": "string", "minLength": 1 }, "decoration": { "type": "boolean" } }, "required": [ "appBuildError", "databaseBackup", "volumeBackup", "dokployRestart", "name", "appDeploy", "dockerCleanup", "serverThreshold", "webhookUrl", "decoration" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/updateDiscord": { "post": { "operationId": "notification-updateDiscord", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "webhookUrl": { "type": "string", "minLength": 1 }, "decoration": { "type": "boolean" }, "notificationId": { "type": "string", "minLength": 1 }, "discordId": { "type": "string", "minLength": 1 }, "organizationId": { "type": "string" } }, "required": [ "notificationId", "discordId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/testDiscordConnection": { "post": { "operationId": "notification-testDiscordConnection", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "webhookUrl": { "type": "string", "minLength": 1 }, "decoration": { "type": "boolean" } }, "required": [ "webhookUrl" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/createEmail": { "post": { "operationId": "notification-createEmail", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "smtpServer": { "type": "string", "minLength": 1 }, "smtpPort": { "type": "number", "minimum": 1 }, "username": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 1 }, "fromAddress": { "type": "string", "minLength": 1 }, "toAddresses": { "minItems": 1, "type": "array", "items": { "type": "string" } } }, "required": [ "appBuildError", "databaseBackup", "volumeBackup", "dokployRestart", "name", "appDeploy", "dockerCleanup", "serverThreshold", "smtpServer", "smtpPort", "username", "password", "fromAddress", "toAddresses" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/updateEmail": { "post": { "operationId": "notification-updateEmail", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "smtpServer": { "type": "string", "minLength": 1 }, "smtpPort": { "type": "number", "minimum": 1 }, "username": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 1 }, "fromAddress": { "type": "string", "minLength": 1 }, "toAddresses": { "minItems": 1, "type": "array", "items": { "type": "string" } }, "notificationId": { "type": "string", "minLength": 1 }, "emailId": { "type": "string", "minLength": 1 }, "organizationId": { "type": "string" } }, "required": [ "notificationId", "emailId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/testEmailConnection": { "post": { "operationId": "notification-testEmailConnection", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "smtpServer": { "type": "string", "minLength": 1 }, "smtpPort": { "type": "number", "minimum": 1 }, "username": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 1 }, "toAddresses": { "minItems": 1, "type": "array", "items": { "type": "string" } }, "fromAddress": { "type": "string", "minLength": 1 } }, "required": [ "smtpServer", "smtpPort", "username", "password", "toAddresses", "fromAddress" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/createResend": { "post": { "operationId": "notification-createResend", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "apiKey": { "type": "string", "minLength": 1 }, "fromAddress": { "type": "string", "minLength": 1 }, "toAddresses": { "minItems": 1, "type": "array", "items": { "type": "string" } } }, "required": [ "appBuildError", "databaseBackup", "volumeBackup", "dokployRestart", "name", "appDeploy", "dockerCleanup", "serverThreshold", "apiKey", "fromAddress", "toAddresses" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/updateResend": { "post": { "operationId": "notification-updateResend", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "apiKey": { "type": "string", "minLength": 1 }, "fromAddress": { "type": "string", "minLength": 1 }, "toAddresses": { "minItems": 1, "type": "array", "items": { "type": "string" } }, "notificationId": { "type": "string", "minLength": 1 }, "resendId": { "type": "string", "minLength": 1 }, "organizationId": { "type": "string" } }, "required": [ "notificationId", "resendId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/testResendConnection": { "post": { "operationId": "notification-testResendConnection", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "apiKey": { "type": "string", "minLength": 1 }, "fromAddress": { "type": "string", "minLength": 1 }, "toAddresses": { "minItems": 1, "type": "array", "items": { "type": "string" } } }, "required": [ "apiKey", "fromAddress", "toAddresses" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/remove": { "post": { "operationId": "notification-remove", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "notificationId": { "type": "string", "minLength": 1 } }, "required": [ "notificationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/one": { "get": { "operationId": "notification-one", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "notificationId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/all": { "get": { "operationId": "notification-all", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/receiveNotification": { "post": { "operationId": "notification-receiveNotification", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "ServerType": { "default": "Dokploy", "type": "string", "enum": [ "Dokploy", "Remote" ] }, "Type": { "type": "string", "enum": [ "Memory", "CPU" ] }, "Value": { "type": "number" }, "Threshold": { "type": "number" }, "Message": { "type": "string" }, "Timestamp": { "type": "string" }, "Token": { "type": "string" } }, "required": [ "Type", "Value", "Threshold", "Message", "Timestamp", "Token" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/createGotify": { "post": { "operationId": "notification-createGotify", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverUrl": { "type": "string", "minLength": 1 }, "appToken": { "type": "string", "minLength": 1 }, "priority": { "type": "number", "minimum": 1 }, "decoration": { "type": "boolean" } }, "required": [ "appBuildError", "databaseBackup", "volumeBackup", "dokployRestart", "name", "appDeploy", "dockerCleanup", "serverUrl", "appToken", "priority", "decoration" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/updateGotify": { "post": { "operationId": "notification-updateGotify", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverUrl": { "type": "string", "minLength": 1 }, "appToken": { "type": "string", "minLength": 1 }, "priority": { "type": "number", "minimum": 1 }, "decoration": { "type": "boolean" }, "notificationId": { "type": "string", "minLength": 1 }, "gotifyId": { "type": "string", "minLength": 1 }, "organizationId": { "type": "string" } }, "required": [ "notificationId", "gotifyId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/testGotifyConnection": { "post": { "operationId": "notification-testGotifyConnection", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverUrl": { "type": "string", "minLength": 1 }, "appToken": { "type": "string", "minLength": 1 }, "priority": { "type": "number", "minimum": 1 }, "decoration": { "type": "boolean" } }, "required": [ "serverUrl", "appToken", "priority" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/createNtfy": { "post": { "operationId": "notification-createNtfy", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverUrl": { "type": "string", "minLength": 1 }, "topic": { "type": "string", "minLength": 1 }, "accessToken": { "type": "string" }, "priority": { "type": "number", "minimum": 1 } }, "required": [ "appBuildError", "databaseBackup", "volumeBackup", "dokployRestart", "name", "appDeploy", "dockerCleanup", "serverUrl", "topic", "accessToken", "priority" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/updateNtfy": { "post": { "operationId": "notification-updateNtfy", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverUrl": { "type": "string", "minLength": 1 }, "topic": { "type": "string", "minLength": 1 }, "accessToken": { "type": "string" }, "priority": { "type": "number", "minimum": 1 }, "notificationId": { "type": "string", "minLength": 1 }, "ntfyId": { "type": "string", "minLength": 1 }, "organizationId": { "type": "string" } }, "required": [ "notificationId", "ntfyId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/testNtfyConnection": { "post": { "operationId": "notification-testNtfyConnection", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverUrl": { "type": "string", "minLength": 1 }, "topic": { "type": "string", "minLength": 1 }, "accessToken": { "type": "string" }, "priority": { "type": "number", "minimum": 1 } }, "required": [ "serverUrl", "topic", "accessToken", "priority" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/createCustom": { "post": { "operationId": "notification-createCustom", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "endpoint": { "type": "string", "minLength": 1 }, "headers": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } } }, "required": [ "name", "endpoint" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/updateCustom": { "post": { "operationId": "notification-updateCustom", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "endpoint": { "type": "string", "minLength": 1 }, "headers": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } }, "notificationId": { "type": "string", "minLength": 1 }, "customId": { "type": "string", "minLength": 1 }, "organizationId": { "type": "string" } }, "required": [ "notificationId", "customId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/testCustomConnection": { "post": { "operationId": "notification-testCustomConnection", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "endpoint": { "type": "string", "minLength": 1 }, "headers": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } } }, "required": [ "endpoint" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/createLark": { "post": { "operationId": "notification-createLark", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "webhookUrl": { "type": "string", "minLength": 1 } }, "required": [ "appBuildError", "databaseBackup", "volumeBackup", "dokployRestart", "name", "appDeploy", "dockerCleanup", "serverThreshold", "webhookUrl" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/updateLark": { "post": { "operationId": "notification-updateLark", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "webhookUrl": { "type": "string", "minLength": 1 }, "notificationId": { "type": "string", "minLength": 1 }, "larkId": { "type": "string", "minLength": 1 }, "organizationId": { "type": "string" } }, "required": [ "notificationId", "larkId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/testLarkConnection": { "post": { "operationId": "notification-testLarkConnection", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "webhookUrl": { "type": "string", "minLength": 1 } }, "required": [ "webhookUrl" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/createTeams": { "post": { "operationId": "notification-createTeams", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "webhookUrl": { "type": "string", "minLength": 1 } }, "required": [ "appBuildError", "databaseBackup", "volumeBackup", "dokployRestart", "name", "appDeploy", "dockerCleanup", "serverThreshold", "webhookUrl" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/updateTeams": { "post": { "operationId": "notification-updateTeams", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "webhookUrl": { "type": "string", "minLength": 1 }, "notificationId": { "type": "string", "minLength": 1 }, "teamsId": { "type": "string", "minLength": 1 }, "organizationId": { "type": "string" } }, "required": [ "notificationId", "teamsId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/testTeamsConnection": { "post": { "operationId": "notification-testTeamsConnection", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "webhookUrl": { "type": "string", "minLength": 1 } }, "required": [ "webhookUrl" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/createPushover": { "post": { "operationId": "notification-createPushover", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" }, "userKey": { "type": "string", "minLength": 1 }, "apiToken": { "type": "string", "minLength": 1 }, "priority": { "default": 0, "type": "number", "minimum": -2, "maximum": 2 }, "retry": { "anyOf": [ { "type": "number", "minimum": 30 }, { "type": "null" } ] }, "expire": { "anyOf": [ { "type": "number", "minimum": 1, "maximum": 10800 }, { "type": "null" } ] } }, "required": [ "name", "userKey", "apiToken" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/updatePushover": { "post": { "operationId": "notification-updatePushover", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "notificationId": { "type": "string", "minLength": 1 }, "pushoverId": { "type": "string", "minLength": 1 }, "organizationId": { "type": "string" }, "userKey": { "type": "string", "minLength": 1 }, "apiToken": { "type": "string", "minLength": 1 }, "priority": { "type": "number", "minimum": -2, "maximum": 2 }, "retry": { "anyOf": [ { "type": "number", "minimum": 30 }, { "type": "null" } ] }, "expire": { "anyOf": [ { "type": "number", "minimum": 1, "maximum": 10800 }, { "type": "null" } ] }, "appBuildError": { "type": "boolean" }, "databaseBackup": { "type": "boolean" }, "volumeBackup": { "type": "boolean" }, "dokployRestart": { "type": "boolean" }, "name": { "type": "string" }, "appDeploy": { "type": "boolean" }, "dockerCleanup": { "type": "boolean" }, "serverThreshold": { "type": "boolean" } }, "required": [ "notificationId", "pushoverId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/testPushoverConnection": { "post": { "operationId": "notification-testPushoverConnection", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "userKey": { "type": "string", "minLength": 1 }, "apiToken": { "type": "string", "minLength": 1 }, "priority": { "type": "number", "minimum": -2, "maximum": 2 }, "retry": { "anyOf": [ { "type": "number", "minimum": 30 }, { "type": "null" } ] }, "expire": { "anyOf": [ { "type": "number", "minimum": 1, "maximum": 10800 }, { "type": "null" } ] } }, "required": [ "userKey", "apiToken", "priority" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/notification/getEmailProviders": { "get": { "operationId": "notification-getEmailProviders", "tags": [ "notification" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sshKey/create": { "post": { "operationId": "sshKey-create", "tags": [ "sshKey" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "privateKey": { "type": "string" }, "publicKey": { "type": "string" }, "organizationId": { "type": "string" } }, "required": [ "name", "privateKey", "publicKey", "organizationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sshKey/remove": { "post": { "operationId": "sshKey-remove", "tags": [ "sshKey" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "sshKeyId": { "type": "string" } }, "required": [ "sshKeyId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sshKey/one": { "get": { "operationId": "sshKey-one", "tags": [ "sshKey" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "sshKeyId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sshKey/all": { "get": { "operationId": "sshKey-all", "tags": [ "sshKey" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sshKey/generate": { "post": { "operationId": "sshKey-generate", "tags": [ "sshKey" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "rsa", "ed25519" ] } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sshKey/update": { "post": { "operationId": "sshKey-update", "tags": [ "sshKey" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "lastUsedAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "sshKeyId": { "type": "string" } }, "required": [ "sshKeyId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitProvider/getAll": { "get": { "operationId": "gitProvider-getAll", "tags": [ "gitProvider" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitProvider/remove": { "post": { "operationId": "gitProvider-remove", "tags": [ "gitProvider" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "gitProviderId": { "type": "string", "minLength": 1 } }, "required": [ "gitProviderId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitea/create": { "post": { "operationId": "gitea-create", "tags": [ "gitea" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "giteaId": { "type": "string" }, "giteaUrl": { "type": "string", "minLength": 1 }, "giteaInternalUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "redirectUri": { "type": "string" }, "clientId": { "type": "string" }, "clientSecret": { "type": "string" }, "gitProviderId": { "type": "string" }, "accessToken": { "type": "string" }, "refreshToken": { "type": "string" }, "expiresAt": { "type": "number" }, "scopes": { "type": "string" }, "lastAuthenticatedAt": { "type": "number" }, "name": { "type": "string", "minLength": 1 }, "giteaUsername": { "type": "string" }, "organizationName": { "type": "string" } }, "required": [ "giteaUrl", "name" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitea/one": { "get": { "operationId": "gitea-one", "tags": [ "gitea" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "giteaId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitea/giteaProviders": { "get": { "operationId": "gitea-giteaProviders", "tags": [ "gitea" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitea/getGiteaRepositories": { "get": { "operationId": "gitea-getGiteaRepositories", "tags": [ "gitea" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "giteaId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitea/getGiteaBranches": { "get": { "operationId": "gitea-getGiteaBranches", "tags": [ "gitea" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "owner", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "repositoryName", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "giteaId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitea/testConnection": { "post": { "operationId": "gitea-testConnection", "tags": [ "gitea" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "giteaId": { "type": "string" }, "organizationName": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitea/update": { "post": { "operationId": "gitea-update", "tags": [ "gitea" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "giteaId": { "type": "string", "minLength": 1 }, "giteaUrl": { "type": "string", "minLength": 1 }, "giteaInternalUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "redirectUri": { "type": "string" }, "clientId": { "type": "string" }, "clientSecret": { "type": "string" }, "gitProviderId": { "type": "string" }, "accessToken": { "type": "string" }, "refreshToken": { "type": "string" }, "expiresAt": { "type": "number" }, "scopes": { "type": "string" }, "lastAuthenticatedAt": { "type": "number" }, "name": { "type": "string", "minLength": 1 }, "giteaUsername": { "type": "string" }, "organizationName": { "type": "string" } }, "required": [ "giteaId", "giteaUrl", "gitProviderId", "name" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitea/getGiteaUrl": { "get": { "operationId": "gitea-getGiteaUrl", "tags": [ "gitea" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "giteaId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/bitbucket/create": { "post": { "operationId": "bitbucket-create", "tags": [ "bitbucket" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "bitbucketId": { "type": "string" }, "bitbucketUsername": { "type": "string" }, "bitbucketEmail": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "appPassword": { "type": "string" }, "apiToken": { "type": "string" }, "bitbucketWorkspaceName": { "type": "string" }, "gitProviderId": { "type": "string" }, "authId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 } }, "required": [ "authId", "name" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/bitbucket/one": { "get": { "operationId": "bitbucket-one", "tags": [ "bitbucket" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "bitbucketId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/bitbucket/bitbucketProviders": { "get": { "operationId": "bitbucket-bitbucketProviders", "tags": [ "bitbucket" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/bitbucket/getBitbucketRepositories": { "get": { "operationId": "bitbucket-getBitbucketRepositories", "tags": [ "bitbucket" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "bitbucketId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/bitbucket/getBitbucketBranches": { "get": { "operationId": "bitbucket-getBitbucketBranches", "tags": [ "bitbucket" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "owner", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "repo", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "bitbucketId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/bitbucket/testConnection": { "post": { "operationId": "bitbucket-testConnection", "tags": [ "bitbucket" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "bitbucketId": { "type": "string", "minLength": 1 }, "bitbucketUsername": { "type": "string" }, "bitbucketEmail": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "workspaceName": { "type": "string" }, "apiToken": { "type": "string" }, "appPassword": { "type": "string" } }, "required": [ "bitbucketId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/bitbucket/update": { "post": { "operationId": "bitbucket-update", "tags": [ "bitbucket" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "bitbucketId": { "type": "string", "minLength": 1 }, "bitbucketUsername": { "type": "string" }, "bitbucketEmail": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "appPassword": { "type": "string" }, "apiToken": { "type": "string" }, "bitbucketWorkspaceName": { "type": "string" }, "gitProviderId": { "type": "string" }, "name": { "type": "string", "minLength": 1 }, "organizationId": { "type": "string" } }, "required": [ "bitbucketId", "gitProviderId", "name" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitlab/create": { "post": { "operationId": "gitlab-create", "tags": [ "gitlab" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string" }, "secret": { "type": "string" }, "groupName": { "type": "string" }, "gitProviderId": { "type": "string" }, "redirectUri": { "type": "string" }, "authId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "gitlabUrl": { "type": "string", "minLength": 1 }, "gitlabInternalUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "authId", "name", "gitlabUrl" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitlab/one": { "get": { "operationId": "gitlab-one", "tags": [ "gitlab" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "gitlabId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitlab/gitlabProviders": { "get": { "operationId": "gitlab-gitlabProviders", "tags": [ "gitlab" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitlab/getGitlabRepositories": { "get": { "operationId": "gitlab-getGitlabRepositories", "tags": [ "gitlab" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "gitlabId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitlab/getGitlabBranches": { "get": { "operationId": "gitlab-getGitlabBranches", "tags": [ "gitlab" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "id", "schema": { "type": "number" } }, { "in": "query", "name": "owner", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "repo", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "gitlabId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitlab/testConnection": { "post": { "operationId": "gitlab-testConnection", "tags": [ "gitlab" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "gitlabId": { "type": "string", "minLength": 1 }, "groupName": { "type": "string" } }, "required": [ "gitlabId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/gitlab/update": { "post": { "operationId": "gitlab-update", "tags": [ "gitlab" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string" }, "secret": { "type": "string" }, "groupName": { "type": "string" }, "redirectUri": { "type": "string" }, "name": { "type": "string", "minLength": 1 }, "gitlabId": { "type": "string", "minLength": 1 }, "gitlabUrl": { "type": "string", "minLength": 1 }, "gitProviderId": { "type": "string", "minLength": 1 }, "gitlabInternalUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "name", "gitlabId", "gitlabUrl", "gitProviderId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/github/one": { "get": { "operationId": "github-one", "tags": [ "github" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "githubId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/github/getGithubRepositories": { "get": { "operationId": "github-getGithubRepositories", "tags": [ "github" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "githubId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/github/getGithubBranches": { "get": { "operationId": "github-getGithubBranches", "tags": [ "github" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "repo", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "owner", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "githubId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/github/githubProviders": { "get": { "operationId": "github-githubProviders", "tags": [ "github" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/github/testConnection": { "post": { "operationId": "github-testConnection", "tags": [ "github" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "githubId": { "type": "string", "minLength": 1 } }, "required": [ "githubId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/github/update": { "post": { "operationId": "github-update", "tags": [ "github" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "githubId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "gitProviderId": { "type": "string", "minLength": 1 }, "githubAppName": { "type": "string", "minLength": 1 } }, "required": [ "githubId", "name", "gitProviderId", "githubAppName" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/create": { "post": { "operationId": "server-create", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "ipAddress": { "type": "string" }, "port": { "type": "number" }, "username": { "type": "string" }, "sshKeyId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serverType": { "type": "string", "enum": [ "deploy", "build" ] } }, "required": [ "name", "description", "ipAddress", "port", "username", "sshKeyId", "serverType" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/one": { "get": { "operationId": "server-one", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/getDefaultCommand": { "get": { "operationId": "server-getDefaultCommand", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/all": { "get": { "operationId": "server-all", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/count": { "get": { "operationId": "server-count", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/withSSHKey": { "get": { "operationId": "server-withSSHKey", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/buildServers": { "get": { "operationId": "server-buildServers", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/setup": { "post": { "operationId": "server-setup", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string", "minLength": 1 } }, "required": [ "serverId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/validate": { "get": { "operationId": "server-validate", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/security": { "get": { "operationId": "server-security", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/setupMonitoring": { "post": { "operationId": "server-setupMonitoring", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string", "minLength": 1 }, "metricsConfig": { "type": "object", "properties": { "server": { "type": "object", "properties": { "refreshRate": { "type": "number", "minimum": 2 }, "port": { "type": "number", "minimum": 1 }, "token": { "type": "string" }, "urlCallback": { "type": "string", "format": "uri" }, "retentionDays": { "type": "number", "minimum": 1 }, "cronJob": { "type": "string", "minLength": 1 }, "thresholds": { "type": "object", "properties": { "cpu": { "type": "number", "minimum": 0 }, "memory": { "type": "number", "minimum": 0 } }, "required": [ "cpu", "memory" ] } }, "required": [ "refreshRate", "port", "token", "urlCallback", "retentionDays", "cronJob", "thresholds" ] }, "containers": { "type": "object", "properties": { "refreshRate": { "type": "number", "minimum": 2 }, "services": { "type": "object", "properties": { "include": { "type": "array", "items": { "type": "string" } }, "exclude": { "type": "array", "items": { "type": "string" } } } } }, "required": [ "refreshRate", "services" ] } }, "required": [ "server", "containers" ] } }, "required": [ "serverId", "metricsConfig" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/remove": { "post": { "operationId": "server-remove", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string", "minLength": 1 } }, "required": [ "serverId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/update": { "post": { "operationId": "server-update", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serverId": { "type": "string", "minLength": 1 }, "ipAddress": { "type": "string" }, "port": { "type": "number" }, "username": { "type": "string" }, "sshKeyId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serverType": { "type": "string", "enum": [ "deploy", "build" ] }, "command": { "type": "string" } }, "required": [ "name", "description", "serverId", "ipAddress", "port", "username", "sshKeyId", "serverType" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/publicIp": { "get": { "operationId": "server-publicIp", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/getServerTime": { "get": { "operationId": "server-getServerTime", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/server/getServerMetrics": { "get": { "operationId": "server-getServerMetrics", "tags": [ "server" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "url", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "token", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "dataPoints", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/stripe/getProducts": { "get": { "operationId": "stripe-getProducts", "tags": [ "stripe" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/stripe/createCheckoutSession": { "post": { "operationId": "stripe-createCheckoutSession", "tags": [ "stripe" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "tier": { "type": "string", "enum": [ "legacy", "hobby", "startup" ] }, "productId": { "type": "string" }, "serverQuantity": { "type": "number", "minimum": 1 }, "isAnnual": { "type": "boolean" } }, "required": [ "tier", "productId", "serverQuantity", "isAnnual" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/stripe/createCustomerPortalSession": { "post": { "operationId": "stripe-createCustomerPortalSession", "tags": [ "stripe" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/stripe/upgradeSubscription": { "post": { "operationId": "stripe-upgradeSubscription", "tags": [ "stripe" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "tier": { "type": "string", "enum": [ "hobby", "startup" ] }, "serverQuantity": { "type": "number", "minimum": 1 }, "isAnnual": { "type": "boolean" } }, "required": [ "tier", "serverQuantity", "isAnnual" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/stripe/canCreateMoreServers": { "get": { "operationId": "stripe-canCreateMoreServers", "tags": [ "stripe" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/stripe/getInvoices": { "get": { "operationId": "stripe-getInvoices", "tags": [ "stripe" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/swarm/getNodes": { "get": { "operationId": "swarm-getNodes", "tags": [ "swarm" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/swarm/getNodeInfo": { "get": { "operationId": "swarm-getNodeInfo", "tags": [ "swarm" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "nodeId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/swarm/getNodeApps": { "get": { "operationId": "swarm-getNodeApps", "tags": [ "swarm" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "serverId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/ai/one": { "get": { "operationId": "ai-one", "tags": [ "ai" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "aiId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/ai/getModels": { "get": { "operationId": "ai-getModels", "tags": [ "ai" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "apiUrl", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "apiKey", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/ai/create": { "post": { "operationId": "ai-create", "tags": [ "ai" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "apiUrl": { "type": "string", "format": "uri" }, "apiKey": { "type": "string" }, "model": { "type": "string", "minLength": 1 }, "isEnabled": { "type": "boolean" } }, "required": [ "name", "apiUrl", "apiKey", "model", "isEnabled" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/ai/update": { "post": { "operationId": "ai-update", "tags": [ "ai" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "aiId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "apiUrl": { "type": "string", "format": "uri" }, "apiKey": { "type": "string" }, "model": { "type": "string", "minLength": 1 }, "isEnabled": { "type": "boolean" }, "createdAt": { "type": "string" } }, "required": [ "aiId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/ai/getAll": { "get": { "operationId": "ai-getAll", "tags": [ "ai" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/ai/get": { "get": { "operationId": "ai-get", "tags": [ "ai" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "aiId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/ai/delete": { "post": { "operationId": "ai-delete", "tags": [ "ai" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "aiId": { "type": "string" } }, "required": [ "aiId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/ai/suggest": { "post": { "operationId": "ai-suggest", "tags": [ "ai" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "aiId": { "type": "string" }, "input": { "type": "string" }, "serverId": { "type": "string" } }, "required": [ "aiId", "input" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/ai/deploy": { "post": { "operationId": "ai-deploy", "tags": [ "ai" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "environmentId": { "type": "string", "minLength": 1 }, "id": { "type": "string", "minLength": 1 }, "dockerCompose": { "type": "string", "minLength": 1 }, "envVariables": { "type": "string" }, "serverId": { "type": "string" }, "name": { "type": "string", "minLength": 1 }, "description": { "type": "string" }, "domains": { "type": "array", "items": { "type": "object", "properties": { "host": { "type": "string", "minLength": 1 }, "port": { "type": "number", "minimum": 1 }, "serviceName": { "type": "string", "minLength": 1 } }, "required": [ "host", "port", "serviceName" ] } }, "configFiles": { "type": "array", "items": { "type": "object", "properties": { "filePath": { "type": "string", "minLength": 1 }, "content": { "type": "string", "minLength": 1 } }, "required": [ "filePath", "content" ] } } }, "required": [ "environmentId", "id", "dockerCompose", "envVariables", "name", "description" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/organization/create": { "post": { "operationId": "organization-create", "tags": [ "organization" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" }, "logo": { "type": "string" } }, "required": [ "name" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/organization/all": { "get": { "operationId": "organization-all", "tags": [ "organization" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/organization/one": { "get": { "operationId": "organization-one", "tags": [ "organization" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "organizationId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/organization/update": { "post": { "operationId": "organization-update", "tags": [ "organization" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "organizationId": { "type": "string" }, "name": { "type": "string" }, "logo": { "type": "string" } }, "required": [ "organizationId", "name" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/organization/delete": { "post": { "operationId": "organization-delete", "tags": [ "organization" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "organizationId": { "type": "string" } }, "required": [ "organizationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/organization/allInvitations": { "get": { "operationId": "organization-allInvitations", "tags": [ "organization" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/organization/removeInvitation": { "post": { "operationId": "organization-removeInvitation", "tags": [ "organization" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "invitationId": { "type": "string" } }, "required": [ "invitationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/organization/updateMemberRole": { "post": { "operationId": "organization-updateMemberRole", "tags": [ "organization" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "memberId": { "type": "string" }, "role": { "type": "string", "enum": [ "admin", "member" ] } }, "required": [ "memberId", "role" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/organization/setDefault": { "post": { "operationId": "organization-setDefault", "tags": [ "organization" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "organizationId": { "type": "string", "minLength": 1 } }, "required": [ "organizationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/licenseKey/activate": { "post": { "operationId": "licenseKey-activate", "tags": [ "licenseKey" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "licenseKey": { "type": "string", "minLength": 1 } }, "required": [ "licenseKey" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/licenseKey/validate": { "post": { "operationId": "licenseKey-validate", "tags": [ "licenseKey" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/licenseKey/deactivate": { "post": { "operationId": "licenseKey-deactivate", "tags": [ "licenseKey" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/licenseKey/getEnterpriseSettings": { "get": { "operationId": "licenseKey-getEnterpriseSettings", "tags": [ "licenseKey" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/licenseKey/haveValidLicenseKey": { "get": { "operationId": "licenseKey-haveValidLicenseKey", "tags": [ "licenseKey" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/licenseKey/updateEnterpriseSettings": { "post": { "operationId": "licenseKey-updateEnterpriseSettings", "tags": [ "licenseKey" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "enableEnterpriseFeatures": { "type": "boolean" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sso/showSignInWithSSO": { "get": { "operationId": "sso-showSignInWithSSO", "tags": [ "sso" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sso/listProviders": { "get": { "operationId": "sso-listProviders", "tags": [ "sso" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sso/getTrustedOrigins": { "get": { "operationId": "sso-getTrustedOrigins", "tags": [ "sso" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sso/one": { "get": { "operationId": "sso-one", "tags": [ "sso" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "providerId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sso/update": { "post": { "operationId": "sso-update", "tags": [ "sso" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "providerId": { "type": "string" }, "issuer": { "type": "string" }, "domains": { "type": "array", "items": { "type": "string" } }, "oidcConfig": { "type": "object", "properties": { "clientId": { "type": "string" }, "clientSecret": { "type": "string" }, "authorizationEndpoint": { "type": "string" }, "tokenEndpoint": { "type": "string" }, "userInfoEndpoint": { "type": "string" }, "tokenEndpointAuthentication": { "type": "string", "enum": [ "client_secret_post", "client_secret_basic" ] }, "jwksEndpoint": { "type": "string" }, "discoveryEndpoint": { "type": "string" }, "skipDiscovery": { "type": "boolean" }, "scopes": { "type": "array", "items": { "type": "string" } }, "pkce": { "default": true, "type": "boolean" }, "mapping": { "type": "object", "properties": { "id": { "type": "string" }, "email": { "type": "string" }, "emailVerified": { "type": "string" }, "name": { "type": "string" }, "image": { "type": "string" }, "extraFields": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } }, "required": [ "id", "email", "name" ] } }, "required": [ "clientId", "clientSecret" ] }, "samlConfig": { "type": "object", "properties": { "entryPoint": { "type": "string" }, "cert": { "type": "string" }, "callbackUrl": { "type": "string" }, "audience": { "type": "string" }, "idpMetadata": { "type": "object", "properties": { "metadata": { "type": "string" }, "entityID": { "type": "string" }, "cert": { "type": "string" }, "privateKey": { "type": "string" }, "privateKeyPass": { "type": "string" }, "isAssertionEncrypted": { "type": "boolean" }, "encPrivateKey": { "type": "string" }, "encPrivateKeyPass": { "type": "string" }, "singleSignOnService": { "type": "array", "items": { "type": "object", "properties": { "Binding": { "type": "string" }, "Location": { "type": "string" } }, "required": [ "Binding", "Location" ] } } } }, "spMetadata": { "type": "object", "properties": { "metadata": { "type": "string" }, "entityID": { "type": "string" }, "binding": { "type": "string" }, "privateKey": { "type": "string" }, "privateKeyPass": { "type": "string" }, "isAssertionEncrypted": { "type": "boolean" }, "encPrivateKey": { "type": "string" }, "encPrivateKeyPass": { "type": "string" } } }, "wantAssertionsSigned": { "type": "boolean" }, "authnRequestsSigned": { "type": "boolean" }, "signatureAlgorithm": { "type": "string" }, "digestAlgorithm": { "type": "string" }, "identifierFormat": { "type": "string" }, "privateKey": { "type": "string" }, "decryptionPvk": { "type": "string" }, "additionalParams": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "mapping": { "type": "object", "properties": { "id": { "type": "string" }, "email": { "type": "string" }, "emailVerified": { "type": "string" }, "name": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "extraFields": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } }, "required": [ "id", "email", "name" ] } }, "required": [ "entryPoint", "cert", "callbackUrl", "spMetadata" ] }, "organizationId": { "type": "string" }, "overrideUserInfo": { "default": false, "type": "boolean" } }, "required": [ "providerId", "issuer", "domains" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sso/deleteProvider": { "post": { "operationId": "sso-deleteProvider", "tags": [ "sso" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "providerId": { "type": "string", "minLength": 1 } }, "required": [ "providerId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sso/register": { "post": { "operationId": "sso-register", "tags": [ "sso" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "providerId": { "type": "string" }, "issuer": { "type": "string" }, "domains": { "type": "array", "items": { "type": "string" } }, "oidcConfig": { "type": "object", "properties": { "clientId": { "type": "string" }, "clientSecret": { "type": "string" }, "authorizationEndpoint": { "type": "string" }, "tokenEndpoint": { "type": "string" }, "userInfoEndpoint": { "type": "string" }, "tokenEndpointAuthentication": { "type": "string", "enum": [ "client_secret_post", "client_secret_basic" ] }, "jwksEndpoint": { "type": "string" }, "discoveryEndpoint": { "type": "string" }, "skipDiscovery": { "type": "boolean" }, "scopes": { "type": "array", "items": { "type": "string" } }, "pkce": { "default": true, "type": "boolean" }, "mapping": { "type": "object", "properties": { "id": { "type": "string" }, "email": { "type": "string" }, "emailVerified": { "type": "string" }, "name": { "type": "string" }, "image": { "type": "string" }, "extraFields": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } }, "required": [ "id", "email", "name" ] } }, "required": [ "clientId", "clientSecret" ] }, "samlConfig": { "type": "object", "properties": { "entryPoint": { "type": "string" }, "cert": { "type": "string" }, "callbackUrl": { "type": "string" }, "audience": { "type": "string" }, "idpMetadata": { "type": "object", "properties": { "metadata": { "type": "string" }, "entityID": { "type": "string" }, "cert": { "type": "string" }, "privateKey": { "type": "string" }, "privateKeyPass": { "type": "string" }, "isAssertionEncrypted": { "type": "boolean" }, "encPrivateKey": { "type": "string" }, "encPrivateKeyPass": { "type": "string" }, "singleSignOnService": { "type": "array", "items": { "type": "object", "properties": { "Binding": { "type": "string" }, "Location": { "type": "string" } }, "required": [ "Binding", "Location" ] } } } }, "spMetadata": { "type": "object", "properties": { "metadata": { "type": "string" }, "entityID": { "type": "string" }, "binding": { "type": "string" }, "privateKey": { "type": "string" }, "privateKeyPass": { "type": "string" }, "isAssertionEncrypted": { "type": "boolean" }, "encPrivateKey": { "type": "string" }, "encPrivateKeyPass": { "type": "string" } } }, "wantAssertionsSigned": { "type": "boolean" }, "authnRequestsSigned": { "type": "boolean" }, "signatureAlgorithm": { "type": "string" }, "digestAlgorithm": { "type": "string" }, "identifierFormat": { "type": "string" }, "privateKey": { "type": "string" }, "decryptionPvk": { "type": "string" }, "additionalParams": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "mapping": { "type": "object", "properties": { "id": { "type": "string" }, "email": { "type": "string" }, "emailVerified": { "type": "string" }, "name": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "extraFields": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } }, "required": [ "id", "email", "name" ] } }, "required": [ "entryPoint", "cert", "callbackUrl", "spMetadata" ] }, "organizationId": { "type": "string" }, "overrideUserInfo": { "default": false, "type": "boolean" } }, "required": [ "providerId", "issuer", "domains" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sso/addTrustedOrigin": { "post": { "operationId": "sso-addTrustedOrigin", "tags": [ "sso" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "origin": { "type": "string", "minLength": 1 } }, "required": [ "origin" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sso/removeTrustedOrigin": { "post": { "operationId": "sso-removeTrustedOrigin", "tags": [ "sso" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "origin": { "type": "string", "minLength": 1 } }, "required": [ "origin" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/sso/updateTrustedOrigin": { "post": { "operationId": "sso-updateTrustedOrigin", "tags": [ "sso" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "oldOrigin": { "type": "string", "minLength": 1 }, "newOrigin": { "type": "string", "minLength": 1 } }, "required": [ "oldOrigin", "newOrigin" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/schedule/create": { "post": { "operationId": "schedule-create", "tags": [ "schedule" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "scheduleId": { "type": "string" }, "name": { "type": "string" }, "cronExpression": { "type": "string" }, "appName": { "type": "string" }, "serviceName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "shellType": { "type": "string", "enum": [ "bash", "sh" ] }, "scheduleType": { "type": "string", "enum": [ "application", "compose", "server", "dokploy-server" ] }, "command": { "type": "string" }, "script": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "applicationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "composeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serverId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "userId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "enabled": { "type": "boolean" }, "timezone": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" } }, "required": [ "name", "cronExpression", "command" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/schedule/update": { "post": { "operationId": "schedule-update", "tags": [ "schedule" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "scheduleId": { "type": "string", "minLength": 1 }, "name": { "type": "string" }, "cronExpression": { "type": "string" }, "appName": { "type": "string" }, "serviceName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "shellType": { "type": "string", "enum": [ "bash", "sh" ] }, "scheduleType": { "type": "string", "enum": [ "application", "compose", "server", "dokploy-server" ] }, "command": { "type": "string" }, "script": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "applicationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "composeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "serverId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "userId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "enabled": { "type": "boolean" }, "timezone": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" } }, "required": [ "scheduleId", "name", "cronExpression", "command" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/schedule/delete": { "post": { "operationId": "schedule-delete", "tags": [ "schedule" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "scheduleId": { "type": "string" } }, "required": [ "scheduleId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/schedule/list": { "get": { "operationId": "schedule-list", "tags": [ "schedule" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "id", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "scheduleType", "schema": { "type": "string", "enum": [ "application", "compose", "server", "dokploy-server" ] }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/schedule/one": { "get": { "operationId": "schedule-one", "tags": [ "schedule" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "scheduleId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/schedule/runManually": { "post": { "operationId": "schedule-runManually", "tags": [ "schedule" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "scheduleId": { "type": "string", "minLength": 1 } }, "required": [ "scheduleId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/rollback/delete": { "post": { "operationId": "rollback-delete", "tags": [ "rollback" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "rollbackId": { "type": "string", "minLength": 1 } }, "required": [ "rollbackId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/rollback/rollback": { "post": { "operationId": "rollback-rollback", "tags": [ "rollback" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "rollbackId": { "type": "string", "minLength": 1 } }, "required": [ "rollbackId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/volumeBackups/list": { "get": { "operationId": "volumeBackups-list", "tags": [ "volumeBackups" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "id", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "volumeBackupType", "schema": { "type": "string", "enum": [ "application", "postgres", "mysql", "mariadb", "mongo", "redis", "compose" ] }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/volumeBackups/create": { "post": { "operationId": "volumeBackups-create", "tags": [ "volumeBackups" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" }, "volumeName": { "type": "string" }, "prefix": { "type": "string" }, "serviceType": { "type": "string", "enum": [ "application", "postgres", "mysql", "mariadb", "mongo", "redis", "compose" ] }, "appName": { "type": "string" }, "serviceName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "turnOff": { "type": "boolean" }, "cronExpression": { "type": "string" }, "keepLatestCount": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "applicationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "postgresId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mariadbId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mongoId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mysqlId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "redisId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "composeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "destinationId": { "type": "string" } }, "required": [ "name", "volumeName", "prefix", "cronExpression", "destinationId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/volumeBackups/one": { "get": { "operationId": "volumeBackups-one", "tags": [ "volumeBackups" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "volumeBackupId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/volumeBackups/delete": { "post": { "operationId": "volumeBackups-delete", "tags": [ "volumeBackups" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "volumeBackupId": { "type": "string", "minLength": 1 } }, "required": [ "volumeBackupId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/volumeBackups/update": { "post": { "operationId": "volumeBackups-update", "tags": [ "volumeBackups" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" }, "volumeName": { "type": "string" }, "prefix": { "type": "string" }, "serviceType": { "type": "string", "enum": [ "application", "postgres", "mysql", "mariadb", "mongo", "redis", "compose" ] }, "appName": { "type": "string" }, "serviceName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "turnOff": { "type": "boolean" }, "cronExpression": { "type": "string" }, "keepLatestCount": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "applicationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "postgresId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mariadbId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mongoId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mysqlId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "redisId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "composeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "destinationId": { "type": "string" }, "volumeBackupId": { "type": "string", "minLength": 1 } }, "required": [ "name", "volumeName", "prefix", "cronExpression", "destinationId", "volumeBackupId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/volumeBackups/runManually": { "post": { "operationId": "volumeBackups-runManually", "tags": [ "volumeBackups" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "volumeBackupId": { "type": "string", "minLength": 1 } }, "required": [ "volumeBackupId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/environment/create": { "post": { "operationId": "environment-create", "tags": [ "environment" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "description": { "type": "string" }, "projectId": { "type": "string", "minLength": 1 } }, "required": [ "name", "projectId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/environment/one": { "get": { "operationId": "environment-one", "tags": [ "environment" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "environmentId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/environment/byProjectId": { "get": { "operationId": "environment-byProjectId", "tags": [ "environment" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "projectId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/environment/remove": { "post": { "operationId": "environment-remove", "tags": [ "environment" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "environmentId": { "type": "string", "minLength": 1 } }, "required": [ "environmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/environment/update": { "post": { "operationId": "environment-update", "tags": [ "environment" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "environmentId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "description": { "type": "string" }, "projectId": { "type": "string" }, "env": { "type": "string" } }, "required": [ "environmentId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/environment/duplicate": { "post": { "operationId": "environment-duplicate", "tags": [ "environment" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "environmentId": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, "description": { "type": "string" } }, "required": [ "environmentId", "name" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/create": { "post": { "operationId": "patch-create", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "filePath": { "type": "string", "minLength": 1 }, "content": { "type": "string" }, "type": { "type": "string", "enum": [ "create", "update", "delete" ] }, "enabled": { "type": "boolean" }, "applicationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "composeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "filePath", "content" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/one": { "get": { "operationId": "patch-one", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "patchId", "schema": { "type": "string", "minLength": 1 }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/byEntityId": { "get": { "operationId": "patch-byEntityId", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "id", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "type", "schema": { "type": "string", "enum": [ "application", "compose" ] }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/update": { "post": { "operationId": "patch-update", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "patchId": { "type": "string", "minLength": 1 }, "type": { "type": "string", "enum": [ "create", "update", "delete" ] }, "filePath": { "type": "string", "minLength": 1 }, "enabled": { "type": "boolean" }, "content": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "patchId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/delete": { "post": { "operationId": "patch-delete", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "patchId": { "type": "string", "minLength": 1 } }, "required": [ "patchId" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/toggleEnabled": { "post": { "operationId": "patch-toggleEnabled", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "patchId": { "type": "string", "minLength": 1 }, "enabled": { "type": "boolean" } }, "required": [ "patchId", "enabled" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/ensureRepo": { "post": { "operationId": "patch-ensureRepo", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "application", "compose" ] } }, "required": [ "id", "type" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/readRepoDirectories": { "get": { "operationId": "patch-readRepoDirectories", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "id", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "type", "schema": { "type": "string", "enum": [ "application", "compose" ] }, "required": true }, { "in": "query", "name": "repoPath", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/readRepoFile": { "get": { "operationId": "patch-readRepoFile", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "id", "schema": { "type": "string", "minLength": 1 }, "required": true }, { "in": "query", "name": "type", "schema": { "type": "string", "enum": [ "application", "compose" ] }, "required": true }, { "in": "query", "name": "filePath", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/saveFileAsPatch": { "post": { "operationId": "patch-saveFileAsPatch", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "minLength": 1 }, "type": { "type": "string", "enum": [ "application", "compose" ] }, "filePath": { "type": "string" }, "content": { "type": "string" }, "patchType": { "default": "update", "type": "string", "enum": [ "create", "update" ] } }, "required": [ "id", "type", "filePath", "content" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/markFileForDeletion": { "post": { "operationId": "patch-markFileForDeletion", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "minLength": 1 }, "type": { "type": "string", "enum": [ "application", "compose" ] }, "filePath": { "type": "string" } }, "required": [ "id", "type", "filePath" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/patch/cleanPatchRepos": { "post": { "operationId": "patch-cleanPatchRepos", "tags": [ "patch" ], "security": [ { "Authorization": [] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "serverId": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } } }, "components": { "schemas": { "error.BAD_REQUEST": { "type": "object", "properties": { "message": { "type": "string", "description": "The error message", "example": "Invalid input data" }, "code": { "type": "string", "description": "The error code", "example": "BAD_REQUEST" }, "issues": { "description": "An array of issues that were responsible for the error", "example": [], "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } } }, "required": [ "message", "code" ], "additionalProperties": false, "title": "Invalid input data error (400)", "description": "The error information", "example": { "code": "BAD_REQUEST", "message": "Invalid input data", "issues": [] } }, "error.UNAUTHORIZED": { "type": "object", "properties": { "message": { "type": "string", "description": "The error message", "example": "Authorization not provided" }, "code": { "type": "string", "description": "The error code", "example": "UNAUTHORIZED" }, "issues": { "description": "An array of issues that were responsible for the error", "example": [], "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } } }, "required": [ "message", "code" ], "additionalProperties": false, "title": "Authorization not provided error (401)", "description": "The error information", "example": { "code": "UNAUTHORIZED", "message": "Authorization not provided", "issues": [] } }, "error.FORBIDDEN": { "type": "object", "properties": { "message": { "type": "string", "description": "The error message", "example": "Insufficient access" }, "code": { "type": "string", "description": "The error code", "example": "FORBIDDEN" }, "issues": { "description": "An array of issues that were responsible for the error", "example": [], "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } } }, "required": [ "message", "code" ], "additionalProperties": false, "title": "Insufficient access error (403)", "description": "The error information", "example": { "code": "FORBIDDEN", "message": "Insufficient access", "issues": [] } }, "error.INTERNAL_SERVER_ERROR": { "type": "object", "properties": { "message": { "type": "string", "description": "The error message", "example": "Internal server error" }, "code": { "type": "string", "description": "The error code", "example": "INTERNAL_SERVER_ERROR" }, "issues": { "description": "An array of issues that were responsible for the error", "example": [], "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } } }, "required": [ "message", "code" ], "additionalProperties": false, "title": "Internal server error error (500)", "description": "The error information", "example": { "code": "INTERNAL_SERVER_ERROR", "message": "Internal server error", "issues": [] } }, "error.NOT_FOUND": { "type": "object", "properties": { "message": { "type": "string", "description": "The error message", "example": "Not found" }, "code": { "type": "string", "description": "The error code", "example": "NOT_FOUND" }, "issues": { "description": "An array of issues that were responsible for the error", "example": [], "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } } }, "required": [ "message", "code" ], "additionalProperties": false, "title": "Not found error (404)", "description": "The error information", "example": { "code": "NOT_FOUND", "message": "Not found", "issues": [] } } }, "securitySchemes": { "apiKey": { "type": "apiKey", "in": "header", "name": "x-api-key", "description": "API key authentication. Generate an API key from your Dokploy dashboard under Settings > API Keys." } } }, "security": [ { "apiKey": [] } ] }