#
tokens: 49824/50000 1/56 files (page 4/5)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 4 of 5. Use http://codebase.md/stumason/coolify-mcp?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .cursor
│   └── rules
│       ├── 000-cursor-rules.mdc
│       ├── 801-feature-workflow.mdc
│       ├── 802-coolify-mcp-workflow.mdc
│       └── 803-npm-publish-workflow.mdc
├── .eslintrc.json
├── .github
│   └── workflows
│       └── ci.yml
├── .gitignore
├── .lintstagedrc.json
├── .markdownlint-cli2.jsonc
├── .prettierrc
├── .repomixignore
├── debug.js
├── docs
│   ├── coolify-openapi.yaml
│   ├── features
│   │   ├── 001-core-server-setup.md
│   │   ├── 002-server-info-resource.md
│   │   ├── 003-project-management.md
│   │   ├── 004-environment-management.md
│   │   ├── 005-application-deployment.md
│   │   ├── 006-database-management.md
│   │   ├── 007-service-management.md
│   │   ├── 008-mcp-resources-implementation.md
│   │   ├── 009-mcp-prompts-implementation.md
│   │   ├── 010-private-key-management.md
│   │   ├── 011-team-management.md
│   │   ├── 012-backup-management.md
│   │   ├── 013-npx-config-fix.md
│   │   └── future-adrs.md
│   ├── mcp-example-clients.md
│   ├── mcp-js-readme.md
│   └── openapi-chunks
│       ├── applications-api.yaml
│       ├── databases-api.yaml
│       ├── deployments-api.yaml
│       ├── private-keys-api.yaml
│       ├── projects-api.yaml
│       ├── resources-api.yaml
│       ├── schemas.yaml
│       ├── servers-api.yaml
│       ├── services-api.yaml
│       ├── teams-api.yaml
│       └── untagged-api.yaml
├── jest.config.js
├── package-lock.json
├── package.json
├── README.md
├── repomix-output.xml
├── src
│   ├── __tests__
│   │   ├── coolify-client.test.ts
│   │   └── resources
│   │       ├── application-resources.test.ts
│   │       ├── database-resources.test.ts
│   │       ├── deployment-resources.test.ts
│   │       └── service-resources.test.ts
│   ├── index.ts
│   ├── lib
│   │   ├── coolify-client.ts
│   │   ├── mcp-server.ts
│   │   └── resource.ts
│   ├── resources
│   │   ├── application-resources.ts
│   │   ├── database-resources.ts
│   │   ├── deployment-resources.ts
│   │   ├── index.ts
│   │   └── service-resources.ts
│   └── types
│       └── coolify.ts
└── tsconfig.json
```

# Files

--------------------------------------------------------------------------------
/docs/coolify-openapi.yaml:
--------------------------------------------------------------------------------

```yaml
   1 | openapi: 3.1.0
   2 | info:
   3 |   title: Coolify
   4 |   version: '0.1'
   5 | servers:
   6 |   - url: 'https://app.coolify.io/api/v1'
   7 |     description: 'Coolify Cloud API. Change the host to your own instance if you are self-hosting.'
   8 | paths:
   9 |   /applications:
  10 |     get:
  11 |       tags:
  12 |         - Applications
  13 |       summary: List
  14 |       description: 'List all applications.'
  15 |       operationId: list-applications
  16 |       responses:
  17 |         '200':
  18 |           description: 'Get all applications.'
  19 |           content:
  20 |             application/json:
  21 |               schema:
  22 |                 type: array
  23 |                 items:
  24 |                   $ref: '#/components/schemas/Application'
  25 |         '401':
  26 |           $ref: '#/components/responses/401'
  27 |         '400':
  28 |           $ref: '#/components/responses/400'
  29 |       security:
  30 |         - bearerAuth: []
  31 |   /applications/public:
  32 |     post:
  33 |       tags:
  34 |         - Applications
  35 |       summary: 'Create (Public)'
  36 |       description: 'Create new application based on a public git repository.'
  37 |       operationId: create-public-application
  38 |       requestBody:
  39 |         description: 'Application object that needs to be created.'
  40 |         required: true
  41 |         content:
  42 |           application/json:
  43 |             schema:
  44 |               required:
  45 |                 - project_uuid
  46 |                 - server_uuid
  47 |                 - environment_name
  48 |                 - environment_uuid
  49 |                 - git_repository
  50 |                 - git_branch
  51 |                 - build_pack
  52 |                 - ports_exposes
  53 |               properties:
  54 |                 project_uuid:
  55 |                   type: string
  56 |                   description: 'The project UUID.'
  57 |                 server_uuid:
  58 |                   type: string
  59 |                   description: 'The server UUID.'
  60 |                 environment_name:
  61 |                   type: string
  62 |                   description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
  63 |                 environment_uuid:
  64 |                   type: string
  65 |                   description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
  66 |                 git_repository:
  67 |                   type: string
  68 |                   description: 'The git repository URL.'
  69 |                 git_branch:
  70 |                   type: string
  71 |                   description: 'The git branch.'
  72 |                 build_pack:
  73 |                   type: string
  74 |                   enum: [nixpacks, static, dockerfile, dockercompose]
  75 |                   description: 'The build pack type.'
  76 |                 ports_exposes:
  77 |                   type: string
  78 |                   description: 'The ports to expose.'
  79 |                 destination_uuid:
  80 |                   type: string
  81 |                   description: 'The destination UUID.'
  82 |                 name:
  83 |                   type: string
  84 |                   description: 'The application name.'
  85 |                 description:
  86 |                   type: string
  87 |                   description: 'The application description.'
  88 |                 domains:
  89 |                   type: string
  90 |                   description: 'The application domains.'
  91 |                 git_commit_sha:
  92 |                   type: string
  93 |                   description: 'The git commit SHA.'
  94 |                 docker_registry_image_name:
  95 |                   type: string
  96 |                   description: 'The docker registry image name.'
  97 |                 docker_registry_image_tag:
  98 |                   type: string
  99 |                   description: 'The docker registry image tag.'
 100 |                 is_static:
 101 |                   type: boolean
 102 |                   description: 'The flag to indicate if the application is static.'
 103 |                 static_image:
 104 |                   type: string
 105 |                   enum: ['nginx:alpine']
 106 |                   description: 'The static image.'
 107 |                 install_command:
 108 |                   type: string
 109 |                   description: 'The install command.'
 110 |                 build_command:
 111 |                   type: string
 112 |                   description: 'The build command.'
 113 |                 start_command:
 114 |                   type: string
 115 |                   description: 'The start command.'
 116 |                 ports_mappings:
 117 |                   type: string
 118 |                   description: 'The ports mappings.'
 119 |                 base_directory:
 120 |                   type: string
 121 |                   description: 'The base directory for all commands.'
 122 |                 publish_directory:
 123 |                   type: string
 124 |                   description: 'The publish directory.'
 125 |                 health_check_enabled:
 126 |                   type: boolean
 127 |                   description: 'Health check enabled.'
 128 |                 health_check_path:
 129 |                   type: string
 130 |                   description: 'Health check path.'
 131 |                 health_check_port:
 132 |                   type: string
 133 |                   nullable: true
 134 |                   description: 'Health check port.'
 135 |                 health_check_host:
 136 |                   type: string
 137 |                   nullable: true
 138 |                   description: 'Health check host.'
 139 |                 health_check_method:
 140 |                   type: string
 141 |                   description: 'Health check method.'
 142 |                 health_check_return_code:
 143 |                   type: integer
 144 |                   description: 'Health check return code.'
 145 |                 health_check_scheme:
 146 |                   type: string
 147 |                   description: 'Health check scheme.'
 148 |                 health_check_response_text:
 149 |                   type: string
 150 |                   nullable: true
 151 |                   description: 'Health check response text.'
 152 |                 health_check_interval:
 153 |                   type: integer
 154 |                   description: 'Health check interval in seconds.'
 155 |                 health_check_timeout:
 156 |                   type: integer
 157 |                   description: 'Health check timeout in seconds.'
 158 |                 health_check_retries:
 159 |                   type: integer
 160 |                   description: 'Health check retries count.'
 161 |                 health_check_start_period:
 162 |                   type: integer
 163 |                   description: 'Health check start period in seconds.'
 164 |                 limits_memory:
 165 |                   type: string
 166 |                   description: 'Memory limit.'
 167 |                 limits_memory_swap:
 168 |                   type: string
 169 |                   description: 'Memory swap limit.'
 170 |                 limits_memory_swappiness:
 171 |                   type: integer
 172 |                   description: 'Memory swappiness.'
 173 |                 limits_memory_reservation:
 174 |                   type: string
 175 |                   description: 'Memory reservation.'
 176 |                 limits_cpus:
 177 |                   type: string
 178 |                   description: 'CPU limit.'
 179 |                 limits_cpuset:
 180 |                   type: string
 181 |                   nullable: true
 182 |                   description: 'CPU set.'
 183 |                 limits_cpu_shares:
 184 |                   type: integer
 185 |                   description: 'CPU shares.'
 186 |                 custom_labels:
 187 |                   type: string
 188 |                   description: 'Custom labels.'
 189 |                 custom_docker_run_options:
 190 |                   type: string
 191 |                   description: 'Custom docker run options.'
 192 |                 post_deployment_command:
 193 |                   type: string
 194 |                   description: 'Post deployment command.'
 195 |                 post_deployment_command_container:
 196 |                   type: string
 197 |                   description: 'Post deployment command container.'
 198 |                 pre_deployment_command:
 199 |                   type: string
 200 |                   description: 'Pre deployment command.'
 201 |                 pre_deployment_command_container:
 202 |                   type: string
 203 |                   description: 'Pre deployment command container.'
 204 |                 manual_webhook_secret_github:
 205 |                   type: string
 206 |                   description: 'Manual webhook secret for Github.'
 207 |                 manual_webhook_secret_gitlab:
 208 |                   type: string
 209 |                   description: 'Manual webhook secret for Gitlab.'
 210 |                 manual_webhook_secret_bitbucket:
 211 |                   type: string
 212 |                   description: 'Manual webhook secret for Bitbucket.'
 213 |                 manual_webhook_secret_gitea:
 214 |                   type: string
 215 |                   description: 'Manual webhook secret for Gitea.'
 216 |                 redirect:
 217 |                   type: string
 218 |                   nullable: true
 219 |                   description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
 220 |                   enum: [www, non-www, both]
 221 |                 instant_deploy:
 222 |                   type: boolean
 223 |                   description: 'The flag to indicate if the application should be deployed instantly.'
 224 |                 dockerfile:
 225 |                   type: string
 226 |                   description: 'The Dockerfile content.'
 227 |                 docker_compose_location:
 228 |                   type: string
 229 |                   description: 'The Docker Compose location.'
 230 |                 docker_compose_raw:
 231 |                   type: string
 232 |                   description: 'The Docker Compose raw content.'
 233 |                 docker_compose_custom_start_command:
 234 |                   type: string
 235 |                   description: 'The Docker Compose custom start command.'
 236 |                 docker_compose_custom_build_command:
 237 |                   type: string
 238 |                   description: 'The Docker Compose custom build command.'
 239 |                 docker_compose_domains:
 240 |                   type: array
 241 |                   description: 'The Docker Compose domains.'
 242 |                 watch_paths:
 243 |                   type: string
 244 |                   description: 'The watch paths.'
 245 |                 use_build_server:
 246 |                   type: boolean
 247 |                   nullable: true
 248 |                   description: 'Use build server.'
 249 |               type: object
 250 |       responses:
 251 |         '201':
 252 |           description: 'Application created successfully.'
 253 |           content:
 254 |             application/json:
 255 |               schema:
 256 |                 properties:
 257 |                   uuid: { type: string }
 258 |                 type: object
 259 |         '401':
 260 |           $ref: '#/components/responses/401'
 261 |         '400':
 262 |           $ref: '#/components/responses/400'
 263 |       security:
 264 |         - bearerAuth: []
 265 |   /applications/private-github-app:
 266 |     post:
 267 |       tags:
 268 |         - Applications
 269 |       summary: 'Create (Private - GH App)'
 270 |       description: 'Create new application based on a private repository through a Github App.'
 271 |       operationId: create-private-github-app-application
 272 |       requestBody:
 273 |         description: 'Application object that needs to be created.'
 274 |         required: true
 275 |         content:
 276 |           application/json:
 277 |             schema:
 278 |               required:
 279 |                 - project_uuid
 280 |                 - server_uuid
 281 |                 - environment_name
 282 |                 - environment_uuid
 283 |                 - github_app_uuid
 284 |                 - git_repository
 285 |                 - git_branch
 286 |                 - build_pack
 287 |                 - ports_exposes
 288 |               properties:
 289 |                 project_uuid:
 290 |                   type: string
 291 |                   description: 'The project UUID.'
 292 |                 server_uuid:
 293 |                   type: string
 294 |                   description: 'The server UUID.'
 295 |                 environment_name:
 296 |                   type: string
 297 |                   description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
 298 |                 environment_uuid:
 299 |                   type: string
 300 |                   description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
 301 |                 github_app_uuid:
 302 |                   type: string
 303 |                   description: 'The Github App UUID.'
 304 |                 git_repository:
 305 |                   type: string
 306 |                   description: 'The git repository URL.'
 307 |                 git_branch:
 308 |                   type: string
 309 |                   description: 'The git branch.'
 310 |                 ports_exposes:
 311 |                   type: string
 312 |                   description: 'The ports to expose.'
 313 |                 destination_uuid:
 314 |                   type: string
 315 |                   description: 'The destination UUID.'
 316 |                 build_pack:
 317 |                   type: string
 318 |                   enum: [nixpacks, static, dockerfile, dockercompose]
 319 |                   description: 'The build pack type.'
 320 |                 name:
 321 |                   type: string
 322 |                   description: 'The application name.'
 323 |                 description:
 324 |                   type: string
 325 |                   description: 'The application description.'
 326 |                 domains:
 327 |                   type: string
 328 |                   description: 'The application domains.'
 329 |                 git_commit_sha:
 330 |                   type: string
 331 |                   description: 'The git commit SHA.'
 332 |                 docker_registry_image_name:
 333 |                   type: string
 334 |                   description: 'The docker registry image name.'
 335 |                 docker_registry_image_tag:
 336 |                   type: string
 337 |                   description: 'The docker registry image tag.'
 338 |                 is_static:
 339 |                   type: boolean
 340 |                   description: 'The flag to indicate if the application is static.'
 341 |                 static_image:
 342 |                   type: string
 343 |                   enum: ['nginx:alpine']
 344 |                   description: 'The static image.'
 345 |                 install_command:
 346 |                   type: string
 347 |                   description: 'The install command.'
 348 |                 build_command:
 349 |                   type: string
 350 |                   description: 'The build command.'
 351 |                 start_command:
 352 |                   type: string
 353 |                   description: 'The start command.'
 354 |                 ports_mappings:
 355 |                   type: string
 356 |                   description: 'The ports mappings.'
 357 |                 base_directory:
 358 |                   type: string
 359 |                   description: 'The base directory for all commands.'
 360 |                 publish_directory:
 361 |                   type: string
 362 |                   description: 'The publish directory.'
 363 |                 health_check_enabled:
 364 |                   type: boolean
 365 |                   description: 'Health check enabled.'
 366 |                 health_check_path:
 367 |                   type: string
 368 |                   description: 'Health check path.'
 369 |                 health_check_port:
 370 |                   type: string
 371 |                   nullable: true
 372 |                   description: 'Health check port.'
 373 |                 health_check_host:
 374 |                   type: string
 375 |                   nullable: true
 376 |                   description: 'Health check host.'
 377 |                 health_check_method:
 378 |                   type: string
 379 |                   description: 'Health check method.'
 380 |                 health_check_return_code:
 381 |                   type: integer
 382 |                   description: 'Health check return code.'
 383 |                 health_check_scheme:
 384 |                   type: string
 385 |                   description: 'Health check scheme.'
 386 |                 health_check_response_text:
 387 |                   type: string
 388 |                   nullable: true
 389 |                   description: 'Health check response text.'
 390 |                 health_check_interval:
 391 |                   type: integer
 392 |                   description: 'Health check interval in seconds.'
 393 |                 health_check_timeout:
 394 |                   type: integer
 395 |                   description: 'Health check timeout in seconds.'
 396 |                 health_check_retries:
 397 |                   type: integer
 398 |                   description: 'Health check retries count.'
 399 |                 health_check_start_period:
 400 |                   type: integer
 401 |                   description: 'Health check start period in seconds.'
 402 |                 limits_memory:
 403 |                   type: string
 404 |                   description: 'Memory limit.'
 405 |                 limits_memory_swap:
 406 |                   type: string
 407 |                   description: 'Memory swap limit.'
 408 |                 limits_memory_swappiness:
 409 |                   type: integer
 410 |                   description: 'Memory swappiness.'
 411 |                 limits_memory_reservation:
 412 |                   type: string
 413 |                   description: 'Memory reservation.'
 414 |                 limits_cpus:
 415 |                   type: string
 416 |                   description: 'CPU limit.'
 417 |                 limits_cpuset:
 418 |                   type: string
 419 |                   nullable: true
 420 |                   description: 'CPU set.'
 421 |                 limits_cpu_shares:
 422 |                   type: integer
 423 |                   description: 'CPU shares.'
 424 |                 custom_labels:
 425 |                   type: string
 426 |                   description: 'Custom labels.'
 427 |                 custom_docker_run_options:
 428 |                   type: string
 429 |                   description: 'Custom docker run options.'
 430 |                 post_deployment_command:
 431 |                   type: string
 432 |                   description: 'Post deployment command.'
 433 |                 post_deployment_command_container:
 434 |                   type: string
 435 |                   description: 'Post deployment command container.'
 436 |                 pre_deployment_command:
 437 |                   type: string
 438 |                   description: 'Pre deployment command.'
 439 |                 pre_deployment_command_container:
 440 |                   type: string
 441 |                   description: 'Pre deployment command container.'
 442 |                 manual_webhook_secret_github:
 443 |                   type: string
 444 |                   description: 'Manual webhook secret for Github.'
 445 |                 manual_webhook_secret_gitlab:
 446 |                   type: string
 447 |                   description: 'Manual webhook secret for Gitlab.'
 448 |                 manual_webhook_secret_bitbucket:
 449 |                   type: string
 450 |                   description: 'Manual webhook secret for Bitbucket.'
 451 |                 manual_webhook_secret_gitea:
 452 |                   type: string
 453 |                   description: 'Manual webhook secret for Gitea.'
 454 |                 redirect:
 455 |                   type: string
 456 |                   nullable: true
 457 |                   description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
 458 |                   enum: [www, non-www, both]
 459 |                 instant_deploy:
 460 |                   type: boolean
 461 |                   description: 'The flag to indicate if the application should be deployed instantly.'
 462 |                 dockerfile:
 463 |                   type: string
 464 |                   description: 'The Dockerfile content.'
 465 |                 docker_compose_location:
 466 |                   type: string
 467 |                   description: 'The Docker Compose location.'
 468 |                 docker_compose_raw:
 469 |                   type: string
 470 |                   description: 'The Docker Compose raw content.'
 471 |                 docker_compose_custom_start_command:
 472 |                   type: string
 473 |                   description: 'The Docker Compose custom start command.'
 474 |                 docker_compose_custom_build_command:
 475 |                   type: string
 476 |                   description: 'The Docker Compose custom build command.'
 477 |                 docker_compose_domains:
 478 |                   type: array
 479 |                   description: 'The Docker Compose domains.'
 480 |                 watch_paths:
 481 |                   type: string
 482 |                   description: 'The watch paths.'
 483 |                 use_build_server:
 484 |                   type: boolean
 485 |                   nullable: true
 486 |                   description: 'Use build server.'
 487 |               type: object
 488 |       responses:
 489 |         '201':
 490 |           description: 'Application created successfully.'
 491 |           content:
 492 |             application/json:
 493 |               schema:
 494 |                 properties:
 495 |                   uuid: { type: string }
 496 |                 type: object
 497 |         '401':
 498 |           $ref: '#/components/responses/401'
 499 |         '400':
 500 |           $ref: '#/components/responses/400'
 501 |       security:
 502 |         - bearerAuth: []
 503 |   /applications/private-deploy-key:
 504 |     post:
 505 |       tags:
 506 |         - Applications
 507 |       summary: 'Create (Private - Deploy Key)'
 508 |       description: 'Create new application based on a private repository through a Deploy Key.'
 509 |       operationId: create-private-deploy-key-application
 510 |       requestBody:
 511 |         description: 'Application object that needs to be created.'
 512 |         required: true
 513 |         content:
 514 |           application/json:
 515 |             schema:
 516 |               required:
 517 |                 - project_uuid
 518 |                 - server_uuid
 519 |                 - environment_name
 520 |                 - environment_uuid
 521 |                 - private_key_uuid
 522 |                 - git_repository
 523 |                 - git_branch
 524 |                 - build_pack
 525 |                 - ports_exposes
 526 |               properties:
 527 |                 project_uuid:
 528 |                   type: string
 529 |                   description: 'The project UUID.'
 530 |                 server_uuid:
 531 |                   type: string
 532 |                   description: 'The server UUID.'
 533 |                 environment_name:
 534 |                   type: string
 535 |                   description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
 536 |                 environment_uuid:
 537 |                   type: string
 538 |                   description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
 539 |                 private_key_uuid:
 540 |                   type: string
 541 |                   description: 'The private key UUID.'
 542 |                 git_repository:
 543 |                   type: string
 544 |                   description: 'The git repository URL.'
 545 |                 git_branch:
 546 |                   type: string
 547 |                   description: 'The git branch.'
 548 |                 ports_exposes:
 549 |                   type: string
 550 |                   description: 'The ports to expose.'
 551 |                 destination_uuid:
 552 |                   type: string
 553 |                   description: 'The destination UUID.'
 554 |                 build_pack:
 555 |                   type: string
 556 |                   enum: [nixpacks, static, dockerfile, dockercompose]
 557 |                   description: 'The build pack type.'
 558 |                 name:
 559 |                   type: string
 560 |                   description: 'The application name.'
 561 |                 description:
 562 |                   type: string
 563 |                   description: 'The application description.'
 564 |                 domains:
 565 |                   type: string
 566 |                   description: 'The application domains.'
 567 |                 git_commit_sha:
 568 |                   type: string
 569 |                   description: 'The git commit SHA.'
 570 |                 docker_registry_image_name:
 571 |                   type: string
 572 |                   description: 'The docker registry image name.'
 573 |                 docker_registry_image_tag:
 574 |                   type: string
 575 |                   description: 'The docker registry image tag.'
 576 |                 is_static:
 577 |                   type: boolean
 578 |                   description: 'The flag to indicate if the application is static.'
 579 |                 static_image:
 580 |                   type: string
 581 |                   enum: ['nginx:alpine']
 582 |                   description: 'The static image.'
 583 |                 install_command:
 584 |                   type: string
 585 |                   description: 'The install command.'
 586 |                 build_command:
 587 |                   type: string
 588 |                   description: 'The build command.'
 589 |                 start_command:
 590 |                   type: string
 591 |                   description: 'The start command.'
 592 |                 ports_mappings:
 593 |                   type: string
 594 |                   description: 'The ports mappings.'
 595 |                 base_directory:
 596 |                   type: string
 597 |                   description: 'The base directory for all commands.'
 598 |                 publish_directory:
 599 |                   type: string
 600 |                   description: 'The publish directory.'
 601 |                 health_check_enabled:
 602 |                   type: boolean
 603 |                   description: 'Health check enabled.'
 604 |                 health_check_path:
 605 |                   type: string
 606 |                   description: 'Health check path.'
 607 |                 health_check_port:
 608 |                   type: string
 609 |                   nullable: true
 610 |                   description: 'Health check port.'
 611 |                 health_check_host:
 612 |                   type: string
 613 |                   nullable: true
 614 |                   description: 'Health check host.'
 615 |                 health_check_method:
 616 |                   type: string
 617 |                   description: 'Health check method.'
 618 |                 health_check_return_code:
 619 |                   type: integer
 620 |                   description: 'Health check return code.'
 621 |                 health_check_scheme:
 622 |                   type: string
 623 |                   description: 'Health check scheme.'
 624 |                 health_check_response_text:
 625 |                   type: string
 626 |                   nullable: true
 627 |                   description: 'Health check response text.'
 628 |                 health_check_interval:
 629 |                   type: integer
 630 |                   description: 'Health check interval in seconds.'
 631 |                 health_check_timeout:
 632 |                   type: integer
 633 |                   description: 'Health check timeout in seconds.'
 634 |                 health_check_retries:
 635 |                   type: integer
 636 |                   description: 'Health check retries count.'
 637 |                 health_check_start_period:
 638 |                   type: integer
 639 |                   description: 'Health check start period in seconds.'
 640 |                 limits_memory:
 641 |                   type: string
 642 |                   description: 'Memory limit.'
 643 |                 limits_memory_swap:
 644 |                   type: string
 645 |                   description: 'Memory swap limit.'
 646 |                 limits_memory_swappiness:
 647 |                   type: integer
 648 |                   description: 'Memory swappiness.'
 649 |                 limits_memory_reservation:
 650 |                   type: string
 651 |                   description: 'Memory reservation.'
 652 |                 limits_cpus:
 653 |                   type: string
 654 |                   description: 'CPU limit.'
 655 |                 limits_cpuset:
 656 |                   type: string
 657 |                   nullable: true
 658 |                   description: 'CPU set.'
 659 |                 limits_cpu_shares:
 660 |                   type: integer
 661 |                   description: 'CPU shares.'
 662 |                 custom_labels:
 663 |                   type: string
 664 |                   description: 'Custom labels.'
 665 |                 custom_docker_run_options:
 666 |                   type: string
 667 |                   description: 'Custom docker run options.'
 668 |                 post_deployment_command:
 669 |                   type: string
 670 |                   description: 'Post deployment command.'
 671 |                 post_deployment_command_container:
 672 |                   type: string
 673 |                   description: 'Post deployment command container.'
 674 |                 pre_deployment_command:
 675 |                   type: string
 676 |                   description: 'Pre deployment command.'
 677 |                 pre_deployment_command_container:
 678 |                   type: string
 679 |                   description: 'Pre deployment command container.'
 680 |                 manual_webhook_secret_github:
 681 |                   type: string
 682 |                   description: 'Manual webhook secret for Github.'
 683 |                 manual_webhook_secret_gitlab:
 684 |                   type: string
 685 |                   description: 'Manual webhook secret for Gitlab.'
 686 |                 manual_webhook_secret_bitbucket:
 687 |                   type: string
 688 |                   description: 'Manual webhook secret for Bitbucket.'
 689 |                 manual_webhook_secret_gitea:
 690 |                   type: string
 691 |                   description: 'Manual webhook secret for Gitea.'
 692 |                 redirect:
 693 |                   type: string
 694 |                   nullable: true
 695 |                   description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
 696 |                   enum: [www, non-www, both]
 697 |                 instant_deploy:
 698 |                   type: boolean
 699 |                   description: 'The flag to indicate if the application should be deployed instantly.'
 700 |                 dockerfile:
 701 |                   type: string
 702 |                   description: 'The Dockerfile content.'
 703 |                 docker_compose_location:
 704 |                   type: string
 705 |                   description: 'The Docker Compose location.'
 706 |                 docker_compose_raw:
 707 |                   type: string
 708 |                   description: 'The Docker Compose raw content.'
 709 |                 docker_compose_custom_start_command:
 710 |                   type: string
 711 |                   description: 'The Docker Compose custom start command.'
 712 |                 docker_compose_custom_build_command:
 713 |                   type: string
 714 |                   description: 'The Docker Compose custom build command.'
 715 |                 docker_compose_domains:
 716 |                   type: array
 717 |                   description: 'The Docker Compose domains.'
 718 |                 watch_paths:
 719 |                   type: string
 720 |                   description: 'The watch paths.'
 721 |                 use_build_server:
 722 |                   type: boolean
 723 |                   nullable: true
 724 |                   description: 'Use build server.'
 725 |               type: object
 726 |       responses:
 727 |         '201':
 728 |           description: 'Application created successfully.'
 729 |           content:
 730 |             application/json:
 731 |               schema:
 732 |                 properties:
 733 |                   uuid: { type: string }
 734 |                 type: object
 735 |         '401':
 736 |           $ref: '#/components/responses/401'
 737 |         '400':
 738 |           $ref: '#/components/responses/400'
 739 |       security:
 740 |         - bearerAuth: []
 741 |   /applications/dockerfile:
 742 |     post:
 743 |       tags:
 744 |         - Applications
 745 |       summary: 'Create (Dockerfile)'
 746 |       description: 'Create new application based on a simple Dockerfile.'
 747 |       operationId: create-dockerfile-application
 748 |       requestBody:
 749 |         description: 'Application object that needs to be created.'
 750 |         required: true
 751 |         content:
 752 |           application/json:
 753 |             schema:
 754 |               required:
 755 |                 - project_uuid
 756 |                 - server_uuid
 757 |                 - environment_name
 758 |                 - environment_uuid
 759 |                 - dockerfile
 760 |               properties:
 761 |                 project_uuid:
 762 |                   type: string
 763 |                   description: 'The project UUID.'
 764 |                 server_uuid:
 765 |                   type: string
 766 |                   description: 'The server UUID.'
 767 |                 environment_name:
 768 |                   type: string
 769 |                   description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
 770 |                 environment_uuid:
 771 |                   type: string
 772 |                   description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
 773 |                 dockerfile:
 774 |                   type: string
 775 |                   description: 'The Dockerfile content.'
 776 |                 build_pack:
 777 |                   type: string
 778 |                   enum: [nixpacks, static, dockerfile, dockercompose]
 779 |                   description: 'The build pack type.'
 780 |                 ports_exposes:
 781 |                   type: string
 782 |                   description: 'The ports to expose.'
 783 |                 destination_uuid:
 784 |                   type: string
 785 |                   description: 'The destination UUID.'
 786 |                 name:
 787 |                   type: string
 788 |                   description: 'The application name.'
 789 |                 description:
 790 |                   type: string
 791 |                   description: 'The application description.'
 792 |                 domains:
 793 |                   type: string
 794 |                   description: 'The application domains.'
 795 |                 docker_registry_image_name:
 796 |                   type: string
 797 |                   description: 'The docker registry image name.'
 798 |                 docker_registry_image_tag:
 799 |                   type: string
 800 |                   description: 'The docker registry image tag.'
 801 |                 ports_mappings:
 802 |                   type: string
 803 |                   description: 'The ports mappings.'
 804 |                 base_directory:
 805 |                   type: string
 806 |                   description: 'The base directory for all commands.'
 807 |                 health_check_enabled:
 808 |                   type: boolean
 809 |                   description: 'Health check enabled.'
 810 |                 health_check_path:
 811 |                   type: string
 812 |                   description: 'Health check path.'
 813 |                 health_check_port:
 814 |                   type: string
 815 |                   nullable: true
 816 |                   description: 'Health check port.'
 817 |                 health_check_host:
 818 |                   type: string
 819 |                   nullable: true
 820 |                   description: 'Health check host.'
 821 |                 health_check_method:
 822 |                   type: string
 823 |                   description: 'Health check method.'
 824 |                 health_check_return_code:
 825 |                   type: integer
 826 |                   description: 'Health check return code.'
 827 |                 health_check_scheme:
 828 |                   type: string
 829 |                   description: 'Health check scheme.'
 830 |                 health_check_response_text:
 831 |                   type: string
 832 |                   nullable: true
 833 |                   description: 'Health check response text.'
 834 |                 health_check_interval:
 835 |                   type: integer
 836 |                   description: 'Health check interval in seconds.'
 837 |                 health_check_timeout:
 838 |                   type: integer
 839 |                   description: 'Health check timeout in seconds.'
 840 |                 health_check_retries:
 841 |                   type: integer
 842 |                   description: 'Health check retries count.'
 843 |                 health_check_start_period:
 844 |                   type: integer
 845 |                   description: 'Health check start period in seconds.'
 846 |                 limits_memory:
 847 |                   type: string
 848 |                   description: 'Memory limit.'
 849 |                 limits_memory_swap:
 850 |                   type: string
 851 |                   description: 'Memory swap limit.'
 852 |                 limits_memory_swappiness:
 853 |                   type: integer
 854 |                   description: 'Memory swappiness.'
 855 |                 limits_memory_reservation:
 856 |                   type: string
 857 |                   description: 'Memory reservation.'
 858 |                 limits_cpus:
 859 |                   type: string
 860 |                   description: 'CPU limit.'
 861 |                 limits_cpuset:
 862 |                   type: string
 863 |                   nullable: true
 864 |                   description: 'CPU set.'
 865 |                 limits_cpu_shares:
 866 |                   type: integer
 867 |                   description: 'CPU shares.'
 868 |                 custom_labels:
 869 |                   type: string
 870 |                   description: 'Custom labels.'
 871 |                 custom_docker_run_options:
 872 |                   type: string
 873 |                   description: 'Custom docker run options.'
 874 |                 post_deployment_command:
 875 |                   type: string
 876 |                   description: 'Post deployment command.'
 877 |                 post_deployment_command_container:
 878 |                   type: string
 879 |                   description: 'Post deployment command container.'
 880 |                 pre_deployment_command:
 881 |                   type: string
 882 |                   description: 'Pre deployment command.'
 883 |                 pre_deployment_command_container:
 884 |                   type: string
 885 |                   description: 'Pre deployment command container.'
 886 |                 manual_webhook_secret_github:
 887 |                   type: string
 888 |                   description: 'Manual webhook secret for Github.'
 889 |                 manual_webhook_secret_gitlab:
 890 |                   type: string
 891 |                   description: 'Manual webhook secret for Gitlab.'
 892 |                 manual_webhook_secret_bitbucket:
 893 |                   type: string
 894 |                   description: 'Manual webhook secret for Bitbucket.'
 895 |                 manual_webhook_secret_gitea:
 896 |                   type: string
 897 |                   description: 'Manual webhook secret for Gitea.'
 898 |                 redirect:
 899 |                   type: string
 900 |                   nullable: true
 901 |                   description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
 902 |                   enum: [www, non-www, both]
 903 |                 instant_deploy:
 904 |                   type: boolean
 905 |                   description: 'The flag to indicate if the application should be deployed instantly.'
 906 |                 use_build_server:
 907 |                   type: boolean
 908 |                   nullable: true
 909 |                   description: 'Use build server.'
 910 |               type: object
 911 |       responses:
 912 |         '201':
 913 |           description: 'Application created successfully.'
 914 |           content:
 915 |             application/json:
 916 |               schema:
 917 |                 properties:
 918 |                   uuid: { type: string }
 919 |                 type: object
 920 |         '401':
 921 |           $ref: '#/components/responses/401'
 922 |         '400':
 923 |           $ref: '#/components/responses/400'
 924 |       security:
 925 |         - bearerAuth: []
 926 |   /applications/dockerimage:
 927 |     post:
 928 |       tags:
 929 |         - Applications
 930 |       summary: 'Create (Docker Image)'
 931 |       description: 'Create new application based on a prebuilt docker image'
 932 |       operationId: create-dockerimage-application
 933 |       requestBody:
 934 |         description: 'Application object that needs to be created.'
 935 |         required: true
 936 |         content:
 937 |           application/json:
 938 |             schema:
 939 |               required:
 940 |                 - project_uuid
 941 |                 - server_uuid
 942 |                 - environment_name
 943 |                 - environment_uuid
 944 |                 - docker_registry_image_name
 945 |                 - ports_exposes
 946 |               properties:
 947 |                 project_uuid:
 948 |                   type: string
 949 |                   description: 'The project UUID.'
 950 |                 server_uuid:
 951 |                   type: string
 952 |                   description: 'The server UUID.'
 953 |                 environment_name:
 954 |                   type: string
 955 |                   description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
 956 |                 environment_uuid:
 957 |                   type: string
 958 |                   description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
 959 |                 docker_registry_image_name:
 960 |                   type: string
 961 |                   description: 'The docker registry image name.'
 962 |                 docker_registry_image_tag:
 963 |                   type: string
 964 |                   description: 'The docker registry image tag.'
 965 |                 ports_exposes:
 966 |                   type: string
 967 |                   description: 'The ports to expose.'
 968 |                 destination_uuid:
 969 |                   type: string
 970 |                   description: 'The destination UUID.'
 971 |                 name:
 972 |                   type: string
 973 |                   description: 'The application name.'
 974 |                 description:
 975 |                   type: string
 976 |                   description: 'The application description.'
 977 |                 domains:
 978 |                   type: string
 979 |                   description: 'The application domains.'
 980 |                 ports_mappings:
 981 |                   type: string
 982 |                   description: 'The ports mappings.'
 983 |                 health_check_enabled:
 984 |                   type: boolean
 985 |                   description: 'Health check enabled.'
 986 |                 health_check_path:
 987 |                   type: string
 988 |                   description: 'Health check path.'
 989 |                 health_check_port:
 990 |                   type: string
 991 |                   nullable: true
 992 |                   description: 'Health check port.'
 993 |                 health_check_host:
 994 |                   type: string
 995 |                   nullable: true
 996 |                   description: 'Health check host.'
 997 |                 health_check_method:
 998 |                   type: string
 999 |                   description: 'Health check method.'
1000 |                 health_check_return_code:
1001 |                   type: integer
1002 |                   description: 'Health check return code.'
1003 |                 health_check_scheme:
1004 |                   type: string
1005 |                   description: 'Health check scheme.'
1006 |                 health_check_response_text:
1007 |                   type: string
1008 |                   nullable: true
1009 |                   description: 'Health check response text.'
1010 |                 health_check_interval:
1011 |                   type: integer
1012 |                   description: 'Health check interval in seconds.'
1013 |                 health_check_timeout:
1014 |                   type: integer
1015 |                   description: 'Health check timeout in seconds.'
1016 |                 health_check_retries:
1017 |                   type: integer
1018 |                   description: 'Health check retries count.'
1019 |                 health_check_start_period:
1020 |                   type: integer
1021 |                   description: 'Health check start period in seconds.'
1022 |                 limits_memory:
1023 |                   type: string
1024 |                   description: 'Memory limit.'
1025 |                 limits_memory_swap:
1026 |                   type: string
1027 |                   description: 'Memory swap limit.'
1028 |                 limits_memory_swappiness:
1029 |                   type: integer
1030 |                   description: 'Memory swappiness.'
1031 |                 limits_memory_reservation:
1032 |                   type: string
1033 |                   description: 'Memory reservation.'
1034 |                 limits_cpus:
1035 |                   type: string
1036 |                   description: 'CPU limit.'
1037 |                 limits_cpuset:
1038 |                   type: string
1039 |                   nullable: true
1040 |                   description: 'CPU set.'
1041 |                 limits_cpu_shares:
1042 |                   type: integer
1043 |                   description: 'CPU shares.'
1044 |                 custom_labels:
1045 |                   type: string
1046 |                   description: 'Custom labels.'
1047 |                 custom_docker_run_options:
1048 |                   type: string
1049 |                   description: 'Custom docker run options.'
1050 |                 post_deployment_command:
1051 |                   type: string
1052 |                   description: 'Post deployment command.'
1053 |                 post_deployment_command_container:
1054 |                   type: string
1055 |                   description: 'Post deployment command container.'
1056 |                 pre_deployment_command:
1057 |                   type: string
1058 |                   description: 'Pre deployment command.'
1059 |                 pre_deployment_command_container:
1060 |                   type: string
1061 |                   description: 'Pre deployment command container.'
1062 |                 manual_webhook_secret_github:
1063 |                   type: string
1064 |                   description: 'Manual webhook secret for Github.'
1065 |                 manual_webhook_secret_gitlab:
1066 |                   type: string
1067 |                   description: 'Manual webhook secret for Gitlab.'
1068 |                 manual_webhook_secret_bitbucket:
1069 |                   type: string
1070 |                   description: 'Manual webhook secret for Bitbucket.'
1071 |                 manual_webhook_secret_gitea:
1072 |                   type: string
1073 |                   description: 'Manual webhook secret for Gitea.'
1074 |                 redirect:
1075 |                   type: string
1076 |                   nullable: true
1077 |                   description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
1078 |                   enum: [www, non-www, both]
1079 |                 instant_deploy:
1080 |                   type: boolean
1081 |                   description: 'The flag to indicate if the application should be deployed instantly.'
1082 |                 use_build_server:
1083 |                   type: boolean
1084 |                   nullable: true
1085 |                   description: 'Use build server.'
1086 |               type: object
1087 |       responses:
1088 |         '201':
1089 |           description: 'Application created successfully.'
1090 |           content:
1091 |             application/json:
1092 |               schema:
1093 |                 properties:
1094 |                   uuid: { type: string }
1095 |                 type: object
1096 |         '401':
1097 |           $ref: '#/components/responses/401'
1098 |         '400':
1099 |           $ref: '#/components/responses/400'
1100 |       security:
1101 |         - bearerAuth: []
1102 |   /applications/dockercompose:
1103 |     post:
1104 |       tags:
1105 |         - Applications
1106 |       summary: 'Create (Docker Compose)'
1107 |       description: 'Create new application based on a docker-compose file.'
1108 |       operationId: create-dockercompose-application
1109 |       requestBody:
1110 |         description: 'Application object that needs to be created.'
1111 |         required: true
1112 |         content:
1113 |           application/json:
1114 |             schema:
1115 |               required:
1116 |                 - project_uuid
1117 |                 - server_uuid
1118 |                 - environment_name
1119 |                 - environment_uuid
1120 |                 - docker_compose_raw
1121 |               properties:
1122 |                 project_uuid:
1123 |                   type: string
1124 |                   description: 'The project UUID.'
1125 |                 server_uuid:
1126 |                   type: string
1127 |                   description: 'The server UUID.'
1128 |                 environment_name:
1129 |                   type: string
1130 |                   description: 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
1131 |                 environment_uuid:
1132 |                   type: string
1133 |                   description: 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
1134 |                 docker_compose_raw:
1135 |                   type: string
1136 |                   description: 'The Docker Compose raw content.'
1137 |                 destination_uuid:
1138 |                   type: string
1139 |                   description: 'The destination UUID if the server has more than one destinations.'
1140 |                 name:
1141 |                   type: string
1142 |                   description: 'The application name.'
1143 |                 description:
1144 |                   type: string
1145 |                   description: 'The application description.'
1146 |                 instant_deploy:
1147 |                   type: boolean
1148 |                   description: 'The flag to indicate if the application should be deployed instantly.'
1149 |                 use_build_server:
1150 |                   type: boolean
1151 |                   nullable: true
1152 |                   description: 'Use build server.'
1153 |               type: object
1154 |       responses:
1155 |         '201':
1156 |           description: 'Application created successfully.'
1157 |           content:
1158 |             application/json:
1159 |               schema:
1160 |                 properties:
1161 |                   uuid: { type: string }
1162 |                 type: object
1163 |         '401':
1164 |           $ref: '#/components/responses/401'
1165 |         '400':
1166 |           $ref: '#/components/responses/400'
1167 |       security:
1168 |         - bearerAuth: []
1169 |   '/applications/{uuid}':
1170 |     get:
1171 |       tags:
1172 |         - Applications
1173 |       summary: Get
1174 |       description: 'Get application by UUID.'
1175 |       operationId: get-application-by-uuid
1176 |       parameters:
1177 |         - name: uuid
1178 |           in: path
1179 |           description: 'UUID of the application.'
1180 |           required: true
1181 |           schema:
1182 |             type: string
1183 |             format: uuid
1184 |       responses:
1185 |         '200':
1186 |           description: 'Get application by UUID.'
1187 |           content:
1188 |             application/json:
1189 |               schema:
1190 |                 $ref: '#/components/schemas/Application'
1191 |         '401':
1192 |           $ref: '#/components/responses/401'
1193 |         '400':
1194 |           $ref: '#/components/responses/400'
1195 |         '404':
1196 |           $ref: '#/components/responses/404'
1197 |       security:
1198 |         - bearerAuth: []
1199 |     delete:
1200 |       tags:
1201 |         - Applications
1202 |       summary: Delete
1203 |       description: 'Delete application by UUID.'
1204 |       operationId: delete-application-by-uuid
1205 |       parameters:
1206 |         - name: uuid
1207 |           in: path
1208 |           description: 'UUID of the application.'
1209 |           required: true
1210 |           schema:
1211 |             type: string
1212 |             format: uuid
1213 |         - name: delete_configurations
1214 |           in: query
1215 |           description: 'Delete configurations.'
1216 |           required: false
1217 |           schema:
1218 |             type: boolean
1219 |             default: true
1220 |         - name: delete_volumes
1221 |           in: query
1222 |           description: 'Delete volumes.'
1223 |           required: false
1224 |           schema:
1225 |             type: boolean
1226 |             default: true
1227 |         - name: docker_cleanup
1228 |           in: query
1229 |           description: 'Run docker cleanup.'
1230 |           required: false
1231 |           schema:
1232 |             type: boolean
1233 |             default: true
1234 |         - name: delete_connected_networks
1235 |           in: query
1236 |           description: 'Delete connected networks.'
1237 |           required: false
1238 |           schema:
1239 |             type: boolean
1240 |             default: true
1241 |       responses:
1242 |         '200':
1243 |           description: 'Application deleted.'
1244 |           content:
1245 |             application/json:
1246 |               schema:
1247 |                 properties:
1248 |                   message: { type: string, example: 'Application deleted.' }
1249 |                 type: object
1250 |         '401':
1251 |           $ref: '#/components/responses/401'
1252 |         '400':
1253 |           $ref: '#/components/responses/400'
1254 |         '404':
1255 |           $ref: '#/components/responses/404'
1256 |       security:
1257 |         - bearerAuth: []
1258 |     patch:
1259 |       tags:
1260 |         - Applications
1261 |       summary: Update
1262 |       description: 'Update application by UUID.'
1263 |       operationId: update-application-by-uuid
1264 |       requestBody:
1265 |         description: 'Application updated.'
1266 |         required: true
1267 |         content:
1268 |           application/json:
1269 |             schema:
1270 |               properties:
1271 |                 project_uuid:
1272 |                   type: string
1273 |                   description: 'The project UUID.'
1274 |                 server_uuid:
1275 |                   type: string
1276 |                   description: 'The server UUID.'
1277 |                 environment_name:
1278 |                   type: string
1279 |                   description: 'The environment name.'
1280 |                 github_app_uuid:
1281 |                   type: string
1282 |                   description: 'The Github App UUID.'
1283 |                 git_repository:
1284 |                   type: string
1285 |                   description: 'The git repository URL.'
1286 |                 git_branch:
1287 |                   type: string
1288 |                   description: 'The git branch.'
1289 |                 ports_exposes:
1290 |                   type: string
1291 |                   description: 'The ports to expose.'
1292 |                 destination_uuid:
1293 |                   type: string
1294 |                   description: 'The destination UUID.'
1295 |                 build_pack:
1296 |                   type: string
1297 |                   enum: [nixpacks, static, dockerfile, dockercompose]
1298 |                   description: 'The build pack type.'
1299 |                 name:
1300 |                   type: string
1301 |                   description: 'The application name.'
1302 |                 description:
1303 |                   type: string
1304 |                   description: 'The application description.'
1305 |                 domains:
1306 |                   type: string
1307 |                   description: 'The application domains.'
1308 |                 git_commit_sha:
1309 |                   type: string
1310 |                   description: 'The git commit SHA.'
1311 |                 docker_registry_image_name:
1312 |                   type: string
1313 |                   description: 'The docker registry image name.'
1314 |                 docker_registry_image_tag:
1315 |                   type: string
1316 |                   description: 'The docker registry image tag.'
1317 |                 is_static:
1318 |                   type: boolean
1319 |                   description: 'The flag to indicate if the application is static.'
1320 |                 install_command:
1321 |                   type: string
1322 |                   description: 'The install command.'
1323 |                 build_command:
1324 |                   type: string
1325 |                   description: 'The build command.'
1326 |                 start_command:
1327 |                   type: string
1328 |                   description: 'The start command.'
1329 |                 ports_mappings:
1330 |                   type: string
1331 |                   description: 'The ports mappings.'
1332 |                 base_directory:
1333 |                   type: string
1334 |                   description: 'The base directory for all commands.'
1335 |                 publish_directory:
1336 |                   type: string
1337 |                   description: 'The publish directory.'
1338 |                 health_check_enabled:
1339 |                   type: boolean
1340 |                   description: 'Health check enabled.'
1341 |                 health_check_path:
1342 |                   type: string
1343 |                   description: 'Health check path.'
1344 |                 health_check_port:
1345 |                   type: string
1346 |                   nullable: true
1347 |                   description: 'Health check port.'
1348 |                 health_check_host:
1349 |                   type: string
1350 |                   nullable: true
1351 |                   description: 'Health check host.'
1352 |                 health_check_method:
1353 |                   type: string
1354 |                   description: 'Health check method.'
1355 |                 health_check_return_code:
1356 |                   type: integer
1357 |                   description: 'Health check return code.'
1358 |                 health_check_scheme:
1359 |                   type: string
1360 |                   description: 'Health check scheme.'
1361 |                 health_check_response_text:
1362 |                   type: string
1363 |                   nullable: true
1364 |                   description: 'Health check response text.'
1365 |                 health_check_interval:
1366 |                   type: integer
1367 |                   description: 'Health check interval in seconds.'
1368 |                 health_check_timeout:
1369 |                   type: integer
1370 |                   description: 'Health check timeout in seconds.'
1371 |                 health_check_retries:
1372 |                   type: integer
1373 |                   description: 'Health check retries count.'
1374 |                 health_check_start_period:
1375 |                   type: integer
1376 |                   description: 'Health check start period in seconds.'
1377 |                 limits_memory:
1378 |                   type: string
1379 |                   description: 'Memory limit.'
1380 |                 limits_memory_swap:
1381 |                   type: string
1382 |                   description: 'Memory swap limit.'
1383 |                 limits_memory_swappiness:
1384 |                   type: integer
1385 |                   description: 'Memory swappiness.'
1386 |                 limits_memory_reservation:
1387 |                   type: string
1388 |                   description: 'Memory reservation.'
1389 |                 limits_cpus:
1390 |                   type: string
1391 |                   description: 'CPU limit.'
1392 |                 limits_cpuset:
1393 |                   type: string
1394 |                   nullable: true
1395 |                   description: 'CPU set.'
1396 |                 limits_cpu_shares:
1397 |                   type: integer
1398 |                   description: 'CPU shares.'
1399 |                 custom_labels:
1400 |                   type: string
1401 |                   description: 'Custom labels.'
1402 |                 custom_docker_run_options:
1403 |                   type: string
1404 |                   description: 'Custom docker run options.'
1405 |                 post_deployment_command:
1406 |                   type: string
1407 |                   description: 'Post deployment command.'
1408 |                 post_deployment_command_container:
1409 |                   type: string
1410 |                   description: 'Post deployment command container.'
1411 |                 pre_deployment_command:
1412 |                   type: string
1413 |                   description: 'Pre deployment command.'
1414 |                 pre_deployment_command_container:
1415 |                   type: string
1416 |                   description: 'Pre deployment command container.'
1417 |                 manual_webhook_secret_github:
1418 |                   type: string
1419 |                   description: 'Manual webhook secret for Github.'
1420 |                 manual_webhook_secret_gitlab:
1421 |                   type: string
1422 |                   description: 'Manual webhook secret for Gitlab.'
1423 |                 manual_webhook_secret_bitbucket:
1424 |                   type: string
1425 |                   description: 'Manual webhook secret for Bitbucket.'
1426 |                 manual_webhook_secret_gitea:
1427 |                   type: string
1428 |                   description: 'Manual webhook secret for Gitea.'
1429 |                 redirect:
1430 |                   type: string
1431 |                   nullable: true
1432 |                   description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
1433 |                   enum: [www, non-www, both]
1434 |                 instant_deploy:
1435 |                   type: boolean
1436 |                   description: 'The flag to indicate if the application should be deployed instantly.'
1437 |                 dockerfile:
1438 |                   type: string
1439 |                   description: 'The Dockerfile content.'
1440 |                 docker_compose_location:
1441 |                   type: string
1442 |                   description: 'The Docker Compose location.'
1443 |                 docker_compose_raw:
1444 |                   type: string
1445 |                   description: 'The Docker Compose raw content.'
1446 |                 docker_compose_custom_start_command:
1447 |                   type: string
1448 |                   description: 'The Docker Compose custom start command.'
1449 |                 docker_compose_custom_build_command:
1450 |                   type: string
1451 |                   description: 'The Docker Compose custom build command.'
1452 |                 docker_compose_domains:
1453 |                   type: array
1454 |                   description: 'The Docker Compose domains.'
1455 |                 watch_paths:
1456 |                   type: string
1457 |                   description: 'The watch paths.'
1458 |                 use_build_server:
1459 |                   type: boolean
1460 |                   nullable: true
1461 |                   description: 'Use build server.'
1462 |               type: object
1463 |       responses:
1464 |         '200':
1465 |           description: 'Application updated.'
1466 |           content:
1467 |             application/json:
1468 |               schema:
1469 |                 properties:
1470 |                   uuid: { type: string }
1471 |                 type: object
1472 |         '401':
1473 |           $ref: '#/components/responses/401'
1474 |         '400':
1475 |           $ref: '#/components/responses/400'
1476 |         '404':
1477 |           $ref: '#/components/responses/404'
1478 |       security:
1479 |         - bearerAuth: []
1480 |   '/applications/{uuid}/envs':
1481 |     get:
1482 |       tags:
1483 |         - Applications
1484 |       summary: 'List Envs'
1485 |       description: 'List all envs by application UUID.'
1486 |       operationId: list-envs-by-application-uuid
1487 |       parameters:
1488 |         - name: uuid
1489 |           in: path
1490 |           description: 'UUID of the application.'
1491 |           required: true
1492 |           schema:
1493 |             type: string
1494 |             format: uuid
1495 |       responses:
1496 |         '200':
1497 |           description: 'All environment variables by application UUID.'
1498 |           content:
1499 |             application/json:
1500 |               schema:
1501 |                 type: array
1502 |                 items:
1503 |                   $ref: '#/components/schemas/EnvironmentVariable'
1504 |         '401':
1505 |           $ref: '#/components/responses/401'
1506 |         '400':
1507 |           $ref: '#/components/responses/400'
1508 |         '404':
1509 |           $ref: '#/components/responses/404'
1510 |       security:
1511 |         - bearerAuth: []
1512 |     post:
1513 |       tags:
1514 |         - Applications
1515 |       summary: 'Create Env'
1516 |       description: 'Create env by application UUID.'
1517 |       operationId: create-env-by-application-uuid
1518 |       parameters:
1519 |         - name: uuid
1520 |           in: path
1521 |           description: 'UUID of the application.'
1522 |           required: true
1523 |           schema:
1524 |             type: string
1525 |             format: uuid
1526 |       requestBody:
1527 |         description: 'Env created.'
1528 |         required: true
1529 |         content:
1530 |           application/json:
1531 |             schema:
1532 |               properties:
1533 |                 key:
1534 |                   type: string
1535 |                   description: 'The key of the environment variable.'
1536 |                 value:
1537 |                   type: string
1538 |                   description: 'The value of the environment variable.'
1539 |                 is_preview:
1540 |                   type: boolean
1541 |                   description: 'The flag to indicate if the environment variable is used in preview deployments.'
1542 |                 is_build_time:
1543 |                   type: boolean
1544 |                   description: 'The flag to indicate if the environment variable is used in build time.'
1545 |                 is_literal:
1546 |                   type: boolean
1547 |                   description: 'The flag to indicate if the environment variable is a literal, nothing espaced.'
1548 |                 is_multiline:
1549 |                   type: boolean
1550 |                   description: 'The flag to indicate if the environment variable is multiline.'
1551 |                 is_shown_once:
1552 |                   type: boolean
1553 |                   description: "The flag to indicate if the environment variable's value is shown on the UI."
1554 |               type: object
1555 |       responses:
1556 |         '201':
1557 |           description: 'Environment variable created.'
1558 |           content:
1559 |             application/json:
1560 |               schema:
1561 |                 properties:
1562 |                   uuid: { type: string, example: nc0k04gk8g0cgsk440g0koko }
1563 |                 type: object
1564 |         '401':
1565 |           $ref: '#/components/responses/401'
1566 |         '400':
1567 |           $ref: '#/components/responses/400'
1568 |         '404':
1569 |           $ref: '#/components/responses/404'
1570 |       security:
1571 |         - bearerAuth: []
1572 |     patch:
1573 |       tags:
1574 |         - Applications
1575 |       summary: 'Update Env'
1576 |       description: 'Update env by application UUID.'
1577 |       operationId: update-env-by-application-uuid
1578 |       parameters:
1579 |         - name: uuid
1580 |           in: path
1581 |           description: 'UUID of the application.'
1582 |           required: true
1583 |           schema:
1584 |             type: string
1585 |             format: uuid
1586 |       requestBody:
1587 |         description: 'Env updated.'
1588 |         required: true
1589 |         content:
1590 |           application/json:
1591 |             schema:
1592 |               required:
1593 |                 - key
1594 |                 - value
1595 |               properties:
1596 |                 key:
1597 |                   type: string
1598 |                   description: 'The key of the environment variable.'
1599 |                 value:
1600 |                   type: string
1601 |                   description: 'The value of the environment variable.'
1602 |                 is_preview:
1603 |                   type: boolean
1604 |                   description: 'The flag to indicate if the environment variable is used in preview deployments.'
1605 |                 is_build_time:
1606 |                   type: boolean
1607 |                   description: 'The flag to indicate if the environment variable is used in build time.'
1608 |                 is_literal:
1609 |                   type: boolean
1610 |                   description: 'The flag to indicate if the environment variable is a literal, nothing espaced.'
1611 |                 is_multiline:
1612 |                   type: boolean
1613 |                   description: 'The flag to indicate if the environment variable is multiline.'
1614 |                 is_shown_once:
1615 |                   type: boolean
1616 |                   description: "The flag to indicate if the environment variable's value is shown on the UI."
1617 |               type: object
1618 |       responses:
1619 |         '201':
1620 |           description: 'Environment variable updated.'
1621 |           content:
1622 |             application/json:
1623 |               schema:
1624 |                 properties:
1625 |                   message: { type: string, example: 'Environment variable updated.' }
1626 |                 type: object
1627 |         '401':
1628 |           $ref: '#/components/responses/401'
1629 |         '400':
1630 |           $ref: '#/components/responses/400'
1631 |         '404':
1632 |           $ref: '#/components/responses/404'
1633 |       security:
1634 |         - bearerAuth: []
1635 |   '/applications/{uuid}/envs/bulk':
1636 |     patch:
1637 |       tags:
1638 |         - Applications
1639 |       summary: 'Update Envs (Bulk)'
1640 |       description: 'Update multiple envs by application UUID.'
1641 |       operationId: update-envs-by-application-uuid
1642 |       parameters:
1643 |         - name: uuid
1644 |           in: path
1645 |           description: 'UUID of the application.'
1646 |           required: true
1647 |           schema:
1648 |             type: string
1649 |             format: uuid
1650 |       requestBody:
1651 |         description: 'Bulk envs updated.'
1652 |         required: true
1653 |         content:
1654 |           application/json:
1655 |             schema:
1656 |               required:
1657 |                 - data
1658 |               properties:
1659 |                 data:
1660 |                   type: array
1661 |                   items:
1662 |                     {
1663 |                       properties:
1664 |                         {
1665 |                           key:
1666 |                             { type: string, description: 'The key of the environment variable.' },
1667 |                           value:
1668 |                             { type: string, description: 'The value of the environment variable.' },
1669 |                           is_preview:
1670 |                             {
1671 |                               type: boolean,
1672 |                               description: 'The flag to indicate if the environment variable is used in preview deployments.',
1673 |                             },
1674 |                           is_build_time:
1675 |                             {
1676 |                               type: boolean,
1677 |                               description: 'The flag to indicate if the environment variable is used in build time.',
1678 |                             },
1679 |                           is_literal:
1680 |                             {
1681 |                               type: boolean,
1682 |                               description: 'The flag to indicate if the environment variable is a literal, nothing espaced.',
1683 |                             },
1684 |                           is_multiline:
1685 |                             {
1686 |                               type: boolean,
1687 |                               description: 'The flag to indicate if the environment variable is multiline.',
1688 |                             },
1689 |                           is_shown_once:
1690 |                             {
1691 |                               type: boolean,
1692 |                               description: "The flag to indicate if the environment variable's value is shown on the UI.",
1693 |                             },
1694 |                         },
1695 |                       type: object,
1696 |                     }
1697 |               type: object
1698 |       responses:
1699 |         '201':
1700 |           description: 'Environment variables updated.'
1701 |           content:
1702 |             application/json:
1703 |               schema:
1704 |                 properties:
1705 |                   message: { type: string, example: 'Environment variables updated.' }
1706 |                 type: object
1707 |         '401':
1708 |           $ref: '#/components/responses/401'
1709 |         '400':
1710 |           $ref: '#/components/responses/400'
1711 |         '404':
1712 |           $ref: '#/components/responses/404'
1713 |       security:
1714 |         - bearerAuth: []
1715 |   '/applications/{uuid}/envs/{env_uuid}':
1716 |     delete:
1717 |       tags:
1718 |         - Applications
1719 |       summary: 'Delete Env'
1720 |       description: 'Delete env by UUID.'
1721 |       operationId: delete-env-by-application-uuid
1722 |       parameters:
1723 |         - name: uuid
1724 |           in: path
1725 |           description: 'UUID of the application.'
1726 |           required: true
1727 |           schema:
1728 |             type: string
1729 |             format: uuid
1730 |         - name: env_uuid
1731 |           in: path
1732 |           description: 'UUID of the environment variable.'
1733 |           required: true
1734 |           schema:
1735 |             type: string
1736 |             format: uuid
1737 |       responses:
1738 |         '200':
1739 |           description: 'Environment variable deleted.'
1740 |           content:
1741 |             application/json:
1742 |               schema:
1743 |                 properties:
1744 |                   message: { type: string, example: 'Environment variable deleted.' }
1745 |                 type: object
1746 |         '401':
1747 |           $ref: '#/components/responses/401'
1748 |         '400':
1749 |           $ref: '#/components/responses/400'
1750 |         '404':
1751 |           $ref: '#/components/responses/404'
1752 |       security:
1753 |         - bearerAuth: []
1754 |   '/applications/{uuid}/start':
1755 |     get:
1756 |       tags:
1757 |         - Applications
1758 |       summary: Start
1759 |       description: 'Start application. `Post` request is also accepted.'
1760 |       operationId: start-application-by-uuid
1761 |       parameters:
1762 |         - name: uuid
1763 |           in: path
1764 |           description: 'UUID of the application.'
1765 |           required: true
1766 |           schema:
1767 |             type: string
1768 |             format: uuid
1769 |         - name: force
1770 |           in: query
1771 |           description: 'Force rebuild.'
1772 |           schema:
1773 |             type: boolean
1774 |             default: false
1775 |         - name: instant_deploy
1776 |           in: query
1777 |           description: 'Instant deploy (skip queuing).'
1778 |           schema:
1779 |             type: boolean
1780 |             default: false
1781 |       responses:
1782 |         '200':
1783 |           description: 'Start application.'
1784 |           content:
1785 |             application/json:
1786 |               schema:
1787 |                 properties:
1788 |                   message:
1789 |                     { type: string, example: 'Deployment request queued.', description: Message. }
1790 |                   deployment_uuid:
1791 |                     { type: string, example: doogksw, description: 'UUID of the deployment.' }
1792 |                 type: object
1793 |         '401':
1794 |           $ref: '#/components/responses/401'
1795 |         '400':
1796 |           $ref: '#/components/responses/400'
1797 |         '404':
1798 |           $ref: '#/components/responses/404'
1799 |       security:
1800 |         - bearerAuth: []
1801 |   '/applications/{uuid}/stop':
1802 |     get:
1803 |       tags:
1804 |         - Applications
1805 |       summary: Stop
1806 |       description: 'Stop application. `Post` request is also accepted.'
1807 |       operationId: stop-application-by-uuid
1808 |       parameters:
1809 |         - name: uuid
1810 |           in: path
1811 |           description: 'UUID of the application.'
1812 |           required: true
1813 |           schema:
1814 |             type: string
1815 |             format: uuid
1816 |       responses:
1817 |         '200':
1818 |           description: 'Stop application.'
1819 |           content:
1820 |             application/json:
1821 |               schema:
1822 |                 properties:
1823 |                   message: { type: string, example: 'Application stopping request queued.' }
1824 |                 type: object
1825 |         '401':
1826 |           $ref: '#/components/responses/401'
1827 |         '400':
1828 |           $ref: '#/components/responses/400'
1829 |         '404':
1830 |           $ref: '#/components/responses/404'
1831 |       security:
1832 |         - bearerAuth: []
1833 |   '/applications/{uuid}/restart':
1834 |     get:
1835 |       tags:
1836 |         - Applications
1837 |       summary: Restart
1838 |       description: 'Restart application. `Post` request is also accepted.'
1839 |       operationId: restart-application-by-uuid
1840 |       parameters:
1841 |         - name: uuid
1842 |           in: path
1843 |           description: 'UUID of the application.'
1844 |           required: true
1845 |           schema:
1846 |             type: string
1847 |             format: uuid
1848 |       responses:
1849 |         '200':
1850 |           description: 'Restart application.'
1851 |           content:
1852 |             application/json:
1853 |               schema:
1854 |                 properties:
1855 |                   message: { type: string, example: 'Restart request queued.' }
1856 |                   deployment_uuid:
1857 |                     { type: string, example: doogksw, description: 'UUID of the deployment.' }
1858 |                 type: object
1859 |         '401':
1860 |           $ref: '#/components/responses/401'
1861 |         '400':
1862 |           $ref: '#/components/responses/400'
1863 |         '404':
1864 |           $ref: '#/components/responses/404'
1865 |       security:
1866 |         - bearerAuth: []
1867 |   '/applications/{uuid}/execute':
1868 |     post:
1869 |       tags:
1870 |         - Applications
1871 |       summary: 'Execute Command'
1872 |       description: "Execute a command on the application's current container."
1873 |       operationId: execute-command-application
1874 |       parameters:
1875 |         - name: uuid
1876 |           in: path
1877 |           description: 'UUID of the application.'
1878 |           required: true
1879 |           schema:
1880 |             type: string
1881 |             format: uuid
1882 |       requestBody:
1883 |         description: 'Command to execute.'
1884 |         required: true
1885 |         content:
1886 |           application/json:
1887 |             schema:
1888 |               properties:
1889 |                 command:
1890 |                   type: string
1891 |                   description: 'Command to execute.'
1892 |               type: object
1893 |       responses:
1894 |         '200':
1895 |           description: "Execute a command on the application's current container."
1896 |           content:
1897 |             application/json:
1898 |               schema:
1899 |                 properties:
1900 |                   message: { type: string, example: 'Command executed.' }
1901 |                   response: { type: string }
1902 |                 type: object
1903 |         '401':
1904 |           $ref: '#/components/responses/401'
1905 |         '400':
1906 |           $ref: '#/components/responses/400'
1907 |         '404':
1908 |           $ref: '#/components/responses/404'
1909 |       security:
1910 |         - bearerAuth: []
1911 |   /databases:
1912 |     get:
1913 |       tags:
1914 |         - Databases
1915 |       summary: List
1916 |       description: 'List all databases.'
1917 |       operationId: list-databases
1918 |       responses:
1919 |         '200':
1920 |           description: 'Get all databases'
1921 |           content:
1922 |             application/json:
1923 |               schema:
1924 |                 type: string
1925 |               example: 'Content is very complex. Will be implemented later.'
1926 |         '401':
1927 |           $ref: '#/components/responses/401'
1928 |         '400':
1929 |           $ref: '#/components/responses/400'
1930 |       security:
1931 |         - bearerAuth: []
1932 |   '/databases/{uuid}':
1933 |     get:
1934 |       tags:
1935 |         - Databases
1936 |       summary: Get
1937 |       description: 'Get database by UUID.'
1938 |       operationId: get-database-by-uuid
1939 |       parameters:
1940 |         - name: uuid
1941 |           in: path
1942 |           description: 'UUID of the database.'
1943 |           required: true
1944 |           schema:
1945 |             type: string
1946 |             format: uuid
1947 |       responses:
1948 |         '200':
1949 |           description: 'Get all databases'
1950 |           content:
1951 |             application/json:
1952 |               schema:
1953 |                 type: string
1954 |               example: 'Content is very complex. Will be implemented later.'
1955 |         '401':
1956 |           $ref: '#/components/responses/401'
1957 |         '400':
1958 |           $ref: '#/components/responses/400'
1959 |         '404':
1960 |           $ref: '#/components/responses/404'
1961 |       security:
1962 |         - bearerAuth: []
1963 |     delete:
1964 |       tags:
1965 |         - Databases
1966 |       summary: Delete
1967 |       description: 'Delete database by UUID.'
1968 |       operationId: delete-database-by-uuid
1969 |       parameters:
1970 |         - name: uuid
1971 |           in: path
1972 |           description: 'UUID of the database.'
1973 |           required: true
1974 |           schema:
1975 |             type: string
1976 |             format: uuid
1977 |         - name: delete_configurations
1978 |           in: query
1979 |           description: 'Delete configurations.'
1980 |           required: false
1981 |           schema:
1982 |             type: boolean
1983 |             default: true
1984 |         - name: delete_volumes
1985 |           in: query
1986 |           description: 'Delete volumes.'
1987 |           required: false
1988 |           schema:
1989 |             type: boolean
1990 |             default: true
1991 |         - name: docker_cleanup
1992 |           in: query
1993 |           description: 'Run docker cleanup.'
1994 |           required: false
1995 |           schema:
1996 |             type: boolean
1997 |             default: true
1998 |         - name: delete_connected_networks
1999 |           in: query
2000 |           description: 'Delete connected networks.'
2001 |           required: false
2002 |           schema:
2003 |             type: boolean
2004 |             default: true
2005 |       responses:
2006 |         '200':
2007 |           description: 'Database deleted.'
2008 |           content:
2009 |             application/json:
2010 |               schema:
2011 |                 properties:
2012 |                   message: { type: string, example: 'Database deleted.' }
2013 |                 type: object
2014 |         '401':
2015 |           $ref: '#/components/responses/401'
2016 |         '400':
2017 |           $ref: '#/components/responses/400'
2018 |         '404':
2019 |           $ref: '#/components/responses/404'
2020 |       security:
2021 |         - bearerAuth: []
2022 |     patch:
2023 |       tags:
2024 |         - Databases
2025 |       summary: Update
2026 |       description: 'Update database by UUID.'
2027 |       operationId: update-database-by-uuid
2028 |       parameters:
2029 |         - name: uuid
2030 |           in: path
2031 |           description: 'UUID of the database.'
2032 |           required: true
2033 |           schema:
2034 |             type: string
2035 |             format: uuid
2036 |       requestBody:
2037 |         description: 'Database data'
2038 |         required: true
2039 |         content:
2040 |           application/json:
2041 |             schema:
2042 |               properties:
2043 |                 name:
2044 |                   type: string
2045 |                   description: 'Name of the database'
2046 |                 description:
2047 |                   type: string
2048 |                   description: 'Description of the database'
2049 |                 image:
2050 |                   type: string
2051 |                   description: 'Docker Image of the database'
2052 |                 is_public:
2053 |                   type: boolean
2054 |                   description: 'Is the database public?'
2055 |                 public_port:
2056 |                   type: integer
2057 |                   description: 'Public port of the database'
2058 |                 limits_memory:
2059 |                   type: string
2060 |                   description: 'Memory limit of the database'
2061 |                 limits_memory_swap:
2062 |                   type: string
2063 |                   description: 'Memory swap limit of the database'
2064 |                 limits_memory_swappiness:
2065 |                   type: integer
2066 |                   description: 'Memory swappiness of the database'
2067 |                 limits_memory_reservation:
2068 |                   type: string
2069 |                   description: 'Memory reservation of the database'
2070 |                 limits_cpus:
2071 |                   type: string
2072 |                   description: 'CPU limit of the database'
2073 |                 limits_cpuset:
2074 |                   type: string
2075 |                   description: 'CPU set of the database'
2076 |                 limits_cpu_shares:
2077 |                   type: integer
2078 |                   description: 'CPU shares of the database'
2079 |                 postgres_user:
2080 |                   type: string
2081 |                   description: 'PostgreSQL user'
2082 |                 postgres_password:
2083 |                   type: string
2084 |                   description: 'PostgreSQL password'
2085 |                 postgres_db:
2086 |                   type: string
2087 |                   description: 'PostgreSQL database'
2088 |                 postgres_initdb_args:
2089 |                   type: string
2090 |                   description: 'PostgreSQL initdb args'
2091 |                 postgres_host_auth_method:
2092 |                   type: string
2093 |                   description: 'PostgreSQL host auth method'
2094 |                 postgres_conf:
2095 |                   type: string
2096 |                   description: 'PostgreSQL conf'
2097 |                 clickhouse_admin_user:
2098 |                   type: string
2099 |                   description: 'Clickhouse admin user'
2100 |                 clickhouse_admin_password:
2101 |                   type: string
2102 |                   description: 'Clickhouse admin password'
2103 |                 dragonfly_password:
2104 |                   type: string
2105 |                   description: 'DragonFly password'
2106 |                 redis_password:
2107 |                   type: string
2108 |                   description: 'Redis password'
2109 |                 redis_conf:
2110 |                   type: string
2111 |                   description: 'Redis conf'
2112 |                 keydb_password:
2113 |                   type: string
2114 |                   description: 'KeyDB password'
2115 |                 keydb_conf:
2116 |                   type: string
2117 |                   description: 'KeyDB conf'
2118 |                 mariadb_conf:
2119 |                   type: string
2120 |                   description: 'MariaDB conf'
2121 |                 mariadb_root_password:
2122 |                   type: string
2123 |                   description: 'MariaDB root password'
2124 |                 mariadb_user:
2125 |                   type: string
2126 |                   description: 'MariaDB user'
2127 |                 mariadb_password:
2128 |                   type: string
2129 |                   description: 'MariaDB password'
2130 |                 mariadb_database:
2131 |                   type: string
2132 |                   description: 'MariaDB database'
2133 |                 mongo_conf:
2134 |                   type: string
2135 |                   description: 'Mongo conf'
2136 |                 mongo_initdb_root_username:
2137 |                   type: string
2138 |                   description: 'Mongo initdb root username'
2139 |                 mongo_initdb_root_password:
2140 |                   type: string
2141 |                   description: 'Mongo initdb root password'
2142 |                 mongo_initdb_database:
2143 |                   type: string
2144 |                   description: 'Mongo initdb init database'
2145 |                 mysql_root_password:
2146 |                   type: string
2147 |                   description: 'MySQL root password'
2148 |                 mysql_password:
2149 |                   type: string
2150 |                   description: 'MySQL password'
2151 |                 mysql_user:
2152 |                   type: string
2153 |                   description: 'MySQL user'
2154 |                 mysql_database:
2155 |                   type: string
2156 |                   description: 'MySQL database'
2157 |                 mysql_conf:
2158 |                   type: string
2159 |                   description: 'MySQL conf'
2160 |               type: object
2161 |       responses:
2162 |         '200':
2163 |           description: 'Database updated'
2164 |         '401':
2165 |           $ref: '#/components/responses/401'
2166 |         '400':
2167 |           $ref: '#/components/responses/400'
2168 |         '404':
2169 |           $ref: '#/components/responses/404'
2170 |       security:
2171 |         - bearerAuth: []
2172 |   /databases/postgresql:
2173 |     post:
2174 |       tags:
2175 |         - Databases
2176 |       summary: 'Create (PostgreSQL)'
2177 |       description: 'Create a new PostgreSQL database.'
2178 |       operationId: create-database-postgresql
2179 |       requestBody:
2180 |         description: 'Database data'
2181 |         required: true
2182 |         content:
2183 |           application/json:
2184 |             schema:
2185 |               required:
2186 |                 - server_uuid
2187 |                 - project_uuid
2188 |                 - environment_name
2189 |                 - environment_uuid
2190 |               properties:
2191 |                 server_uuid:
2192 |                   type: string
2193 |                   description: 'UUID of the server'
2194 |                 project_uuid:
2195 |                   type: string
2196 |                   description: 'UUID of the project'
2197 |                 environment_name:
2198 |                   type: string
2199 |                   description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
2200 |                 environment_uuid:
2201 |                   type: string
2202 |                   description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2203 |                 postgres_user:
2204 |                   type: string
2205 |                   description: 'PostgreSQL user'
2206 |                 postgres_password:
2207 |                   type: string
2208 |                   description: 'PostgreSQL password'
2209 |                 postgres_db:
2210 |                   type: string
2211 |                   description: 'PostgreSQL database'
2212 |                 postgres_initdb_args:
2213 |                   type: string
2214 |                   description: 'PostgreSQL initdb args'
2215 |                 postgres_host_auth_method:
2216 |                   type: string
2217 |                   description: 'PostgreSQL host auth method'
2218 |                 postgres_conf:
2219 |                   type: string
2220 |                   description: 'PostgreSQL conf'
2221 |                 destination_uuid:
2222 |                   type: string
2223 |                   description: 'UUID of the destination if the server has multiple destinations'
2224 |                 name:
2225 |                   type: string
2226 |                   description: 'Name of the database'
2227 |                 description:
2228 |                   type: string
2229 |                   description: 'Description of the database'
2230 |                 image:
2231 |                   type: string
2232 |                   description: 'Docker Image of the database'
2233 |                 is_public:
2234 |                   type: boolean
2235 |                   description: 'Is the database public?'
2236 |                 public_port:
2237 |                   type: integer
2238 |                   description: 'Public port of the database'
2239 |                 limits_memory:
2240 |                   type: string
2241 |                   description: 'Memory limit of the database'
2242 |                 limits_memory_swap:
2243 |                   type: string
2244 |                   description: 'Memory swap limit of the database'
2245 |                 limits_memory_swappiness:
2246 |                   type: integer
2247 |                   description: 'Memory swappiness of the database'
2248 |                 limits_memory_reservation:
2249 |                   type: string
2250 |                   description: 'Memory reservation of the database'
2251 |                 limits_cpus:
2252 |                   type: string
2253 |                   description: 'CPU limit of the database'
2254 |                 limits_cpuset:
2255 |                   type: string
2256 |                   description: 'CPU set of the database'
2257 |                 limits_cpu_shares:
2258 |                   type: integer
2259 |                   description: 'CPU shares of the database'
2260 |                 instant_deploy:
2261 |                   type: boolean
2262 |                   description: 'Instant deploy the database'
2263 |               type: object
2264 |       responses:
2265 |         '200':
2266 |           description: 'Database updated'
2267 |         '401':
2268 |           $ref: '#/components/responses/401'
2269 |         '400':
2270 |           $ref: '#/components/responses/400'
2271 |       security:
2272 |         - bearerAuth: []
2273 |   /databases/clickhouse:
2274 |     post:
2275 |       tags:
2276 |         - Databases
2277 |       summary: 'Create (Clickhouse)'
2278 |       description: 'Create a new Clickhouse database.'
2279 |       operationId: create-database-clickhouse
2280 |       requestBody:
2281 |         description: 'Database data'
2282 |         required: true
2283 |         content:
2284 |           application/json:
2285 |             schema:
2286 |               required:
2287 |                 - server_uuid
2288 |                 - project_uuid
2289 |                 - environment_name
2290 |                 - environment_uuid
2291 |               properties:
2292 |                 server_uuid:
2293 |                   type: string
2294 |                   description: 'UUID of the server'
2295 |                 project_uuid:
2296 |                   type: string
2297 |                   description: 'UUID of the project'
2298 |                 environment_name:
2299 |                   type: string
2300 |                   description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
2301 |                 environment_uuid:
2302 |                   type: string
2303 |                   description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2304 |                 destination_uuid:
2305 |                   type: string
2306 |                   description: 'UUID of the destination if the server has multiple destinations'
2307 |                 clickhouse_admin_user:
2308 |                   type: string
2309 |                   description: 'Clickhouse admin user'
2310 |                 clickhouse_admin_password:
2311 |                   type: string
2312 |                   description: 'Clickhouse admin password'
2313 |                 name:
2314 |                   type: string
2315 |                   description: 'Name of the database'
2316 |                 description:
2317 |                   type: string
2318 |                   description: 'Description of the database'
2319 |                 image:
2320 |                   type: string
2321 |                   description: 'Docker Image of the database'
2322 |                 is_public:
2323 |                   type: boolean
2324 |                   description: 'Is the database public?'
2325 |                 public_port:
2326 |                   type: integer
2327 |                   description: 'Public port of the database'
2328 |                 limits_memory:
2329 |                   type: string
2330 |                   description: 'Memory limit of the database'
2331 |                 limits_memory_swap:
2332 |                   type: string
2333 |                   description: 'Memory swap limit of the database'
2334 |                 limits_memory_swappiness:
2335 |                   type: integer
2336 |                   description: 'Memory swappiness of the database'
2337 |                 limits_memory_reservation:
2338 |                   type: string
2339 |                   description: 'Memory reservation of the database'
2340 |                 limits_cpus:
2341 |                   type: string
2342 |                   description: 'CPU limit of the database'
2343 |                 limits_cpuset:
2344 |                   type: string
2345 |                   description: 'CPU set of the database'
2346 |                 limits_cpu_shares:
2347 |                   type: integer
2348 |                   description: 'CPU shares of the database'
2349 |                 instant_deploy:
2350 |                   type: boolean
2351 |                   description: 'Instant deploy the database'
2352 |               type: object
2353 |       responses:
2354 |         '200':
2355 |           description: 'Database updated'
2356 |         '401':
2357 |           $ref: '#/components/responses/401'
2358 |         '400':
2359 |           $ref: '#/components/responses/400'
2360 |       security:
2361 |         - bearerAuth: []
2362 |   /databases/dragonfly:
2363 |     post:
2364 |       tags:
2365 |         - Databases
2366 |       summary: 'Create (DragonFly)'
2367 |       description: 'Create a new DragonFly database.'
2368 |       operationId: create-database-dragonfly
2369 |       requestBody:
2370 |         description: 'Database data'
2371 |         required: true
2372 |         content:
2373 |           application/json:
2374 |             schema:
2375 |               required:
2376 |                 - server_uuid
2377 |                 - project_uuid
2378 |                 - environment_name
2379 |                 - environment_uuid
2380 |               properties:
2381 |                 server_uuid:
2382 |                   type: string
2383 |                   description: 'UUID of the server'
2384 |                 project_uuid:
2385 |                   type: string
2386 |                   description: 'UUID of the project'
2387 |                 environment_name:
2388 |                   type: string
2389 |                   description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
2390 |                 environment_uuid:
2391 |                   type: string
2392 |                   description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2393 |                 destination_uuid:
2394 |                   type: string
2395 |                   description: 'UUID of the destination if the server has multiple destinations'
2396 |                 dragonfly_password:
2397 |                   type: string
2398 |                   description: 'DragonFly password'
2399 |                 name:
2400 |                   type: string
2401 |                   description: 'Name of the database'
2402 |                 description:
2403 |                   type: string
2404 |                   description: 'Description of the database'
2405 |                 image:
2406 |                   type: string
2407 |                   description: 'Docker Image of the database'
2408 |                 is_public:
2409 |                   type: boolean
2410 |                   description: 'Is the database public?'
2411 |                 public_port:
2412 |                   type: integer
2413 |                   description: 'Public port of the database'
2414 |                 limits_memory:
2415 |                   type: string
2416 |                   description: 'Memory limit of the database'
2417 |                 limits_memory_swap:
2418 |                   type: string
2419 |                   description: 'Memory swap limit of the database'
2420 |                 limits_memory_swappiness:
2421 |                   type: integer
2422 |                   description: 'Memory swappiness of the database'
2423 |                 limits_memory_reservation:
2424 |                   type: string
2425 |                   description: 'Memory reservation of the database'
2426 |                 limits_cpus:
2427 |                   type: string
2428 |                   description: 'CPU limit of the database'
2429 |                 limits_cpuset:
2430 |                   type: string
2431 |                   description: 'CPU set of the database'
2432 |                 limits_cpu_shares:
2433 |                   type: integer
2434 |                   description: 'CPU shares of the database'
2435 |                 instant_deploy:
2436 |                   type: boolean
2437 |                   description: 'Instant deploy the database'
2438 |               type: object
2439 |       responses:
2440 |         '200':
2441 |           description: 'Database updated'
2442 |         '401':
2443 |           $ref: '#/components/responses/401'
2444 |         '400':
2445 |           $ref: '#/components/responses/400'
2446 |       security:
2447 |         - bearerAuth: []
2448 |   /databases/redis:
2449 |     post:
2450 |       tags:
2451 |         - Databases
2452 |       summary: 'Create (Redis)'
2453 |       description: 'Create a new Redis database.'
2454 |       operationId: create-database-redis
2455 |       requestBody:
2456 |         description: 'Database data'
2457 |         required: true
2458 |         content:
2459 |           application/json:
2460 |             schema:
2461 |               required:
2462 |                 - server_uuid
2463 |                 - project_uuid
2464 |                 - environment_name
2465 |                 - environment_uuid
2466 |               properties:
2467 |                 server_uuid:
2468 |                   type: string
2469 |                   description: 'UUID of the server'
2470 |                 project_uuid:
2471 |                   type: string
2472 |                   description: 'UUID of the project'
2473 |                 environment_name:
2474 |                   type: string
2475 |                   description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
2476 |                 environment_uuid:
2477 |                   type: string
2478 |                   description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2479 |                 destination_uuid:
2480 |                   type: string
2481 |                   description: 'UUID of the destination if the server has multiple destinations'
2482 |                 redis_password:
2483 |                   type: string
2484 |                   description: 'Redis password'
2485 |                 redis_conf:
2486 |                   type: string
2487 |                   description: 'Redis conf'
2488 |                 name:
2489 |                   type: string
2490 |                   description: 'Name of the database'
2491 |                 description:
2492 |                   type: string
2493 |                   description: 'Description of the database'
2494 |                 image:
2495 |                   type: string
2496 |                   description: 'Docker Image of the database'
2497 |                 is_public:
2498 |                   type: boolean
2499 |                   description: 'Is the database public?'
2500 |                 public_port:
2501 |                   type: integer
2502 |                   description: 'Public port of the database'
2503 |                 limits_memory:
2504 |                   type: string
2505 |                   description: 'Memory limit of the database'
2506 |                 limits_memory_swap:
2507 |                   type: string
2508 |                   description: 'Memory swap limit of the database'
2509 |                 limits_memory_swappiness:
2510 |                   type: integer
2511 |                   description: 'Memory swappiness of the database'
2512 |                 limits_memory_reservation:
2513 |                   type: string
2514 |                   description: 'Memory reservation of the database'
2515 |                 limits_cpus:
2516 |                   type: string
2517 |                   description: 'CPU limit of the database'
2518 |                 limits_cpuset:
2519 |                   type: string
2520 |                   description: 'CPU set of the database'
2521 |                 limits_cpu_shares:
2522 |                   type: integer
2523 |                   description: 'CPU shares of the database'
2524 |                 instant_deploy:
2525 |                   type: boolean
2526 |                   description: 'Instant deploy the database'
2527 |               type: object
2528 |       responses:
2529 |         '200':
2530 |           description: 'Database updated'
2531 |         '401':
2532 |           $ref: '#/components/responses/401'
2533 |         '400':
2534 |           $ref: '#/components/responses/400'
2535 |       security:
2536 |         - bearerAuth: []
2537 |   /databases/keydb:
2538 |     post:
2539 |       tags:
2540 |         - Databases
2541 |       summary: 'Create (KeyDB)'
2542 |       description: 'Create a new KeyDB database.'
2543 |       operationId: create-database-keydb
2544 |       requestBody:
2545 |         description: 'Database data'
2546 |         required: true
2547 |         content:
2548 |           application/json:
2549 |             schema:
2550 |               required:
2551 |                 - server_uuid
2552 |                 - project_uuid
2553 |                 - environment_name
2554 |                 - environment_uuid
2555 |               properties:
2556 |                 server_uuid:
2557 |                   type: string
2558 |                   description: 'UUID of the server'
2559 |                 project_uuid:
2560 |                   type: string
2561 |                   description: 'UUID of the project'
2562 |                 environment_name:
2563 |                   type: string
2564 |                   description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
2565 |                 environment_uuid:
2566 |                   type: string
2567 |                   description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2568 |                 destination_uuid:
2569 |                   type: string
2570 |                   description: 'UUID of the destination if the server has multiple destinations'
2571 |                 keydb_password:
2572 |                   type: string
2573 |                   description: 'KeyDB password'
2574 |                 keydb_conf:
2575 |                   type: string
2576 |                   description: 'KeyDB conf'
2577 |                 name:
2578 |                   type: string
2579 |                   description: 'Name of the database'
2580 |                 description:
2581 |                   type: string
2582 |                   description: 'Description of the database'
2583 |                 image:
2584 |                   type: string
2585 |                   description: 'Docker Image of the database'
2586 |                 is_public:
2587 |                   type: boolean
2588 |                   description: 'Is the database public?'
2589 |                 public_port:
2590 |                   type: integer
2591 |                   description: 'Public port of the database'
2592 |                 limits_memory:
2593 |                   type: string
2594 |                   description: 'Memory limit of the database'
2595 |                 limits_memory_swap:
2596 |                   type: string
2597 |                   description: 'Memory swap limit of the database'
2598 |                 limits_memory_swappiness:
2599 |                   type: integer
2600 |                   description: 'Memory swappiness of the database'
2601 |                 limits_memory_reservation:
2602 |                   type: string
2603 |                   description: 'Memory reservation of the database'
2604 |                 limits_cpus:
2605 |                   type: string
2606 |                   description: 'CPU limit of the database'
2607 |                 limits_cpuset:
2608 |                   type: string
2609 |                   description: 'CPU set of the database'
2610 |                 limits_cpu_shares:
2611 |                   type: integer
2612 |                   description: 'CPU shares of the database'
2613 |                 instant_deploy:
2614 |                   type: boolean
2615 |                   description: 'Instant deploy the database'
2616 |               type: object
2617 |       responses:
2618 |         '200':
2619 |           description: 'Database updated'
2620 |         '401':
2621 |           $ref: '#/components/responses/401'
2622 |         '400':
2623 |           $ref: '#/components/responses/400'
2624 |       security:
2625 |         - bearerAuth: []
2626 |   /databases/mariadb:
2627 |     post:
2628 |       tags:
2629 |         - Databases
2630 |       summary: 'Create (MariaDB)'
2631 |       description: 'Create a new MariaDB database.'
2632 |       operationId: create-database-mariadb
2633 |       requestBody:
2634 |         description: 'Database data'
2635 |         required: true
2636 |         content:
2637 |           application/json:
2638 |             schema:
2639 |               required:
2640 |                 - server_uuid
2641 |                 - project_uuid
2642 |                 - environment_name
2643 |                 - environment_uuid
2644 |               properties:
2645 |                 server_uuid:
2646 |                   type: string
2647 |                   description: 'UUID of the server'
2648 |                 project_uuid:
2649 |                   type: string
2650 |                   description: 'UUID of the project'
2651 |                 environment_name:
2652 |                   type: string
2653 |                   description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
2654 |                 environment_uuid:
2655 |                   type: string
2656 |                   description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2657 |                 destination_uuid:
2658 |                   type: string
2659 |                   description: 'UUID of the destination if the server has multiple destinations'
2660 |                 mariadb_conf:
2661 |                   type: string
2662 |                   description: 'MariaDB conf'
2663 |                 mariadb_root_password:
2664 |                   type: string
2665 |                   description: 'MariaDB root password'
2666 |                 mariadb_user:
2667 |                   type: string
2668 |                   description: 'MariaDB user'
2669 |                 mariadb_password:
2670 |                   type: string
2671 |                   description: 'MariaDB password'
2672 |                 mariadb_database:
2673 |                   type: string
2674 |                   description: 'MariaDB database'
2675 |                 name:
2676 |                   type: string
2677 |                   description: 'Name of the database'
2678 |                 description:
2679 |                   type: string
2680 |                   description: 'Description of the database'
2681 |                 image:
2682 |                   type: string
2683 |                   description: 'Docker Image of the database'
2684 |                 is_public:
2685 |                   type: boolean
2686 |                   description: 'Is the database public?'
2687 |                 public_port:
2688 |                   type: integer
2689 |                   description: 'Public port of the database'
2690 |                 limits_memory:
2691 |                   type: string
2692 |                   description: 'Memory limit of the database'
2693 |                 limits_memory_swap:
2694 |                   type: string
2695 |                   description: 'Memory swap limit of the database'
2696 |                 limits_memory_swappiness:
2697 |                   type: integer
2698 |                   description: 'Memory swappiness of the database'
2699 |                 limits_memory_reservation:
2700 |                   type: string
2701 |                   description: 'Memory reservation of the database'
2702 |                 limits_cpus:
2703 |                   type: string
2704 |                   description: 'CPU limit of the database'
2705 |                 limits_cpuset:
2706 |                   type: string
2707 |                   description: 'CPU set of the database'
2708 |                 limits_cpu_shares:
2709 |                   type: integer
2710 |                   description: 'CPU shares of the database'
2711 |                 instant_deploy:
2712 |                   type: boolean
2713 |                   description: 'Instant deploy the database'
2714 |               type: object
2715 |       responses:
2716 |         '200':
2717 |           description: 'Database updated'
2718 |         '401':
2719 |           $ref: '#/components/responses/401'
2720 |         '400':
2721 |           $ref: '#/components/responses/400'
2722 |       security:
2723 |         - bearerAuth: []
2724 |   /databases/mysql:
2725 |     post:
2726 |       tags:
2727 |         - Databases
2728 |       summary: 'Create (MySQL)'
2729 |       description: 'Create a new MySQL database.'
2730 |       operationId: create-database-mysql
2731 |       requestBody:
2732 |         description: 'Database data'
2733 |         required: true
2734 |         content:
2735 |           application/json:
2736 |             schema:
2737 |               required:
2738 |                 - server_uuid
2739 |                 - project_uuid
2740 |                 - environment_name
2741 |                 - environment_uuid
2742 |               properties:
2743 |                 server_uuid:
2744 |                   type: string
2745 |                   description: 'UUID of the server'
2746 |                 project_uuid:
2747 |                   type: string
2748 |                   description: 'UUID of the project'
2749 |                 environment_name:
2750 |                   type: string
2751 |                   description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
2752 |                 environment_uuid:
2753 |                   type: string
2754 |                   description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2755 |                 destination_uuid:
2756 |                   type: string
2757 |                   description: 'UUID of the destination if the server has multiple destinations'
2758 |                 mysql_root_password:
2759 |                   type: string
2760 |                   description: 'MySQL root password'
2761 |                 mysql_password:
2762 |                   type: string
2763 |                   description: 'MySQL password'
2764 |                 mysql_user:
2765 |                   type: string
2766 |                   description: 'MySQL user'
2767 |                 mysql_database:
2768 |                   type: string
2769 |                   description: 'MySQL database'
2770 |                 mysql_conf:
2771 |                   type: string
2772 |                   description: 'MySQL conf'
2773 |                 name:
2774 |                   type: string
2775 |                   description: 'Name of the database'
2776 |                 description:
2777 |                   type: string
2778 |                   description: 'Description of the database'
2779 |                 image:
2780 |                   type: string
2781 |                   description: 'Docker Image of the database'
2782 |                 is_public:
2783 |                   type: boolean
2784 |                   description: 'Is the database public?'
2785 |                 public_port:
2786 |                   type: integer
2787 |                   description: 'Public port of the database'
2788 |                 limits_memory:
2789 |                   type: string
2790 |                   description: 'Memory limit of the database'
2791 |                 limits_memory_swap:
2792 |                   type: string
2793 |                   description: 'Memory swap limit of the database'
2794 |                 limits_memory_swappiness:
2795 |                   type: integer
2796 |                   description: 'Memory swappiness of the database'
2797 |                 limits_memory_reservation:
2798 |                   type: string
2799 |                   description: 'Memory reservation of the database'
2800 |                 limits_cpus:
2801 |                   type: string
2802 |                   description: 'CPU limit of the database'
2803 |                 limits_cpuset:
2804 |                   type: string
2805 |                   description: 'CPU set of the database'
2806 |                 limits_cpu_shares:
2807 |                   type: integer
2808 |                   description: 'CPU shares of the database'
2809 |                 instant_deploy:
2810 |                   type: boolean
2811 |                   description: 'Instant deploy the database'
2812 |               type: object
2813 |       responses:
2814 |         '200':
2815 |           description: 'Database updated'
2816 |         '401':
2817 |           $ref: '#/components/responses/401'
2818 |         '400':
2819 |           $ref: '#/components/responses/400'
2820 |       security:
2821 |         - bearerAuth: []
2822 |   /databases/mongodb:
2823 |     post:
2824 |       tags:
2825 |         - Databases
2826 |       summary: 'Create (MongoDB)'
2827 |       description: 'Create a new MongoDB database.'
2828 |       operationId: create-database-mongodb
2829 |       requestBody:
2830 |         description: 'Database data'
2831 |         required: true
2832 |         content:
2833 |           application/json:
2834 |             schema:
2835 |               required:
2836 |                 - server_uuid
2837 |                 - project_uuid
2838 |                 - environment_name
2839 |                 - environment_uuid
2840 |               properties:
2841 |                 server_uuid:
2842 |                   type: string
2843 |                   description: 'UUID of the server'
2844 |                 project_uuid:
2845 |                   type: string
2846 |                   description: 'UUID of the project'
2847 |                 environment_name:
2848 |                   type: string
2849 |                   description: 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
2850 |                 environment_uuid:
2851 |                   type: string
2852 |                   description: 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2853 |                 destination_uuid:
2854 |                   type: string
2855 |                   description: 'UUID of the destination if the server has multiple destinations'
2856 |                 mongo_conf:
2857 |                   type: string
2858 |                   description: 'MongoDB conf'
2859 |                 mongo_initdb_root_username:
2860 |                   type: string
2861 |                   description: 'MongoDB initdb root username'
2862 |                 name:
2863 |                   type: string
2864 |                   description: 'Name of the database'
2865 |                 description:
2866 |                   type: string
2867 |                   description: 'Description of the database'
2868 |                 image:
2869 |                   type: string
2870 |                   description: 'Docker Image of the database'
2871 |                 is_public:
2872 |                   type: boolean
2873 |                   description: 'Is the database public?'
2874 |                 public_port:
2875 |                   type: integer
2876 |                   description: 'Public port of the database'
2877 |                 limits_memory:
2878 |                   type: string
2879 |                   description: 'Memory limit of the database'
2880 |                 limits_memory_swap:
2881 |                   type: string
2882 |                   description: 'Memory swap limit of the database'
2883 |                 limits_memory_swappiness:
2884 |                   type: integer
2885 |                   description: 'Memory swappiness of the database'
2886 |                 limits_memory_reservation:
2887 |                   type: string
2888 |                   description: 'Memory reservation of the database'
2889 |                 limits_cpus:
2890 |                   type: string
2891 |                   description: 'CPU limit of the database'
2892 |                 limits_cpuset:
2893 |                   type: string
2894 |                   description: 'CPU set of the database'
2895 |                 limits_cpu_shares:
2896 |                   type: integer
2897 |                   description: 'CPU shares of the database'
2898 |                 instant_deploy:
2899 |                   type: boolean
2900 |                   description: 'Instant deploy the database'
2901 |               type: object
2902 |       responses:
2903 |         '200':
2904 |           description: 'Database updated'
2905 |         '401':
2906 |           $ref: '#/components/responses/401'
2907 |         '400':
2908 |           $ref: '#/components/responses/400'
2909 |       security:
2910 |         - bearerAuth: []
2911 |   '/databases/{uuid}/start':
2912 |     get:
2913 |       tags:
2914 |         - Databases
2915 |       summary: Start
2916 |       description: 'Start database. `Post` request is also accepted.'
2917 |       operationId: start-database-by-uuid
2918 |       parameters:
2919 |         - name: uuid
2920 |           in: path
2921 |           description: 'UUID of the database.'
2922 |           required: true
2923 |           schema:
2924 |             type: string
2925 |             format: uuid
2926 |       responses:
2927 |         '200':
2928 |           description: 'Start database.'
2929 |           content:
2930 |             application/json:
2931 |               schema:
2932 |                 properties:
2933 |                   message: { type: string, example: 'Database starting request queued.' }
2934 |                 type: object
2935 |         '401':
2936 |           $ref: '#/components/responses/401'
2937 |         '400':
2938 |           $ref: '#/components/responses/400'
2939 |         '404':
2940 |           $ref: '#/components/responses/404'
2941 |       security:
2942 |         - bearerAuth: []
2943 |   '/databases/{uuid}/stop':
2944 |     get:
2945 |       tags:
2946 |         - Databases
2947 |       summary: Stop
2948 |       description: 'Stop database. `Post` request is also accepted.'
2949 |       operationId: stop-database-by-uuid
2950 |       parameters:
2951 |         - name: uuid
2952 |           in: path
2953 |           description: 'UUID of the database.'
2954 |           required: true
2955 |           schema:
2956 |             type: string
2957 |             format: uuid
2958 |       responses:
2959 |         '200':
2960 |           description: 'Stop database.'
2961 |           content:
2962 |             application/json:
2963 |               schema:
2964 |                 properties:
2965 |                   message: { type: string, example: 'Database stopping request queued.' }
2966 |                 type: object
2967 |         '401':
2968 |           $ref: '#/components/responses/401'
2969 |         '400':
2970 |           $ref: '#/components/responses/400'
2971 |         '404':
2972 |           $ref: '#/components/responses/404'
2973 |       security:
2974 |         - bearerAuth: []
2975 |   '/databases/{uuid}/restart':
2976 |     get:
2977 |       tags:
2978 |         - Databases
2979 |       summary: Restart
2980 |       description: 'Restart database. `Post` request is also accepted.'
2981 |       operationId: restart-database-by-uuid
2982 |       parameters:
2983 |         - name: uuid
2984 |           in: path
2985 |           description: 'UUID of the database.'
2986 |           required: true
2987 |           schema:
2988 |             type: string
2989 |             format: uuid
2990 |       responses:
2991 |         '200':
2992 |           description: 'Restart database.'
2993 |           content:
2994 |             application/json:
2995 |               schema:
2996 |                 properties:
2997 |                   message: { type: string, example: 'Database restaring request queued.' }
2998 |                 type: object
2999 |         '401':
3000 |           $ref: '#/components/responses/401'
3001 |         '400':
3002 |           $ref: '#/components/responses/400'
3003 |         '404':
3004 |           $ref: '#/components/responses/404'
3005 |       security:
3006 |         - bearerAuth: []
3007 |   /deployments:
3008 |     get:
3009 |       tags:
3010 |         - Deployments
3011 |       summary: List
3012 |       description: 'List currently running deployments'
3013 |       operationId: list-deployments
3014 |       responses:
3015 |         '200':
3016 |           description: 'Get all currently running deployments.'
3017 |           content:
3018 |             application/json:
3019 |               schema:
3020 |                 type: array
3021 |                 items:
3022 |                   $ref: '#/components/schemas/ApplicationDeploymentQueue'
3023 |         '401':
3024 |           $ref: '#/components/responses/401'
3025 |         '400':
3026 |           $ref: '#/components/responses/400'
3027 |       security:
3028 |         - bearerAuth: []
3029 |   '/deployments/{uuid}':
3030 |     get:
3031 |       tags:
3032 |         - Deployments
3033 |       summary: Get
3034 |       description: 'Get deployment by UUID.'
3035 |       operationId: get-deployment-by-uuid
3036 |       parameters:
3037 |         - name: uuid
3038 |           in: path
3039 |           description: 'Deployment UUID'
3040 |           required: true
3041 |           schema:
3042 |             type: string
3043 |       responses:
3044 |         '200':
3045 |           description: 'Get deployment by UUID.'
3046 |           content:
3047 |             application/json:
3048 |               schema:
3049 |                 $ref: '#/components/schemas/ApplicationDeploymentQueue'
3050 |         '401':
3051 |           $ref: '#/components/responses/401'
3052 |         '400':
3053 |           $ref: '#/components/responses/400'
3054 |         '404':
3055 |           $ref: '#/components/responses/404'
3056 |       security:
3057 |         - bearerAuth: []
3058 |   /deploy:
3059 |     get:
3060 |       tags:
3061 |         - Deployments
3062 |       summary: Deploy
3063 |       description: 'Deploy by tag or uuid. `Post` request also accepted.'
3064 |       operationId: deploy-by-tag-or-uuid
3065 |       parameters:
3066 |         - name: tag
3067 |           in: query
3068 |           description: 'Tag name(s). Comma separated list is also accepted.'
3069 |           schema:
3070 |             type: string
3071 |         - name: uuid
3072 |           in: query
3073 |           description: 'Resource UUID(s). Comma separated list is also accepted.'
3074 |           schema:
3075 |             type: string
3076 |         - name: force
3077 |           in: query
3078 |           description: 'Force rebuild (without cache)'
3079 |           schema:
3080 |             type: boolean
3081 |       responses:
3082 |         '200':
3083 |           description: "Get deployment(s) UUID's"
3084 |           content:
3085 |             application/json:
3086 |               schema:
3087 |                 properties:
3088 |                   deployments:
3089 |                     {
3090 |                       type: array,
3091 |                       items:
3092 |                         {
3093 |                           properties:
3094 |                             {
3095 |                               message: { type: string },
3096 |                               resource_uuid: { type: string },
3097 |                               deployment_uuid: { type: string },
3098 |                             },
3099 |                           type: object,
3100 |                         },
3101 |                     }
3102 |                 type: object
3103 |         '401':
3104 |           $ref: '#/components/responses/401'
3105 |         '400':
3106 |           $ref: '#/components/responses/400'
3107 |       security:
3108 |         - bearerAuth: []
3109 |   /version:
3110 |     get:
3111 |       summary: Version
3112 |       description: 'Get Coolify version.'
3113 |       operationId: version
3114 |       responses:
3115 |         '200':
3116 |           description: 'Returns the version of the application'
3117 |           content:
3118 |             application/json:
3119 |               schema:
3120 |                 type: string
3121 |               example: v4.0.0
3122 |         '401':
3123 |           $ref: '#/components/responses/401'
3124 |         '400':
3125 |           $ref: '#/components/responses/400'
3126 |       security:
3127 |         - bearerAuth: []
3128 |   /enable:
3129 |     get:
3130 |       summary: 'Enable API'
3131 |       description: 'Enable API (only with root permissions).'
3132 |       operationId: enable-api
3133 |       responses:
3134 |         '200':
3135 |           description: 'Enable API.'
3136 |           content:
3137 |             application/json:
3138 |               schema:
3139 |                 properties:
3140 |                   message: { type: string, example: 'API enabled.' }
3141 |                 type: object
3142 |         '403':
3143 |           description: 'You are not allowed to enable the API.'
3144 |           content:
3145 |             application/json:
3146 |               schema:
3147 |                 properties:
3148 |                   message: { type: string, example: 'You are not allowed to enable the API.' }
3149 |                 type: object
3150 |         '401':
3151 |           $ref: '#/components/responses/401'
3152 |         '400':
3153 |           $ref: '#/components/responses/400'
3154 |       security:
3155 |         - bearerAuth: []
3156 |   /disable:
3157 |     get:
3158 |       summary: 'Disable API'
3159 |       description: 'Disable API (only with root permissions).'
3160 |       operationId: disable-api
3161 |       responses:
3162 |         '200':
3163 |           description: 'Disable API.'
3164 |           content:
3165 |             application/json:
3166 |               schema:
3167 |                 properties:
3168 |                   message: { type: string, example: 'API disabled.' }
3169 |                 type: object
3170 |         '403':
3171 |           description: 'You are not allowed to disable the API.'
3172 |           content:
3173 |             application/json:
3174 |               schema:
3175 |                 properties:
3176 |                   message: { type: string, example: 'You are not allowed to disable the API.' }
3177 |                 type: object
3178 |         '401':
3179 |           $ref: '#/components/responses/401'
3180 |         '400':
3181 |           $ref: '#/components/responses/400'
3182 |       security:
3183 |         - bearerAuth: []
3184 |   /health:
3185 |     get:
3186 |       summary: Healthcheck
3187 |       description: 'Healthcheck endpoint.'
3188 |       operationId: healthcheck
3189 |       responses:
3190 |         '200':
3191 |           description: 'Healthcheck endpoint.'
3192 |           content:
3193 |             application/json:
3194 |               schema:
3195 |                 type: string
3196 |               example: OK
3197 |         '401':
3198 |           $ref: '#/components/responses/401'
3199 |         '400':
3200 |           $ref: '#/components/responses/400'
3201 |   /projects:
3202 |     get:
3203 |       tags:
3204 |         - Projects
3205 |       summary: List
3206 |       description: 'List projects.'
3207 |       operationId: list-projects
3208 |       responses:
3209 |         '200':
3210 |           description: 'Get all projects.'
3211 |           content:
3212 |             application/json:
3213 |               schema:
3214 |                 type: array
3215 |                 items:
3216 |                   $ref: '#/components/schemas/Project'
3217 |         '401':
3218 |           $ref: '#/components/responses/401'
3219 |         '400':
3220 |           $ref: '#/components/responses/400'
3221 |       security:
3222 |         - bearerAuth: []
3223 |     post:
3224 |       tags:
3225 |         - Projects
3226 |       summary: Create
3227 |       description: 'Create Project.'
3228 |       operationId: create-project
3229 |       requestBody:
3230 |         description: 'Project created.'
3231 |         required: true
3232 |         content:
3233 |           application/json:
3234 |             schema:
3235 |               properties:
3236 |                 name:
3237 |                   type: string
3238 |                   description: 'The name of the project.'
3239 |                 description:
3240 |                   type: string
3241 |                   description: 'The description of the project.'
3242 |               type: object
3243 |       responses:
3244 |         '201':
3245 |           description: 'Project created.'
3246 |           content:
3247 |             application/json:
3248 |               schema:
3249 |                 properties:
3250 |                   uuid: { type: string, example: og888os, description: 'The UUID of the project.' }
3251 |                 type: object
3252 |         '401':
3253 |           $ref: '#/components/responses/401'
3254 |         '400':
3255 |           $ref: '#/components/responses/400'
3256 |         '404':
3257 |           $ref: '#/components/responses/404'
3258 |       security:
3259 |         - bearerAuth: []
3260 |   '/projects/{uuid}':
3261 |     get:
3262 |       tags:
3263 |         - Projects
3264 |       summary: Get
3265 |       description: 'Get project by UUID.'
3266 |       operationId: get-project-by-uuid
3267 |       parameters:
3268 |         - name: uuid
3269 |           in: path
3270 |           description: 'Project UUID'
3271 |           required: true
3272 |           schema:
3273 |             type: string
3274 |       responses:
3275 |         '200':
3276 |           description: 'Project details'
3277 |           content:
3278 |             application/json:
3279 |               schema:
3280 |                 $ref: '#/components/schemas/Project'
3281 |         '401':
3282 |           $ref: '#/components/responses/401'
3283 |         '400':
3284 |           $ref: '#/components/responses/400'
3285 |         '404':
3286 |           description: 'Project not found.'
3287 |       security:
3288 |         - bearerAuth: []
3289 |     delete:
3290 |       tags:
3291 |         - Projects
3292 |       summary: Delete
3293 |       description: 'Delete project by UUID.'
3294 |       operationId: delete-project-by-uuid
3295 |       parameters:
3296 |         - name: uuid
3297 |           in: path
3298 |           description: 'UUID of the application.'
3299 |           required: true
3300 |           schema:
3301 |             type: string
3302 |             format: uuid
3303 |       responses:
3304 |         '200':
3305 |           description: 'Project deleted.'
3306 |           content:
3307 |             application/json:
3308 |               schema:
3309 |                 properties:
3310 |                   message: { type: string, example: 'Project deleted.' }
3311 |                 type: object
3312 |         '401':
3313 |           $ref: '#/components/responses/401'
3314 |         '400':
3315 |           $ref: '#/components/responses/400'
3316 |         '404':
3317 |           $ref: '#/components/responses/404'
3318 |       security:
3319 |         - bearerAuth: []
3320 |     patch:
3321 |       tags:
3322 |         - Projects
3323 |       summary: Update
3324 |       description: 'Update Project.'
3325 |       operationId: update-project-by-uuid
3326 |       requestBody:
3327 |         description: 'Project updated.'
3328 |         required: true
3329 |         content:
3330 |           application/json:
3331 |             schema:
3332 |               properties:
3333 |                 name:
3334 |                   type: string
3335 |                   description: 'The name of the project.'
3336 |                 description:
3337 |                   type: string
3338 |                   description: 'The description of the project.'
3339 |               type: object
3340 |       responses:
3341 |         '201':
3342 |           description: 'Project updated.'
3343 |           content:
3344 |             application/json:
3345 |               schema:
3346 |                 properties:
3347 |                   uuid: { type: string, example: og888os }
3348 |                   name: { type: string, example: 'Project Name' }
3349 |                   description: { type: string, example: 'Project Description' }
3350 |                 type: object
3351 |         '401':
3352 |           $ref: '#/components/responses/401'
3353 |         '400':
3354 |           $ref: '#/components/responses/400'
3355 |         '404':
3356 |           $ref: '#/components/responses/404'
3357 |       security:
3358 |         - bearerAuth: []
3359 |   '/projects/{uuid}/{environment_name_or_uuid}':
3360 |     get:
3361 |       tags:
3362 |         - Projects
3363 |       summary: Environment
3364 |       description: 'Get environment by name or UUID.'
3365 |       operationId: get-environment-by-name-or-uuid
3366 |       parameters:
3367 |         - name: uuid
3368 |           in: path
3369 |           description: 'Project UUID'
3370 |           required: true
3371 |           schema:
3372 |             type: string
3373 |         - name: environment_name_or_uuid
3374 |           in: path
3375 |           description: 'Environment name or UUID'
3376 |           required: true
3377 |           schema:
3378 |             type: string
3379 |       responses:
3380 |         '200':
3381 |           description: 'Environment details'
3382 |           content:
3383 |             application/json:
3384 |               schema:
3385 |                 $ref: '#/components/schemas/Environment'
3386 |         '401':
3387 |           $ref: '#/components/responses/401'
3388 |         '400':
3389 |           $ref: '#/components/responses/400'
3390 |         '404':
3391 |           $ref: '#/components/responses/404'
3392 |       security:
3393 |         - bearerAuth: []
3394 |   /resources:
3395 |     get:
3396 |       tags:
3397 |         - Resources
3398 |       summary: List
3399 |       description: 'Get all resources.'
3400 |       operationId: list-resources
3401 |       responses:
3402 |         '200':
3403 |           description: 'Get all resources'
3404 |           content:
3405 |             application/json:
3406 |               schema:
3407 |                 type: string
3408 |               example: 'Content is very complex. Will be implemented later.'
3409 |         '401':
3410 |           $ref: '#/components/responses/401'
3411 |         '400':
3412 |           $ref: '#/components/responses/400'
3413 |       security:
3414 |         - bearerAuth: []
3415 |   /security/keys:
3416 |     get:
3417 |       tags:
3418 |         - 'Private Keys'
3419 |       summary: List
3420 |       description: 'List all private keys.'
3421 |       operationId: list-private-keys
3422 |       responses:
3423 |         '200':
3424 |           description: 'Get all private keys.'
3425 |           content:
3426 |             application/json:
3427 |               schema:
3428 |                 type: array
3429 |                 items:
3430 |                   $ref: '#/components/schemas/PrivateKey'
3431 |         '401':
3432 |           $ref: '#/components/responses/401'
3433 |         '400':
3434 |           $ref: '#/components/responses/400'
3435 |       security:
3436 |         - bearerAuth: []
3437 |     post:
3438 |       tags:
3439 |         - 'Private Keys'
3440 |       summary: Create
3441 |       description: 'Create a new private key.'
3442 |       operationId: create-private-key
3443 |       requestBody:
3444 |         required: true
3445 |         content:
3446 |           application/json:
3447 |             schema:
3448 |               required:
3449 |                 - private_key
3450 |               properties:
3451 |                 name:
3452 |                   type: string
3453 |                 description:
3454 |                   type: string
3455 |                 private_key:
3456 |                   type: string
3457 |               type: object
3458 |               additionalProperties: false
3459 |       responses:
3460 |         '201':
3461 |           description: "The created private key's UUID."
3462 |           content:
3463 |             application/json:
3464 |               schema:
3465 |                 properties:
3466 |                   uuid: { type: string }
3467 |                 type: object
3468 |         '401':
3469 |           $ref: '#/components/responses/401'
3470 |         '400':
3471 |           $ref: '#/components/responses/400'
3472 |       security:
3473 |         - bearerAuth: []
3474 |     patch:
3475 |       tags:
3476 |         - 'Private Keys'
3477 |       summary: Update
3478 |       description: 'Update a private key.'
3479 |       operationId: update-private-key
3480 |       requestBody:
3481 |         required: true
3482 |         content:
3483 |           application/json:
3484 |             schema:
3485 |               required:
3486 |                 - private_key
3487 |               properties:
3488 |                 name:
3489 |                   type: string
3490 |                 description:
3491 |                   type: string
3492 |                 private_key:
3493 |                   type: string
3494 |               type: object
3495 |               additionalProperties: false
3496 |       responses:
3497 |         '201':
3498 |           description: "The updated private key's UUID."
3499 |           content:
3500 |             application/json:
3501 |               schema:
3502 |                 properties:
3503 |                   uuid: { type: string }
3504 |                 type: object
3505 |         '401':
3506 |           $ref: '#/components/responses/401'
3507 |         '400':
3508 |           $ref: '#/components/responses/400'
3509 |       security:
3510 |         - bearerAuth: []
3511 |   '/security/keys/{uuid}':
3512 |     get:
3513 |       tags:
3514 |         - 'Private Keys'
3515 |       summary: Get
3516 |       description: 'Get key by UUID.'
3517 |       operationId: get-private-key-by-uuid
3518 |       parameters:
3519 |         - name: uuid
3520 |           in: path
3521 |           description: 'Private Key UUID'
3522 |           required: true
3523 |           schema:
3524 |             type: string
3525 |       responses:
3526 |         '200':
3527 |           description: 'Get all private keys.'
3528 |           content:
3529 |             application/json:
3530 |               schema:
3531 |                 $ref: '#/components/schemas/PrivateKey'
3532 |         '401':
3533 |           $ref: '#/components/responses/401'
3534 |         '400':
3535 |           $ref: '#/components/responses/400'
3536 |         '404':
3537 |           description: 'Private Key not found.'
3538 |       security:
3539 |         - bearerAuth: []
3540 |     delete:
3541 |       tags:
3542 |         - 'Private Keys'
3543 |       summary: Delete
3544 |       description: 'Delete a private key.'
3545 |       operationId: delete-private-key-by-uuid
3546 |       parameters:
3547 |         - name: uuid
3548 |           in: path
3549 |           description: 'Private Key UUID'
3550 |           required: true
3551 |           schema:
3552 |             type: string
3553 |       responses:
3554 |         '200':
3555 |           description: 'Private Key deleted.'
3556 |           content:
3557 |             application/json:
3558 |               schema:
3559 |                 properties:
3560 |                   message: { type: string, example: 'Private Key deleted.' }
3561 |                 type: object
3562 |         '401':
3563 |           $ref: '#/components/responses/401'
3564 |         '400':
3565 |           $ref: '#/components/responses/400'
3566 |         '404':
3567 |           description: 'Private Key not found.'
3568 |       security:
3569 |         - bearerAuth: []
3570 |   /servers:
3571 |     get:
3572 |       tags:
3573 |         - Servers
3574 |       summary: List
3575 |       description: 'List all servers.'
3576 |       operationId: list-servers
3577 |       responses:
3578 |         '200':
3579 |           description: 'Get all servers.'
3580 |           content:
3581 |             application/json:
3582 |               schema:
3583 |                 type: array
3584 |                 items:
3585 |                   $ref: '#/components/schemas/Server'
3586 |         '401':
3587 |           $ref: '#/components/responses/401'
3588 |         '400':
3589 |           $ref: '#/components/responses/400'
3590 |       security:
3591 |         - bearerAuth: []
3592 |     post:
3593 |       tags:
3594 |         - Servers
3595 |       summary: Create
3596 |       description: 'Create Server.'
3597 |       operationId: create-server
3598 |       requestBody:
3599 |         description: 'Server created.'
3600 |         required: true
3601 |         content:
3602 |           application/json:
3603 |             schema:
3604 |               properties:
3605 |                 name:
3606 |                   type: string
3607 |                   example: 'My Server'
3608 |                   description: 'The name of the server.'
3609 |                 description:
3610 |                   type: string
3611 |                   example: 'My Server Description'
3612 |                   description: 'The description of the server.'
3613 |                 ip:
3614 |                   type: string
3615 |                   example: 127.0.0.1
3616 |                   description: 'The IP of the server.'
3617 |                 port:
3618 |                   type: integer
3619 |                   example: 22
3620 |                   description: 'The port of the server.'
3621 |                 user:
3622 |                   type: string
3623 |                   example: root
3624 |                   description: 'The user of the server.'
3625 |                 private_key_uuid:
3626 |                   type: string
3627 |                   example: og888os
3628 |                   description: 'The UUID of the private key.'
3629 |                 is_build_server:
3630 |                   type: boolean
3631 |                   example: false
3632 |                   description: 'Is build server.'
3633 |                 instant_validate:
3634 |                   type: boolean
3635 |                   example: false
3636 |                   description: 'Instant validate.'
3637 |                 proxy_type:
3638 |                   type: string
3639 |                   enum: [traefik, caddy, none]
3640 |                   example: traefik
3641 |                   description: 'The proxy type.'
3642 |               type: object
3643 |       responses:
3644 |         '201':
3645 |           description: 'Server created.'
3646 |           content:
3647 |             application/json:
3648 |               schema:
3649 |                 properties:
3650 |                   uuid: { type: string, example: og888os, description: 'The UUID of the server.' }
3651 |                 type: object
3652 |         '401':
3653 |           $ref: '#/components/responses/401'
3654 |         '400':
3655 |           $ref: '#/components/responses/400'
3656 |         '404':
3657 |           $ref: '#/components/responses/404'
3658 |       security:
3659 |         - bearerAuth: []
3660 |   '/servers/{uuid}':
3661 |     get:
3662 |       tags:
3663 |         - Servers
3664 |       summary: Get
3665 |       description: 'Get server by UUID.'
3666 |       operationId: get-server-by-uuid
3667 |       parameters:
3668 |         - name: uuid
3669 |           in: path
3670 |           description: "Server's UUID"
3671 |           required: true
3672 |           schema:
3673 |             type: string
3674 |       responses:
3675 |         '200':
3676 |           description: 'Get server by UUID'
3677 |           content:
3678 |             application/json:
3679 |               schema:
3680 |                 $ref: '#/components/schemas/Server'
3681 |         '401':
3682 |           $ref: '#/components/responses/401'
3683 |         '400':
3684 |           $ref: '#/components/responses/400'
3685 |         '404':
3686 |           $ref: '#/components/responses/404'
3687 |       security:
3688 |         - bearerAuth: []
3689 |     delete:
3690 |       tags:
3691 |         - Servers
3692 |       summary: Delete
3693 |       description: 'Delete server by UUID.'
3694 |       operationId: delete-server-by-uuid
3695 |       parameters:
3696 |         - name: uuid
3697 |           in: path
3698 |           description: 'UUID of the server.'
3699 |           required: true
3700 |           schema:
3701 |             type: string
3702 |             format: uuid
3703 |       responses:
3704 |         '200':
3705 |           description: 'Server deleted.'
3706 |           content:
3707 |             application/json:
3708 |               schema:
3709 |                 properties:
3710 |                   message: { type: string, example: 'Server deleted.' }
3711 |                 type: object
3712 |         '401':
3713 |           $ref: '#/components/responses/401'
3714 |         '400':
3715 |           $ref: '#/components/responses/400'
3716 |         '404':
3717 |           $ref: '#/components/responses/404'
3718 |       security:
3719 |         - bearerAuth: []
3720 |     patch:
3721 |       tags:
3722 |         - Servers
3723 |       summary: Update
3724 |       description: 'Update Server.'
3725 |       operationId: update-server-by-uuid
3726 |       parameters:
3727 |         - name: uuid
3728 |           in: path
3729 |           description: 'Server UUID'
3730 |           required: true
3731 |           schema:
3732 |             type: string
3733 |       requestBody:
3734 |         description: 'Server updated.'
3735 |         required: true
3736 |         content:
3737 |           application/json:
3738 |             schema:
3739 |               properties:
3740 |                 name:
3741 |                   type: string
3742 |                   description: 'The name of the server.'
3743 |                 description:
3744 |                   type: string
3745 |                   description: 'The description of the server.'
3746 |                 ip:
3747 |                   type: string
3748 |                   description: 'The IP of the server.'
3749 |                 port:
3750 |                   type: integer
3751 |                   description: 'The port of the server.'
3752 |                 user:
3753 |                   type: string
3754 |                   description: 'The user of the server.'
3755 |                 private_key_uuid:
3756 |                   type: string
3757 |                   description: 'The UUID of the private key.'
3758 |                 is_build_server:
3759 |                   type: boolean
3760 |                   description: 'Is build server.'
3761 |                 instant_validate:
3762 |                   type: boolean
3763 |                   description: 'Instant validate.'
3764 |                 proxy_type:
3765 |                   type: string
3766 |                   enum: [traefik, caddy, none]
3767 |                   description: 'The proxy type.'
3768 |               type: object
3769 |       responses:
3770 |         '201':
3771 |           description: 'Server updated.'
3772 |           content:
3773 |             application/json:
3774 |               schema:
3775 |                 $ref: '#/components/schemas/Server'
3776 |         '401':
3777 |           $ref: '#/components/responses/401'
3778 |         '400':
3779 |           $ref: '#/components/responses/400'
3780 |         '404':
3781 |           $ref: '#/components/responses/404'
3782 |       security:
3783 |         - bearerAuth: []
3784 |   '/servers/{uuid}/resources':
3785 |     get:
3786 |       tags:
3787 |         - Servers
3788 |       summary: Resources
3789 |       description: 'Get resources by server.'
3790 |       operationId: get-resources-by-server-uuid
3791 |       parameters:
3792 |         - name: uuid
3793 |           in: path
3794 |           description: "Server's UUID"
3795 |           required: true
3796 |           schema:
3797 |             type: string
3798 |       responses:
3799 |         '200':
3800 |           description: 'Get resources by server'
3801 |           content:
3802 |             application/json:
3803 |               schema:
3804 |                 type: array
3805 |                 items:
3806 |                   properties:
3807 |                     {
3808 |                       id: { type: integer },
3809 |                       uuid: { type: string },
3810 |                       name: { type: string },
3811 |                       type: { type: string },
3812 |                       created_at: { type: string },
3813 |                       updated_at: { type: string },
3814 |                       status: { type: string },
3815 |                     }
3816 |                   type: object
3817 |         '401':
3818 |           $ref: '#/components/responses/401'
3819 |         '400':
3820 |           $ref: '#/components/responses/400'
3821 |       security:
3822 |         - bearerAuth: []
3823 |   '/servers/{uuid}/domains':
3824 |     get:
3825 |       tags:
3826 |         - Servers
3827 |       summary: Domains
3828 |       description: 'Get domains by server.'
3829 |       operationId: get-domains-by-server-uuid
3830 |       parameters:
3831 |         - name: uuid
3832 |           in: path
3833 |           description: "Server's UUID"
3834 |           required: true
3835 |           schema:
3836 |             type: string
3837 |       responses:
3838 |         '200':
3839 |           description: 'Get domains by server'
3840 |           content:
3841 |             application/json:
3842 |               schema:
3843 |                 type: array
3844 |                 items:
3845 |                   properties:
3846 |                     { ip: { type: string }, domains: { type: array, items: { type: string } } }
3847 |                   type: object
3848 |         '401':
3849 |           $ref: '#/components/responses/401'
3850 |         '400':
3851 |           $ref: '#/components/responses/400'
3852 |       security:
3853 |         - bearerAuth: []
3854 |   '/servers/{uuid}/validate':
3855 |     get:
3856 |       tags:
3857 |         - Servers
3858 |       summary: Validate
3859 |       description: 'Validate server by UUID.'
3860 |       operationId: validate-server-by-uuid
3861 |       parameters:
3862 |         - name: uuid
3863 |           in: path
3864 |           description: 'Server UUID'
3865 |           required: true
3866 |           schema:
3867 |             type: string
3868 |       responses:
3869 |         '201':
3870 |           description: 'Server validation started.'
3871 |           content:
3872 |             application/json:
3873 |               schema:
3874 |                 properties:
3875 |                   message: { type: string, example: 'Validation started.' }
3876 |                 type: object
3877 |         '401':
3878 |           $ref: '#/components/responses/401'
3879 |         '400':
3880 |           $ref: '#/components/responses/400'
3881 |         '404':
3882 |           $ref: '#/components/responses/404'
3883 |       security:
3884 |         - bearerAuth: []
3885 |   /services:
3886 |     get:
3887 |       tags:
3888 |         - Services
3889 |       summary: List
3890 |       description: 'List all services.'
3891 |       operationId: list-services
3892 |       responses:
3893 |         '200':
3894 |           description: 'Get all services'
3895 |           content:
3896 |             application/json:
3897 |               schema:
3898 |                 type: array
3899 |                 items:
3900 |                   $ref: '#/components/schemas/Service'
3901 |         '401':
3902 |           $ref: '#/components/responses/401'
3903 |         '400':
3904 |           $ref: '#/components/responses/400'
3905 |       security:
3906 |         - bearerAuth: []
3907 |     post:
3908 |       tags:
3909 |         - Services
3910 |       summary: Create
3911 |       description: 'Create a one-click service'
3912 |       operationId: create-service
3913 |       requestBody:
3914 |         required: true
3915 |         content:
3916 |           application/json:
3917 |             schema:
3918 |               required:
3919 |                 - server_uuid
3920 |                 - project_uuid
3921 |                 - environment_name
3922 |                 - environment_uuid
3923 |                 - type
3924 |               properties:
3925 |                 type:
3926 |                   description: 'The one-click service type'
3927 |                   type: string
3928 |                   enum:
3929 |                     [
3930 |                       activepieces,
3931 |                       appsmith,
3932 |                       appwrite,
3933 |                       authentik,
3934 |                       babybuddy,
3935 |                       budge,
3936 |                       changedetection,
3937 |                       chatwoot,
3938 |                       classicpress-with-mariadb,
3939 |                       classicpress-with-mysql,
3940 |                       classicpress-without-database,
3941 |                       cloudflared,
3942 |                       code-server,
3943 |                       dashboard,
3944 |                       directus,
3945 |                       directus-with-postgresql,
3946 |                       docker-registry,
3947 |                       docuseal,
3948 |                       docuseal-with-postgres,
3949 |                       dokuwiki,
3950 |                       duplicati,
3951 |                       emby,
3952 |                       embystat,
3953 |                       fider,
3954 |                       filebrowser,
3955 |                       firefly,
3956 |                       formbricks,
3957 |                       ghost,
3958 |                       gitea,
3959 |                       gitea-with-mariadb,
3960 |                       gitea-with-mysql,
3961 |                       gitea-with-postgresql,
3962 |                       glance,
3963 |                       glances,
3964 |                       glitchtip,
3965 |                       grafana,
3966 |                       grafana-with-postgresql,
3967 |                       grocy,
3968 |                       heimdall,
3969 |                       homepage,
3970 |                       jellyfin,
3971 |                       kuzzle,
3972 |                       listmonk,
3973 |                       logto,
3974 |                       mediawiki,
3975 |                       meilisearch,
3976 |                       metabase,
3977 |                       metube,
3978 |                       minio,
3979 |                       moodle,
3980 |                       n8n,
3981 |                       n8n-with-postgresql,
3982 |                       next-image-transformation,
3983 |                       nextcloud,
3984 |                       nocodb,
3985 |                       odoo,
3986 |                       openblocks,
3987 |                       pairdrop,
3988 |                       penpot,
3989 |                       phpmyadmin,
3990 |                       pocketbase,
3991 |                       posthog,
3992 |                       reactive-resume,
3993 |                       rocketchat,
3994 |                       shlink,
3995 |                       slash,
3996 |                       snapdrop,
3997 |                       statusnook,
3998 |                       stirling-pdf,
3999 |                       supabase,
4000 |                       syncthing,
4001 |                       tolgee,
4002 |                       trigger,
4003 |                       trigger-with-external-database,
4004 |                       twenty,
4005 |                       umami,
4006 |                       unleash-with-postgresql,
4007 |                       unleash-without-database,
4008 |                       uptime-kuma,
4009 |                       vaultwarden,
4010 |                       vikunja,
4011 |                       weblate,
4012 |                       whoogle,
4013 |                       wordpress-with-mariadb,
4014 |                       wordpress-with-mysql,
4015 |                       wordpress-without-database,
4016 |                     ]
4017 |                 name:
4018 |                   type: string
4019 |                   maxLength: 255
4020 |                   description: 'Name of the service.'
4021 |                 description:
4022 |                   type: string
4023 |                   nullable: true
4024 |                   description: 'Description of the service.'
4025 |                 project_uuid:
4026 |                   type: string
4027 |                   description: 'Project UUID.'
4028 |                 environment_name:
4029 |                   type: string
4030 |                   description: 'Environment name. You need to provide at least one of environment_name or environment_uuid.'
4031 |                 environment_uuid:
4032 |                   type: string
4033 |                   description: 'Environment UUID. You need to provide at least one of environment_name or environment_uuid.'
4034 |                 server_uuid:
4035 |                   type: string
4036 |                   description: 'Server UUID.'
4037 |                 destination_uuid:
4038 |                   type: string
4039 |                   description: 'Destination UUID. Required if server has multiple destinations.'
4040 |                 instant_deploy:
4041 |                   type: boolean
4042 |                   default: false
4043 |                   description: 'Start the service immediately after creation.'
4044 |               type: object
4045 |       responses:
4046 |         '201':
4047 |           description: 'Create a service.'
4048 |           content:
4049 |             application/json:
4050 |               schema:
4051 |                 properties:
4052 |                   uuid: { type: string, description: 'Service UUID.' }
4053 |                   domains: { type: array, items: { type: string }, description: 'Service domains.' }
4054 |                 type: object
4055 |         '401':
4056 |           $ref: '#/components/responses/401'
4057 |         '400':
4058 |           $ref: '#/components/responses/400'
4059 |       security:
4060 |         - bearerAuth: []
4061 |   '/services/{uuid}':
4062 |     get:
4063 |       tags:
4064 |         - Services
4065 |       summary: Get
4066 |       description: 'Get service by UUID.'
4067 |       operationId: get-service-by-uuid
4068 |       parameters:
4069 |         - name: uuid
4070 |           in: path
4071 |           description: 'Service UUID'
4072 |           required: true
4073 |           schema:
4074 |             type: string
4075 |       responses:
4076 |         '200':
4077 |           description: 'Get a service by UUID.'
4078 |           content:
4079 |             application/json:
4080 |               schema:
4081 |                 $ref: '#/components/schemas/Service'
4082 |         '401':
4083 |           $ref: '#/components/responses/401'
4084 |         '400':
4085 |           $ref: '#/components/responses/400'
4086 |         '404':
4087 |           $ref: '#/components/responses/404'
4088 |       security:
4089 |         - bearerAuth: []
4090 |     delete:
4091 |       tags:
4092 |         - Services
4093 |       summary: Delete
4094 |       description: 'Delete service by UUID.'
4095 |       operationId: delete-service-by-uuid
4096 |       parameters:
4097 |         - name: uuid
4098 |           in: path
4099 |           description: 'Service UUID'
4100 |           required: true
4101 |           schema:
4102 |             type: string
4103 |         - name: delete_configurations
4104 |           in: query
4105 |           description: 'Delete configurations.'
4106 |           required: false
4107 |           schema:
4108 |             type: boolean
4109 |             default: true
4110 |         - name: delete_volumes
4111 |           in: query
4112 |           description: 'Delete volumes.'
4113 |           required: false
4114 |           schema:
4115 |             type: boolean
4116 |             default: true
4117 |         - name: docker_cleanup
4118 |           in: query
4119 |           description: 'Run docker cleanup.'
4120 |           required: false
4121 |           schema:
4122 |             type: boolean
4123 |             default: true
4124 |         - name: delete_connected_networks
4125 |           in: query
4126 |           description: 'Delete connected networks.'
4127 |           required: false
4128 |           schema:
4129 |             type: boolean
4130 |             default: true
4131 |       responses:
4132 |         '200':
4133 |           description: 'Delete a service by UUID'
4134 |           content:
4135 |             application/json:
4136 |               schema:
4137 |                 properties:
4138 |                   message: { type: string, example: 'Service deletion request queued.' }
4139 |                 type: object
4140 |         '401':
4141 |           $ref: '#/components/responses/401'
4142 |         '400':
4143 |           $ref: '#/components/responses/400'
4144 |         '404':
4145 |           $ref: '#/components/responses/404'
4146 |       security:
4147 |         - bearerAuth: []
4148 |   '/services/{uuid}/envs':
4149 |     get:
4150 |       tags:
4151 |         - Services
4152 |       summary: 'List Envs'
4153 |       description: 'List all envs by service UUID.'
4154 |       operationId: list-envs-by-service-uuid
4155 |       parameters:
4156 |         - name: uuid
4157 |           in: path
4158 |           description: 'UUID of the service.'
4159 |           required: true
4160 |           schema:
4161 |             type: string
4162 |             format: uuid
4163 |       responses:
4164 |         '200':
4165 |           description: 'All environment variables by service UUID.'
4166 |           content:
4167 |             application/json:
4168 |               schema:
4169 |                 type: array
4170 |                 items:
4171 |                   $ref: '#/components/schemas/EnvironmentVariable'
4172 |         '401':
4173 |           $ref: '#/components/responses/401'
4174 |         '400':
4175 |           $ref: '#/components/responses/400'
4176 |         '404':
4177 |           $ref: '#/components/responses/404'
4178 |       security:
4179 |         - bearerAuth: []
4180 |     post:
4181 |       tags:
4182 |         - Services
4183 |       summary: 'Create Env'
4184 |       description: 'Create env by service UUID.'
4185 |       operationId: create-env-by-service-uuid
4186 |       parameters:
4187 |         - name: uuid
4188 |           in: path
4189 |           description: 'UUID of the service.'
4190 |           required: true
4191 |           schema:
4192 |             type: string
4193 |             format: uuid
4194 |       requestBody:
4195 |         description: 'Env created.'
4196 |         required: true
4197 |         content:
4198 |           application/json:
4199 |             schema:
4200 |               properties:
4201 |                 key:
4202 |                   type: string
4203 |                   description: 'The key of the environment variable.'
4204 |                 value:
4205 |                   type: string
4206 |                   description: 'The value of the environment variable.'
4207 |                 is_preview:
4208 |                   type: boolean
4209 |                   description: 'The flag to indicate if the environment variable is used in preview deployments.'
4210 |                 is_build_time:
4211 |                   type: boolean
4212 |                   description: 'The flag to indicate if the environment variable is used in build time.'
4213 |                 is_literal:
4214 |                   type: boolean
4215 |                   description: 'The flag to indicate if the environment variable is a literal, nothing espaced.'
4216 |                 is_multiline:
4217 |                   type: boolean
4218 |                   description: 'The flag to indicate if the environment variable is multiline.'
4219 |                 is_shown_once:
4220 |                   type: boolean
4221 |                   description: "The flag to indicate if the environment variable's value is shown on the UI."
4222 |               type: object
4223 |       responses:
4224 |         '201':
4225 |           description: 'Environment variable created.'
4226 |           content:
4227 |             application/json:
4228 |               schema:
4229 |                 properties:
4230 |                   uuid: { type: string, example: nc0k04gk8g0cgsk440g0koko }
4231 |                 type: object
4232 |         '401':
4233 |           $ref: '#/components/responses/401'
4234 |         '400':
4235 |           $ref: '#/components/responses/400'
4236 |         '404':
4237 |           $ref: '#/components/responses/404'
4238 |       security:
4239 |         - bearerAuth: []
4240 |     patch:
4241 |       tags:
4242 |         - Services
4243 |       summary: 'Update Env'
4244 |       description: 'Update env by service UUID.'
4245 |       operationId: update-env-by-service-uuid
4246 |       parameters:
4247 |         - name: uuid
4248 |           in: path
4249 |           description: 'UUID of the service.'
4250 |           required: true
4251 |           schema:
4252 |             type: string
4253 |             format: uuid
4254 |       requestBody:
4255 |         description: 'Env updated.'
4256 |         required: true
4257 |         content:
4258 |           application/json:
4259 |             schema:
4260 |               required:
4261 |                 - key
4262 |                 - value
4263 |               properties:
4264 |                 key:
4265 |                   type: string
4266 |                   description: 'The key of the environment variable.'
4267 |                 value:
4268 |                   type: string
4269 |                   description: 'The value of the environment variable.'
4270 |                 is_preview:
4271 |                   type: boolean
4272 |                   description: 'The flag to indicate if the environment variable is used in preview deployments.'
4273 |                 is_build_time:
4274 |                   type: boolean
4275 |                   description: 'The flag to indicate if the environment variable is used in build time.'
4276 |                 is_literal:
4277 |                   type: boolean
4278 |                   description: 'The flag to indicate if the environment variable is a literal, nothing espaced.'
4279 |                 is_multiline:
4280 |                   type: boolean
4281 |                   description: 'The flag to indicate if the environment variable is multiline.'
4282 |                 is_shown_once:
4283 |                   type: boolean
4284 |                   description: "The flag to indicate if the environment variable's value is shown on the UI."
4285 |               type: object
4286 |       responses:
4287 |         '201':
4288 |           description: 'Environment variable updated.'
4289 |           content:
4290 |             application/json:
4291 |               schema:
4292 |                 properties:
4293 |                   message: { type: string, example: 'Environment variable updated.' }
4294 |                 type: object
4295 |         '401':
4296 |           $ref: '#/components/responses/401'
4297 |         '400':
4298 |           $ref: '#/components/responses/400'
4299 |         '404':
4300 |           $ref: '#/components/responses/404'
4301 |       security:
4302 |         - bearerAuth: []
4303 |   '/services/{uuid}/envs/bulk':
4304 |     patch:
4305 |       tags:
4306 |         - Services
4307 |       summary: 'Update Envs (Bulk)'
4308 |       description: 'Update multiple envs by service UUID.'
4309 |       operationId: update-envs-by-service-uuid
4310 |       parameters:
4311 |         - name: uuid
4312 |           in: path
4313 |           description: 'UUID of the service.'
4314 |           required: true
4315 |           schema:
4316 |             type: string
4317 |             format: uuid
4318 |       requestBody:
4319 |         description: 'Bulk envs updated.'
4320 |         required: true
4321 |         content:
4322 |           application/json:
4323 |             schema:
4324 |               required:
4325 |                 - data
4326 |               properties:
4327 |                 data:
4328 |                   type: array
4329 |                   items:
4330 |                     {
4331 |                       properties:
4332 |                         {
4333 |                           key:
4334 |                             { type: string, description: 'The key of the environment variable.' },
4335 |                           value:
4336 |                             { type: string, description: 'The value of the environment variable.' },
4337 |                           is_preview:
4338 |                             {
4339 |                               type: boolean,
4340 |                               description: 'The flag to indicate if the environment variable is used in preview deployments.',
4341 |                             },
4342 |                           is_build_time:
4343 |                             {
4344 |                               type: boolean,
4345 |                               description: 'The flag to indicate if the environment variable is used in build time.',
4346 |                             },
4347 |                           is_literal:
4348 |                             {
4349 |                               type: boolean,
4350 |                               description: 'The flag to indicate if the environment variable is a literal, nothing espaced.',
4351 |                             },
4352 |                           is_multiline:
4353 |                             {
4354 |                               type: boolean,
4355 |                               description: 'The flag to indicate if the environment variable is multiline.',
4356 |                             },
4357 |                           is_shown_once:
4358 |                             {
4359 |                               type: boolean,
4360 |                               description: "The flag to indicate if the environment variable's value is shown on the UI.",
4361 |                             },
4362 |                         },
4363 |                       type: object,
4364 |                     }
4365 |               type: object
4366 |       responses:
4367 |         '201':
4368 |           description: 'Environment variables updated.'
4369 |           content:
4370 |             application/json:
4371 |               schema:
4372 |                 properties:
4373 |                   message: { type: string, example: 'Environment variables updated.' }
4374 |                 type: object
4375 |         '401':
4376 |           $ref: '#/components/responses/401'
4377 |         '400':
4378 |           $ref: '#/components/responses/400'
4379 |         '404':
4380 |           $ref: '#/components/responses/404'
4381 |       security:
4382 |         - bearerAuth: []
4383 |   '/services/{uuid}/envs/{env_uuid}':
4384 |     delete:
4385 |       tags:
4386 |         - Services
4387 |       summary: 'Delete Env'
4388 |       description: 'Delete env by UUID.'
4389 |       operationId: delete-env-by-service-uuid
4390 |       parameters:
4391 |         - name: uuid
4392 |           in: path
4393 |           description: 'UUID of the service.'
4394 |           required: true
4395 |           schema:
4396 |             type: string
4397 |             format: uuid
4398 |         - name: env_uuid
4399 |           in: path
4400 |           description: 'UUID of the environment variable.'
4401 |           required: true
4402 |           schema:
4403 |             type: string
4404 |             format: uuid
4405 |       responses:
4406 |         '200':
4407 |           description: 'Environment variable deleted.'
4408 |           content:
4409 |             application/json:
4410 |               schema:
4411 |                 properties:
4412 |                   message: { type: string, example: 'Environment variable deleted.' }
4413 |                 type: object
4414 |         '401':
4415 |           $ref: '#/components/responses/401'
4416 |         '400':
4417 |           $ref: '#/components/responses/400'
4418 |         '404':
4419 |           $ref: '#/components/responses/404'
4420 |       security:
4421 |         - bearerAuth: []
4422 |   '/services/{uuid}/start':
4423 |     get:
4424 |       tags:
4425 |         - Services
4426 |       summary: Start
4427 |       description: 'Start service. `Post` request is also accepted.'
4428 |       operationId: start-service-by-uuid
4429 |       parameters:
4430 |         - name: uuid
4431 |           in: path
4432 |           description: 'UUID of the service.'
4433 |           required: true
4434 |           schema:
4435 |             type: string
4436 |             format: uuid
4437 |       responses:
4438 |         '200':
4439 |           description: 'Start service.'
4440 |           content:
4441 |             application/json:
4442 |               schema:
4443 |                 properties:
4444 |                   message: { type: string, example: 'Service starting request queued.' }
4445 |                 type: object
4446 |         '401':
4447 |           $ref: '#/components/responses/401'
4448 |         '400':
4449 |           $ref: '#/components/responses/400'
4450 |         '404':
4451 |           $ref: '#/components/responses/404'
4452 |       security:
4453 |         - bearerAuth: []
4454 |   '/services/{uuid}/stop':
4455 |     get:
4456 |       tags:
4457 |         - Services
4458 |       summary: Stop
4459 |       description: 'Stop service. `Post` request is also accepted.'
4460 |       operationId: stop-service-by-uuid
4461 |       parameters:
4462 |         - name: uuid
4463 |           in: path
4464 |           description: 'UUID of the service.'
4465 |           required: true
4466 |           schema:
4467 |             type: string
4468 |             format: uuid
4469 |       responses:
4470 |         '200':
4471 |           description: 'Stop service.'
4472 |           content:
4473 |             application/json:
4474 |               schema:
4475 |                 properties:
4476 |                   message: { type: string, example: 'Service stopping request queued.' }
4477 |                 type: object
4478 |         '401':
4479 |           $ref: '#/components/responses/401'
4480 |         '400':
4481 |           $ref: '#/components/responses/400'
4482 |         '404':
4483 |           $ref: '#/components/responses/404'
4484 |       security:
4485 |         - bearerAuth: []
4486 |   '/services/{uuid}/restart':
4487 |     get:
4488 |       tags:
4489 |         - Services
4490 |       summary: Restart
4491 |       description: 'Restart service. `Post` request is also accepted.'
4492 |       operationId: restart-service-by-uuid
4493 |       parameters:
4494 |         - name: uuid
4495 |           in: path
4496 |           description: 'UUID of the service.'
4497 |           required: true
4498 |           schema:
4499 |             type: string
4500 |             format: uuid
4501 |       responses:
4502 |         '200':
4503 |           description: 'Restart service.'
4504 |           content:
4505 |             application/json:
4506 |               schema:
4507 |                 properties:
4508 |                   message: { type: string, example: 'Service restaring request queued.' }
4509 |                 type: object
4510 |         '401':
4511 |           $ref: '#/components/responses/401'
4512 |         '400':
4513 |           $ref: '#/components/responses/400'
4514 |         '404':
4515 |           $ref: '#/components/responses/404'
4516 |       security:
4517 |         - bearerAuth: []
4518 |   /teams:
4519 |     get:
4520 |       tags:
4521 |         - Teams
4522 |       summary: List
4523 |       description: 'Get all teams.'
4524 |       operationId: list-teams
4525 |       responses:
4526 |         '200':
4527 |           description: 'List of teams.'
4528 |           content:
4529 |             application/json:
4530 |               schema:
4531 |                 type: array
4532 |                 items:
4533 |                   $ref: '#/components/schemas/Team'
4534 |         '401':
4535 |           $ref: '#/components/responses/401'
4536 |         '400':
4537 |           $ref: '#/components/responses/400'
4538 |       security:
4539 |         - bearerAuth: []
4540 |   '/teams/{id}':
4541 |     get:
4542 |       tags:
4543 |         - Teams
4544 |       summary: Get
4545 |       description: 'Get team by TeamId.'
4546 |       operationId: get-team-by-id
4547 |       parameters:
4548 |         - name: id
4549 |           in: path
4550 |           description: 'Team ID'
4551 |           required: true
4552 |           schema:
4553 |             type: integer
4554 |       responses:
4555 |         '200':
4556 |           description: 'List of teams.'
4557 |           content:
4558 |             application/json:
4559 |               schema:
4560 |                 $ref: '#/components/schemas/Team'
4561 |         '401':
4562 |           $ref: '#/components/responses/401'
4563 |         '400':
4564 |           $ref: '#/components/responses/400'
4565 |         '404':
4566 |           $ref: '#/components/responses/404'
4567 |       security:
4568 |         - bearerAuth: []
4569 |   '/teams/{id}/members':
4570 |     get:
4571 |       tags:
4572 |         - Teams
4573 |       summary: Members
4574 |       description: 'Get members by TeamId.'
4575 |       operationId: get-members-by-team-id
4576 |       parameters:
4577 |         - name: id
4578 |           in: path
4579 |           description: 'Team ID'
4580 |           required: true
4581 |           schema:
4582 |             type: integer
4583 |       responses:
4584 |         '200':
4585 |           description: 'List of members.'
4586 |           content:
4587 |             application/json:
4588 |               schema:
4589 |                 type: array
4590 |                 items:
4591 |                   $ref: '#/components/schemas/User'
4592 |         '401':
4593 |           $ref: '#/components/responses/401'
4594 |         '400':
4595 |           $ref: '#/components/responses/400'
4596 |         '404':
4597 |           $ref: '#/components/responses/404'
4598 |       security:
4599 |         - bearerAuth: []
4600 |   /teams/current:
4601 |     get:
4602 |       tags:
4603 |         - Teams
4604 |       summary: 'Authenticated Team'
4605 |       description: 'Get currently authenticated team.'
4606 |       operationId: get-current-team
4607 |       responses:
4608 |         '200':
4609 |           description: 'Current Team.'
4610 |           content:
4611 |             application/json:
4612 |               schema:
4613 |                 $ref: '#/components/schemas/Team'
4614 |         '401':
4615 |           $ref: '#/components/responses/401'
4616 |         '400':
4617 |           $ref: '#/components/responses/400'
4618 |       security:
4619 |         - bearerAuth: []
4620 |   /teams/current/members:
4621 |     get:
4622 |       tags:
4623 |         - Teams
4624 |       summary: 'Authenticated Team Members'
4625 |       description: 'Get currently authenticated team members.'
4626 |       operationId: get-current-team-members
4627 |       responses:
4628 |         '200':
4629 |           description: 'Currently authenticated team members.'
4630 |           content:
4631 |             application/json:
4632 |               schema:
4633 |                 type: array
4634 |                 items:
4635 |                   $ref: '#/components/schemas/User'
4636 |         '401':
4637 |           $ref: '#/components/responses/401'
4638 |         '400':
4639 |           $ref: '#/components/responses/400'
4640 |       security:
4641 |         - bearerAuth: []
4642 | components:
4643 |   schemas:
4644 |     Application:
4645 |       description: 'Application model'
4646 |       properties:
4647 |         id:
4648 |           type: integer
4649 |           description: 'The application identifier in the database.'
4650 |         description:
4651 |           type: string
4652 |           nullable: true
4653 |           description: 'The application description.'
4654 |         repository_project_id:
4655 |           type: integer
4656 |           nullable: true
4657 |           description: 'The repository project identifier.'
4658 |         uuid:
4659 |           type: string
4660 |           description: 'The application UUID.'
4661 |         name:
4662 |           type: string
4663 |           description: 'The application name.'
4664 |         fqdn:
4665 |           type: string
4666 |           nullable: true
4667 |           description: 'The application domains.'
4668 |         config_hash:
4669 |           type: string
4670 |           description: 'Configuration hash.'
4671 |         git_repository:
4672 |           type: string
4673 |           description: 'Git repository URL.'
4674 |         git_branch:
4675 |           type: string
4676 |           description: 'Git branch.'
4677 |         git_commit_sha:
4678 |           type: string
4679 |           description: 'Git commit SHA.'
4680 |         git_full_url:
4681 |           type: string
4682 |           nullable: true
4683 |           description: 'Git full URL.'
4684 |         docker_registry_image_name:
4685 |           type: string
4686 |           nullable: true
4687 |           description: 'Docker registry image name.'
4688 |         docker_registry_image_tag:
4689 |           type: string
4690 |           nullable: true
4691 |           description: 'Docker registry image tag.'
4692 |         build_pack:
4693 |           type: string
4694 |           description: 'Build pack.'
4695 |           enum:
4696 |             - nixpacks
4697 |             - static
4698 |             - dockerfile
4699 |             - dockercompose
4700 |         static_image:
4701 |           type: string
4702 |           description: 'Static image used when static site is deployed.'
4703 |         install_command:
4704 |           type: string
4705 |           description: 'Install command.'
4706 |         build_command:
4707 |           type: string
4708 |           description: 'Build command.'
4709 |         start_command:
4710 |           type: string
4711 |           description: 'Start command.'
4712 |         ports_exposes:
4713 |           type: string
4714 |           description: 'Ports exposes.'
4715 |         ports_mappings:
4716 |           type: string
4717 |           nullable: true
4718 |           description: 'Ports mappings.'
4719 |         base_directory:
4720 |           type: string
4721 |           description: 'Base directory for all commands.'
4722 |         publish_directory:
4723 |           type: string
4724 |           description: 'Publish directory.'
4725 |         health_check_enabled:
4726 |           type: boolean
4727 |           description: 'Health check enabled.'
4728 |         health_check_path:
4729 |           type: string
4730 |           description: 'Health check path.'
4731 |         health_check_port:
4732 |           type: string
4733 |           nullable: true
4734 |           description: 'Health check port.'
4735 |         health_check_host:
4736 |           type: string
4737 |           nullable: true
4738 |           description: 'Health check host.'
4739 |         health_check_method:
4740 |           type: string
4741 |           description: 'Health check method.'
4742 |         health_check_return_code:
4743 |           type: integer
4744 |           description: 'Health check return code.'
4745 |         health_check_scheme:
4746 |           type: string
4747 |           description: 'Health check scheme.'
4748 |         health_check_response_text:
4749 |           type: string
4750 |           nullable: true
4751 |           description: 'Health check response text.'
4752 |         health_check_interval:
4753 |           type: integer
4754 |           description: 'Health check interval in seconds.'
4755 |         health_check_timeout:
4756 |           type: integer
4757 |           description: 'Health check timeout in seconds.'
4758 |         health_check_retries:
4759 |           type: integer
4760 |           description: 'Health check retries count.'
4761 |         health_check_start_period:
4762 |           type: integer
4763 |           description: 'Health check start period in seconds.'
4764 |         limits_memory:
4765 |           type: string
4766 |           description: 'Memory limit.'
4767 |         limits_memory_swap:
4768 |           type: string
4769 |           description: 'Memory swap limit.'
4770 |         limits_memory_swappiness:
4771 |           type: integer
4772 |           description: 'Memory swappiness.'
4773 |         limits_memory_reservation:
4774 |           type: string
4775 |           description: 'Memory reservation.'
4776 |         limits_cpus:
4777 |           type: string
4778 |           description: 'CPU limit.'
4779 |         limits_cpuset:
4780 |           type: string
4781 |           nullable: true
4782 |           description: 'CPU set.'
4783 |         limits_cpu_shares:
4784 |           type: integer
4785 |           description: 'CPU shares.'
4786 |         status:
4787 |           type: string
4788 |           description: 'Application status.'
4789 |         preview_url_template:
4790 |           type: string
4791 |           description: 'Preview URL template.'
4792 |         destination_type:
4793 |           type: string
4794 |           description: 'Destination type.'
4795 |         destination_id:
4796 |           type: integer
4797 |           description: 'Destination identifier.'
4798 |         source_id:
4799 |           type: integer
4800 |           nullable: true
4801 |           description: 'Source identifier.'
4802 |         private_key_id:
4803 |           type: integer
4804 |           nullable: true
4805 |           description: 'Private key identifier.'
4806 |         environment_id:
4807 |           type: integer
4808 |           description: 'Environment identifier.'
4809 |         dockerfile:
4810 |           type: string
4811 |           nullable: true
4812 |           description: 'Dockerfile content. Used for dockerfile build pack.'
4813 |         dockerfile_location:
4814 |           type: string
4815 |           description: 'Dockerfile location.'
4816 |         custom_labels:
4817 |           type: string
4818 |           nullable: true
4819 |           description: 'Custom labels.'
4820 |         dockerfile_target_build:
4821 |           type: string
4822 |           nullable: true
4823 |           description: 'Dockerfile target build.'
4824 |         manual_webhook_secret_github:
4825 |           type: string
4826 |           nullable: true
4827 |           description: 'Manual webhook secret for GitHub.'
4828 |         manual_webhook_secret_gitlab:
4829 |           type: string
4830 |           nullable: true
4831 |           description: 'Manual webhook secret for GitLab.'
4832 |         manual_webhook_secret_bitbucket:
4833 |           type: string
4834 |           nullable: true
4835 |           description: 'Manual webhook secret for Bitbucket.'
4836 |         manual_webhook_secret_gitea:
4837 |           type: string
4838 |           nullable: true
4839 |           description: 'Manual webhook secret for Gitea.'
4840 |         docker_compose_location:
4841 |           type: string
4842 |           description: 'Docker compose location.'
4843 |         docker_compose:
4844 |           type: string
4845 |           nullable: true
4846 |           description: 'Docker compose content. Used for docker compose build pack.'
4847 |         docker_compose_raw:
4848 |           type: string
4849 |           nullable: true
4850 |           description: 'Docker compose raw content.'
4851 |         docker_compose_domains:
4852 |           type: string
4853 |           nullable: true
4854 |           description: 'Docker compose domains.'
4855 |         docker_compose_custom_start_command:
4856 |           type: string
4857 |           nullable: true
4858 |           description: 'Docker compose custom start command.'
4859 |         docker_compose_custom_build_command:
4860 |           type: string
4861 |           nullable: true
4862 |           description: 'Docker compose custom build command.'
4863 |         swarm_replicas:
4864 |           type: integer
4865 |           nullable: true
4866 |           description: 'Swarm replicas. Only used for swarm deployments.'
4867 |         swarm_placement_constraints:
4868 |           type: string
4869 |           nullable: true
4870 |           description: 'Swarm placement constraints. Only used for swarm deployments.'
4871 |         custom_docker_run_options:
4872 |           type: string
4873 |           nullable: true
4874 |           description: 'Custom docker run options.'
4875 |         post_deployment_command:
4876 |           type: string
4877 |           nullable: true
4878 |           description: 'Post deployment command.'
4879 |         post_deployment_command_container:
4880 |           type: string
4881 |           nullable: true
4882 |           description: 'Post deployment command container.'
4883 |         pre_deployment_command:
4884 |           type: string
4885 |           nullable: true
4886 |           description: 'Pre deployment command.'
4887 |         pre_deployment_command_container:
4888 |           type: string
4889 |           nullable: true
4890 |           description: 'Pre deployment command container.'
4891 |         watch_paths:
4892 |           type: string
4893 |           nullable: true
4894 |           description: 'Watch paths.'
4895 |         custom_healthcheck_found:
4896 |           type: boolean
4897 |           description: 'Custom healthcheck found.'
4898 |         redirect:
4899 |           type: string
4900 |           nullable: true
4901 |           description: 'How to set redirect with Traefik / Caddy. www<->non-www.'
4902 |           enum:
4903 |             - www
4904 |             - non-www
4905 |             - both
4906 |         created_at:
4907 |           type: string
4908 |           format: date-time
4909 |           description: 'The date and time when the application was created.'
4910 |         updated_at:
4911 |           type: string
4912 |           format: date-time
4913 |           description: 'The date and time when the application was last updated.'
4914 |         deleted_at:
4915 |           type: string
4916 |           format: date-time
4917 |           nullable: true
4918 |           description: 'The date and time when the application was deleted.'
4919 |         compose_parsing_version:
4920 |           type: string
4921 |           description: 'How Coolify parse the compose file.'
4922 |         custom_nginx_configuration:
4923 |           type: string
4924 |           nullable: true
4925 |           description: 'Custom Nginx configuration base64 encoded.'
4926 |       type: object
4927 |     ApplicationDeploymentQueue:
4928 |       description: 'Project model'
4929 |       properties:
4930 |         id:
4931 |           type: integer
4932 |         application_id:
4933 |           type: string
4934 |         deployment_uuid:
4935 |           type: string
4936 |         pull_request_id:
4937 |           type: integer
4938 |         force_rebuild:
4939 |           type: boolean
4940 |         commit:
4941 |           type: string
4942 |         status:
4943 |           type: string
4944 |         is_webhook:
4945 |           type: boolean
4946 |         is_api:
4947 |           type: boolean
4948 |         created_at:
4949 |           type: string
4950 |         updated_at:
4951 |           type: string
4952 |         logs:
4953 |           type: string
4954 |         current_process_id:
4955 |           type: string
4956 |         restart_only:
4957 |           type: boolean
4958 |         git_type:
4959 |           type: string
4960 |         server_id:
4961 |           type: integer
4962 |         application_name:
4963 |           type: string
4964 |         server_name:
4965 |           type: string
4966 |         deployment_url:
4967 |           type: string
4968 |         destination_id:
4969 |           type: string
4970 |         only_this_server:
4971 |           type: boolean
4972 |         rollback:
4973 |           type: boolean
4974 |         commit_message:
4975 |           type: string
4976 |       type: object
4977 |     Environment:
4978 |       description: 'Environment model'
4979 |       properties:
4980 |         id:
4981 |           type: integer
4982 |         name:
4983 |           type: string
4984 |         project_id:
4985 |           type: integer
4986 |         created_at:
4987 |           type: string
4988 |         updated_at:
4989 |           type: string
4990 |         description:
4991 |           type: string
4992 |       type: object
4993 |     EnvironmentVariable:
4994 |       description: 'Environment Variable model'
4995 |       properties:
4996 |         id:
4997 |           type: integer
4998 |         uuid:
4999 |           type: string
5000 |         resourceable_type:
5001 |           type: string
5002 |         resourceable_id:
5003 |           type: integer
5004 |         is_build_time:
5005 |           type: boolean
5006 |         is_literal:
5007 |           type: boolean
5008 |         is_multiline:
5009 |           type: boolean
5010 |         is_preview:
5011 |           type: boolean
5012 |         is_shared:
5013 |           type: boolean
5014 |         is_shown_once:
5015 |           type: boolean
5016 |         key:
5017 |           type: string
5018 |         value:
5019 |           type: string
5020 |         real_value:
5021 |           type: string
5022 |         version:
5023 |           type: string
5024 |         created_at:
5025 |           type: string
5026 |         updated_at:
5027 |           type: string
5028 |       type: object
5029 |     PrivateKey:
5030 |       description: 'Private Key model'
5031 |       properties:
5032 |         id:
5033 |           type: integer
5034 |         uuid:
5035 |           type: string
5036 |         name:
5037 |           type: string
5038 |         description:
5039 |           type: string
5040 |         private_key:
5041 |           type: string
5042 |           format: private-key
5043 |         is_git_related:
5044 |           type: boolean
5045 |         team_id:
5046 |           type: integer
5047 |         created_at:
5048 |           type: string
5049 |         updated_at:
5050 |           type: string
5051 |       type: object
5052 |     Project:
5053 |       description: 'Project model'
5054 |       properties:
5055 |         id:
5056 |           type: integer
5057 |         uuid:
5058 |           type: string
5059 |         name:
5060 |           type: string
5061 |         description:
5062 |           type: string
5063 |         environments:
5064 |           description: 'The environments of the project.'
5065 |           type: array
5066 |           items:
5067 |             $ref: '#/components/schemas/Environment'
5068 |       type: object
5069 |     Server:
5070 |       description: 'Server model'
5071 |       properties:
5072 |         id:
5073 |           type: integer
5074 |           description: 'The server ID.'
5075 |         uuid:
5076 |           type: string
5077 |           description: 'The server UUID.'
5078 |         name:
5079 |           type: string
5080 |           description: 'The server name.'
5081 |         description:
5082 |           type: string
5083 |           description: 'The server description.'
5084 |         ip:
5085 |           type: string
5086 |           description: 'The IP address.'
5087 |         user:
5088 |           type: string
5089 |           description: 'The user.'
5090 |         port:
5091 |           type: integer
5092 |           description: 'The port number.'
5093 |         proxy:
5094 |           type: object
5095 |           description: 'The proxy configuration.'
5096 |         proxy_type:
5097 |           type: string
5098 |           enum:
5099 |             - traefik
5100 |             - caddy
5101 |             - none
5102 |           description: 'The proxy type.'
5103 |         high_disk_usage_notification_sent:
5104 |           type: boolean
5105 |           description: 'The flag to indicate if the high disk usage notification has been sent.'
5106 |         unreachable_notification_sent:
5107 |           type: boolean
5108 |           description: 'The flag to indicate if the unreachable notification has been sent.'
5109 |         unreachable_count:
5110 |           type: integer
5111 |           description: 'The unreachable count for your server.'
5112 |         validation_logs:
5113 |           type: string
5114 |           description: 'The validation logs.'
5115 |         log_drain_notification_sent:
5116 |           type: boolean
5117 |           description: 'The flag to indicate if the log drain notification has been sent.'
5118 |         swarm_cluster:
5119 |           type: string
5120 |           description: 'The swarm cluster configuration.'
5121 |         settings:
5122 |           $ref: '#/components/schemas/ServerSetting'
5123 |       type: object
5124 |     ServerSetting:
5125 |       description: 'Server Settings model'
5126 |       properties:
5127 |         id:
5128 |           type: integer
5129 |         concurrent_builds:
5130 |           type: integer
5131 |         dynamic_timeout:
5132 |           type: integer
5133 |         force_disabled:
5134 |           type: boolean
5135 |         force_server_cleanup:
5136 |           type: boolean
5137 |         is_build_server:
5138 |           type: boolean
5139 |         is_cloudflare_tunnel:
5140 |           type: boolean
5141 |         is_jump_server:
5142 |           type: boolean
5143 |         is_logdrain_axiom_enabled:
5144 |           type: boolean
5145 |         is_logdrain_custom_enabled:
5146 |           type: boolean
5147 |         is_logdrain_highlight_enabled:
5148 |           type: boolean
5149 |         is_logdrain_newrelic_enabled:
5150 |           type: boolean
5151 |         is_metrics_enabled:
5152 |           type: boolean
5153 |         is_reachable:
5154 |           type: boolean
5155 |         is_sentinel_enabled:
5156 |           type: boolean
5157 |         is_swarm_manager:
5158 |           type: boolean
5159 |         is_swarm_worker:
5160 |           type: boolean
5161 |         is_usable:
5162 |           type: boolean
5163 |         logdrain_axiom_api_key:
5164 |           type: string
5165 |         logdrain_axiom_dataset_name:
5166 |           type: string
5167 |         logdrain_custom_config:
5168 |           type: string
5169 |         logdrain_custom_config_parser:
5170 |           type: string
5171 |         logdrain_highlight_project_id:
5172 |           type: string
5173 |         logdrain_newrelic_base_uri:
5174 |           type: string
5175 |         logdrain_newrelic_license_key:
5176 |           type: string
5177 |         sentinel_metrics_history_days:
5178 |           type: integer
5179 |         sentinel_metrics_refresh_rate_seconds:
5180 |           type: integer
5181 |         sentinel_token:
5182 |           type: string
5183 |         docker_cleanup_frequency:
5184 |           type: string
5185 |         docker_cleanup_threshold:
5186 |           type: integer
5187 |         server_id:
5188 |           type: integer
5189 |         wildcard_domain:
5190 |           type: string
5191 |         created_at:
5192 |           type: string
5193 |         updated_at:
5194 |           type: string
5195 |         delete_unused_volumes:
5196 |           type: boolean
5197 |           description: 'The flag to indicate if the unused volumes should be deleted.'
5198 |         delete_unused_networks:
5199 |           type: boolean
5200 |           description: 'The flag to indicate if the unused networks should be deleted.'
5201 |       type: object
5202 |     Service:
5203 |       description: 'Service model'
5204 |       properties:
5205 |         id:
5206 |           type: integer
5207 |           description: 'The unique identifier of the service. Only used for database identification.'
5208 |         uuid:
5209 |           type: string
5210 |           description: 'The unique identifier of the service.'
5211 |         name:
5212 |           type: string
5213 |           description: 'The name of the service.'
5214 |         environment_id:
5215 |           type: integer
5216 |           description: 'The unique identifier of the environment where the service is attached to.'
5217 |         server_id:
5218 |           type: integer
5219 |           description: 'The unique identifier of the server where the service is running.'
5220 |         description:
5221 |           type: string
5222 |           description: 'The description of the service.'
5223 |         docker_compose_raw:
5224 |           type: string
5225 |           description: 'The raw docker-compose.yml file of the service.'
5226 |         docker_compose:
5227 |           type: string
5228 |           description: 'The docker-compose.yml file that is parsed and modified by Coolify.'
5229 |         destination_type:
5230 |           type: string
5231 |           description: 'Destination type.'
5232 |         destination_id:
5233 |           type: integer
5234 |           description: 'The unique identifier of the destination where the service is running.'
5235 |         connect_to_docker_network:
5236 |           type: boolean
5237 |           description: 'The flag to connect the service to the predefined Docker network.'
5238 |         is_container_label_escape_enabled:
5239 |           type: boolean
5240 |           description: 'The flag to enable the container label escape.'
5241 |         is_container_label_readonly_enabled:
5242 |           type: boolean
5243 |           description: 'The flag to enable the container label readonly.'
5244 |         config_hash:
5245 |           type: string
5246 |           description: 'The hash of the service configuration.'
5247 |         service_type:
5248 |           type: string
5249 |           description: 'The type of the service.'
5250 |         created_at:
5251 |           type: string
5252 |           description: 'The date and time when the service was created.'
5253 |         updated_at:
5254 |           type: string
5255 |           description: 'The date and time when the service was last updated.'
5256 |         deleted_at:
5257 |           type: string
5258 |           description: 'The date and time when the service was deleted.'
5259 |       type: object
5260 |     Team:
5261 |       description: 'Team model'
5262 |       properties:
5263 |         id:
5264 |           type: integer
5265 |           description: 'The unique identifier of the team.'
5266 |         name:
5267 |           type: string
5268 |           description: 'The name of the team.'
5269 |         description:
5270 |           type: string
5271 |           description: 'The description of the team.'
5272 |         personal_team:
5273 |           type: boolean
5274 |           description: 'Whether the team is personal or not.'
5275 |         created_at:
5276 |           type: string
5277 |           description: 'The date and time the team was created.'
5278 |         updated_at:
5279 |           type: string
5280 |           description: 'The date and time the team was last updated.'
5281 |         show_boarding:
5282 |           type: boolean
5283 |           description: 'Whether to show the boarding screen or not.'
5284 |         custom_server_limit:
5285 |           type: string
5286 |           description: 'The custom server limit.'
5287 |         members:
5288 |           description: 'The members of the team.'
5289 |           type: array
5290 |           items:
5291 |             $ref: '#/components/schemas/User'
5292 |       type: object
5293 |     User:
5294 |       description: 'User model'
5295 |       properties:
5296 |         id:
5297 |           type: integer
5298 |           description: 'The user identifier in the database.'
5299 |         name:
5300 |           type: string
5301 |           description: 'The user name.'
5302 |         email:
5303 |           type: string
5304 |           description: 'The user email.'
5305 |         email_verified_at:
5306 |           type: string
5307 |           description: 'The date when the user email was verified.'
5308 |         created_at:
5309 |           type: string
5310 |           description: 'The date when the user was created.'
5311 |         updated_at:
5312 |           type: string
5313 |           description: 'The date when the user was updated.'
5314 |         two_factor_confirmed_at:
5315 |           type: string
5316 |           description: 'The date when the user two factor was confirmed.'
5317 |         force_password_reset:
5318 |           type: boolean
5319 |           description: 'The flag to force the user to reset the password.'
5320 |         marketing_emails:
5321 |           type: boolean
5322 |           description: 'The flag to receive marketing emails.'
5323 |       type: object
5324 |   responses:
5325 |     '400':
5326 |       description: 'Invalid token.'
5327 |       content:
5328 |         application/json:
5329 |           schema:
5330 |             properties:
5331 |               message:
5332 |                 type: string
5333 |                 example: 'Invalid token.'
5334 |             type: object
5335 |     '401':
5336 |       description: Unauthenticated.
5337 |       content:
5338 |         application/json:
5339 |           schema:
5340 |             properties:
5341 |               message:
5342 |                 type: string
5343 |                 example: Unauthenticated.
5344 |             type: object
5345 |     '404':
5346 |       description: 'Resource not found.'
5347 |       content:
5348 |         application/json:
5349 |           schema:
5350 |             properties:
5351 |               message:
5352 |                 type: string
5353 |                 example: 'Resource not found.'
5354 |             type: object
5355 |   securitySchemes:
5356 |     bearerAuth:
5357 |       type: http
5358 |       description: 'Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token.'
5359 |       scheme: bearer
5360 | tags:
5361 |   - name: Applications
5362 |     description: Applications
5363 |   - name: Databases
5364 |     description: Databases
5365 |   - name: Deployments
5366 |     description: Deployments
5367 |   - name: Projects
5368 |     description: Projects
5369 |   - name: Resources
5370 |     description: Resources
5371 |   - name: 'Private Keys'
5372 |     description: 'Private Keys'
5373 |   - name: Servers
5374 |     description: Servers
5375 |   - name: Services
5376 |     description: Services
5377 |   - name: Teams
5378 |     description: Teams
5379 | 
```
Page 4/5FirstPrevNextLast