20004 lines · 393.0 KB · JSON
RawDownload
{	"openapi": "3.0.3",	"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"		}	],	"paths": {		"/admin.setupMonitoring": {			"post": {				"operationId": "admin-setupMonitoring",				"tags": ["admin"],				"security": [					{						"Authorization": []					}				],				"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"],														"additionalProperties": false													}												},												"required": [													"refreshRate",													"port",													"token",													"urlCallback",													"retentionDays",													"cronJob",													"thresholds"												],												"additionalProperties": false											},											"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"																}															}														},														"additionalProperties": false													}												},												"required": ["refreshRate", "services"],												"additionalProperties": false											}										},										"required": ["server", "containers"],										"additionalProperties": false									}								},								"required": ["metricsConfig"],								"additionalProperties": false							}						}					}				},				"parameters": [],				"responses": {					"200": {						"description": "Successful response",						"content": {							"application/json": {}						}					},					"default": {						"$ref": "#/components/responses/error"					}				}			}		},		"/docker.getContainers": {			"get": {				"operationId": "docker-getContainers",				"tags": ["docker"],				"security": [					{						"Authorization": []					}				],				"parameters": [					{						"name": "serverId",						"in": "query",						"required": false,						"schema": {							"type": "string"						}					}				],				"responses": {					"200": {						"description": "Successful response",						"content": {							"application/json": {}						}					},					"default": {						"$ref": "#/components/responses/error"					}				}			}		},		"/docker.restartContainer": {			"post": {				"operationId": "docker-restartContainer",				"tags": ["docker"],				"security": [					{						"Authorization": []					}				],				"requestBody": {					"required": true,					"content": {						"application/json": {							"schema": {								"type": "object",								"properties": {									"containerId": {										"type": "string",										"minLength": 1,										"pattern": "^[a-zA-Z0-9.\\-_]+$"									}								},								"required": ["containerId"],								"additionalProperties": false							}						}					}				},				"parameters": [],				"responses": {					"200": {						"description": "Successful response",						"content": {							"application/json": {}						}					},					"default": {						"$ref": "#/components/responses/error"					}				}			}		},		"/docker.getConfig": {			"get": {				"operationId": "docker-getConfig",				"tags": ["docker"],				"security": [					{						"Authorization": []					}				],				"parameters": [					{						"name": "containerId",						"in": "query",						"required": true,						"schema": {							"type": "string",							"minLength": 1,							"pattern": "^[a-zA-Z0-9.\\-_]+$"						}					},					{						"name": "serverId",						"in": "query",						"required": false,						"schema": {							"type": "string"						}					}				],				"responses": {					"200": {						"description": "Successful response",						"content": {							"application/json": {}						}					},					"default": {						"$ref": "#/components/responses/error"					}				}			}		},		"/docker.getContainersByAppNameMatch": {			"get": {				"operationId": "docker-getContainersByAppNameMatch",				"tags": ["docker"],				"security": [					{						"Authorization": []					}				],				"parameters": [					{						"name": "appType",						"in": "query",						"required": false,						"schema": {							"anyOf": [								{									"type": "string",									"enum": ["stack"]								},								{									"type": "string",									"enum": ["docker-compose"]								}							]						}					},					{						"name": "appName",						"in": "query",						"required": true,						"schema": {							"type": "string",							"minLength": 1,							"pattern": "^[a-zA-Z0-9.\\-_]+$"						}					},					{						"name": "serverId",						"in": "query",						"required": false,						"schema": {							"type": "string"						}					}				],				"responses": {					"200": {						"description": "Successful response",						"content": {							"application/json": {}						}					},					"default": {						"$ref": "#/components/responses/error"					}				}			}		},		"/docker.getContainersByAppLabel": {			"get": {				"operationId": "docker-getContainersByAppLabel",				"tags": ["docker"],				"security": [					{						"Authorization": []					}				],				"parameters": [					{						"name": "appName",						"in": "query",						"required": true,						"schema": {							"type": "string",							"minLength": 1,							"pattern": "^[a-zA-Z0-9.\\-_]+$"						}					},					{						"name": "serverId",						"in": "query",						"required": false,						"schema": {							"type": "string"						}					},					{						"name": "type",						"in": "query",						"required": true,						"schema": {							"type": "string",							"enum": ["standalone", "swarm"]						}					}				],				"responses": {					"200": {						"description": "Successful response",						"content": {							"application/json": {}						}					},					"default": {						"$ref": "#/components/responses/error"					}				}			}		},		"/docker.getStackContainersByAppName": {			"get": {				"operationId": "docker-getStackContainersByAppName",				"tags": ["docker"],				"security": [					{						"Authorization": []					}				],				"parameters": [					{						"name": "appName",						"in": "query",						"required": true,						"schema": {							"type": "string",							"minLength": 1,							"pattern": "^[a-zA-Z0-9.\\-_]+$"						}					},					{						"name": "serverId",						"in": "query",						"required": false,						"schema": {							"type": "string"						}					}				],				"responses": {					"200": {						"description": "Successful response",						"content": {							"application/json": {}						}					},					"default": {						"$ref": "#/components/responses/error"					}				}			}		},		"/docker.getServiceContainersByAppName": {			"get": {				"operationId": "docker-getServiceContainersByAppName",				"tags": ["docker"],				"security": [					{						"Authorization": []					}				],				"parameters": [					{						"name": "appName",						"in": "query",						"required": true,						"schema": {							"type": "string",							"minLength": 1,							"pattern": "^[a-zA-Z0-9.\\-_]+$"						}					},					{						"name": "serverId",						"in": "query",						"required": false,						"schema": {							"type": "string"						}					}				],				"responses": {					"200": {						"description": "Successful response",						"content": {							"application/json": {}						}					},					"default": {						"$ref": "#/components/responses/error"					}				}			}		},		"/project.create": {			"post": {				"operationId": "project-create",				"tags": ["project"],				"security": [					{						"Authorization": []					}				],				"requestBody": {					"required": true,					"content": {						"application/json": {							"schema": {								"type": "object",								"properties": {									"name": {										"type": "string",										"minLength": 1									},									"description": {										"type": "string",										"nullable": true									},									"env": {										"type": "string"									}								},								"required": ["name"],								"additionalProperties": false							}						}					}				},				"parameters": [],				"responses": {					"200": {						"description": "Successful response",						"content": {							"application/json": {}						}					},					"default": {

Lines 1–500 of 20004.