2024-11-11 13:31:26 +00:00
openapi : 3.1 .0
2024-07-05 14:08:01 +00:00
info :
title : Coolify
version : '0.1'
servers :
-
2024-07-06 12:34:15 +00:00
url : 'https://app.coolify.io/api/v1'
2024-07-24 19:10:32 +00:00
description : 'Coolify Cloud API. Change the host to your own instance if you are self-hosting.'
2024-07-05 14:08:01 +00:00
paths :
2024-07-09 08:45:10 +00:00
/applications :
get :
tags :
- Applications
summary : List
description : 'List all applications.'
2024-09-04 08:09:10 +00:00
operationId : list-applications
2026-01-10 19:22:29 +00:00
parameters :
-
name : tag
in : query
description : 'Filter applications by tag name.'
required : false
schema :
type : string
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Get all applications.'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Application'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
2024-07-09 11:19:21 +00:00
/applications/public :
post :
tags :
- Applications
summary : 'Create (Public)'
description : 'Create new application based on a public git repository.'
2024-09-04 08:09:10 +00:00
operationId : create-public-application
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Application object that needs to be created.'
required : true
content :
application/json :
schema :
required :
- project_uuid
- server_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
- git_repository
- git_branch
- build_pack
- ports_exposes
properties :
project_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The project UUID.'
2024-07-09 11:19:21 +00:00
server_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The server UUID.'
2024-07-09 11:19:21 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 12:12:52 +00:00
git_repository :
type : string
description : 'The git repository URL.'
git_branch :
type : string
description : 'The git branch.'
build_pack :
type : string
enum : [ nixpacks, static, dockerfile, dockercompose]
description : 'The build pack type.'
ports_exposes :
type : string
description : 'The ports to expose.'
2024-07-09 11:19:21 +00:00
destination_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The destination UUID.'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application name.'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application description.'
2024-07-09 11:19:21 +00:00
domains :
type : string
2026-01-15 12:44:27 +00:00
description : 'The application URLs in a comma-separated list.'
2024-07-09 11:19:21 +00:00
git_commit_sha :
type : string
2024-07-09 12:12:52 +00:00
description : 'The git commit SHA.'
2024-07-09 11:19:21 +00:00
docker_registry_image_name :
type : string
2024-07-09 12:12:52 +00:00
description : 'The docker registry image name.'
2024-07-09 11:19:21 +00:00
docker_registry_image_tag :
type : string
2024-07-09 12:12:52 +00:00
description : 'The docker registry image tag.'
2024-07-09 11:19:21 +00:00
is_static :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the application is static.'
2026-01-15 12:44:27 +00:00
is_spa :
type : boolean
description : 'The flag to indicate if the application is a single-page application (SPA). Only relevant when is_static is true.'
is_auto_deploy_enabled :
type : boolean
description : 'The flag to indicate if auto-deploy is enabled on git push. Defaults to true.'
is_force_https_enabled :
type : boolean
description : 'The flag to indicate if HTTPS is forced. Defaults to true.'
2024-10-21 12:50:44 +00:00
static_image :
type : string
enum : [ 'nginx:alpine' ]
description : 'The static image.'
2024-07-09 11:19:21 +00:00
install_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The install command.'
2024-07-09 11:19:21 +00:00
build_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The build command.'
2024-07-09 11:19:21 +00:00
start_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The start command.'
2024-07-09 11:19:21 +00:00
ports_mappings :
type : string
2024-07-09 12:12:52 +00:00
description : 'The ports mappings.'
2024-07-09 11:19:21 +00:00
base_directory :
type : string
2024-07-09 12:12:52 +00:00
description : 'The base directory for all commands.'
2024-07-09 11:19:21 +00:00
publish_directory :
type : string
2024-07-09 12:12:52 +00:00
description : 'The publish directory.'
2024-07-09 11:19:21 +00:00
health_check_enabled :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'Health check enabled.'
2024-07-09 11:19:21 +00:00
health_check_path :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check path.'
2024-07-09 11:19:21 +00:00
health_check_port :
2024-07-09 12:12:52 +00:00
type : string
nullable : true
description : 'Health check port.'
2024-07-09 11:19:21 +00:00
health_check_host :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'Health check host.'
2024-07-09 11:19:21 +00:00
health_check_method :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check method.'
2024-07-09 11:19:21 +00:00
health_check_return_code :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check return code.'
2024-07-09 11:19:21 +00:00
health_check_scheme :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check scheme.'
2024-07-09 11:19:21 +00:00
health_check_response_text :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'Health check response text.'
2024-07-09 11:19:21 +00:00
health_check_interval :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check interval in seconds.'
2024-07-09 11:19:21 +00:00
health_check_timeout :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check timeout in seconds.'
2024-07-09 11:19:21 +00:00
health_check_retries :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check retries count.'
2024-07-09 11:19:21 +00:00
health_check_start_period :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check start period in seconds.'
2024-07-09 11:19:21 +00:00
limits_memory :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory limit.'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory swap limit.'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Memory swappiness.'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory reservation.'
2024-07-09 11:19:21 +00:00
limits_cpus :
type : string
2024-07-09 12:12:52 +00:00
description : 'CPU limit.'
2024-07-09 11:19:21 +00:00
limits_cpuset :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'CPU set.'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
2024-07-09 12:12:52 +00:00
type : integer
description : 'CPU shares.'
2024-07-09 11:19:21 +00:00
custom_labels :
type : string
2024-07-09 12:12:52 +00:00
description : 'Custom labels.'
2024-07-09 11:19:21 +00:00
custom_docker_run_options :
type : string
2024-07-09 12:12:52 +00:00
description : 'Custom docker run options.'
2024-07-09 11:19:21 +00:00
post_deployment_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'Post deployment command.'
2024-07-09 11:19:21 +00:00
post_deployment_command_container :
type : string
2024-07-09 12:12:52 +00:00
description : 'Post deployment command container.'
2024-07-09 11:19:21 +00:00
pre_deployment_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'Pre deployment command.'
2024-07-09 11:19:21 +00:00
pre_deployment_command_container :
type : string
2024-07-09 12:12:52 +00:00
description : 'Pre deployment command container.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_github :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Github.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_gitlab :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Gitlab.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_bitbucket :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Bitbucket.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_gitea :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Gitea.'
2024-07-09 11:19:21 +00:00
redirect :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'How to set redirect with Traefik / Caddy. www<->non-www.'
enum : [ www, non-www, both]
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the application should be deployed instantly.'
2024-07-09 11:19:21 +00:00
dockerfile :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Dockerfile content.'
2026-01-15 12:44:27 +00:00
dockerfile_location :
type : string
description : 'The Dockerfile location in the repository.'
2024-07-09 11:19:21 +00:00
docker_compose_location :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Docker Compose location.'
2024-07-09 11:19:21 +00:00
docker_compose_custom_start_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Docker Compose custom start command.'
2024-07-09 11:19:21 +00:00
docker_compose_custom_build_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Docker Compose custom build command.'
2024-07-09 11:19:21 +00:00
docker_compose_domains :
type : array
2026-01-12 20:42:46 +00:00
description : 'Array of URLs to be applied to containers of a dockercompose application.'
items : { properties : { name : { type: string, description: 'The service name as defined in docker-compose.' }, domain : { type: string, description : 'Comma-separated list of URLs (e.g. "http://app.coolify.io,https://app2.coolify.io")' } }, type : object }
2024-07-09 11:19:21 +00:00
watch_paths :
type : string
2024-07-09 12:12:52 +00:00
description : 'The watch paths.'
2024-09-30 12:18:41 +00:00
use_build_server :
type : boolean
nullable : true
description : 'Use build server.'
2025-04-23 11:22:01 +00:00
is_http_basic_auth_enabled :
type : boolean
description : 'HTTP Basic Authentication enabled.'
http_basic_auth_username :
type : string
nullable : true
description : 'Username for HTTP Basic Authentication'
http_basic_auth_password :
type : string
nullable : true
description : 'Password for HTTP Basic Authentication'
2025-05-27 13:10:20 +00:00
connect_to_docker_network :
type : boolean
description : 'The flag to connect the service to the predefined Docker network.'
2025-08-28 09:21:30 +00:00
force_domain_override :
type : boolean
description : 'Force domain usage even if conflicts are detected. Default is false.'
2025-12-09 15:26:08 +00:00
autogenerate_domain :
type : boolean
2025-12-11 11:12:43 +00:00
default : true
2025-12-09 15:26:08 +00:00
description : "If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Default: true."
2026-01-06 14:50:55 +00:00
is_container_label_escape_enabled :
type : boolean
default : true
description : 'Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off.'
2026-02-15 19:53:26 +00:00
is_preserve_repository_enabled :
type : boolean
default : false
description : 'Preserve repository during deployment.'
2024-07-09 11:19:21 +00:00
type : object
responses :
2024-12-14 01:58:11 +00:00
'201' :
2024-07-09 11:19:21 +00:00
description : 'Application created successfully.'
2024-12-14 01:58:11 +00:00
content :
application/json :
schema :
properties :
uuid : { type : string }
type : object
2024-07-09 11:19:21 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-08-28 09:21:30 +00:00
'409' :
description : 'Domain conflicts detected.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Domain conflicts detected. Use force_domain_override=true to proceed.' }
warning : { type: string, example : 'Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior.' }
conflicts : { type: array, items : { properties : { domain : { type: string, example: example.com }, resource_name : { type: string, example: 'My Application' }, resource_uuid : { type: string, nullable: true, example: abc123-def456 }, resource_type : { type: string, enum: [application, service, instance], example: application }, message : { type: string, example : "Domain example.com is already in use by application 'My Application'" } }, type : object } }
type : object
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
2024-08-13 11:27:50 +00:00
/applications/private-github-app :
2024-07-09 11:19:21 +00:00
post :
tags :
- Applications
summary : 'Create (Private - GH App)'
description : 'Create new application based on a private repository through a Github App.'
2024-09-04 08:09:10 +00:00
operationId : create-private-github-app-application
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Application object that needs to be created.'
required : true
content :
application/json :
schema :
required :
- project_uuid
- server_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
- github_app_uuid
- git_repository
- git_branch
- build_pack
- ports_exposes
properties :
project_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The project UUID.'
2024-07-09 11:19:21 +00:00
server_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The server UUID.'
2024-07-09 11:19:21 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
github_app_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Github App UUID.'
git_repository :
type : string
description : 'The git repository URL.'
git_branch :
type : string
description : 'The git branch.'
ports_exposes :
type : string
description : 'The ports to expose.'
2024-07-09 11:19:21 +00:00
destination_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The destination UUID.'
build_pack :
type : string
enum : [ nixpacks, static, dockerfile, dockercompose]
description : 'The build pack type.'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application name.'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application description.'
2024-07-09 11:19:21 +00:00
domains :
type : string
2026-01-15 12:44:27 +00:00
description : 'The application URLs in a comma-separated list.'
2024-07-09 11:19:21 +00:00
git_commit_sha :
type : string
2024-07-09 12:12:52 +00:00
description : 'The git commit SHA.'
2024-07-09 11:19:21 +00:00
docker_registry_image_name :
type : string
2024-07-09 12:12:52 +00:00
description : 'The docker registry image name.'
2024-07-09 11:19:21 +00:00
docker_registry_image_tag :
type : string
2024-07-09 12:12:52 +00:00
description : 'The docker registry image tag.'
2024-07-09 11:19:21 +00:00
is_static :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the application is static.'
2026-01-15 12:44:27 +00:00
is_spa :
type : boolean
description : 'The flag to indicate if the application is a single-page application (SPA). Only relevant when is_static is true.'
is_auto_deploy_enabled :
type : boolean
description : 'The flag to indicate if auto-deploy is enabled on git push. Defaults to true.'
is_force_https_enabled :
type : boolean
description : 'The flag to indicate if HTTPS is forced. Defaults to true.'
2024-10-21 12:50:44 +00:00
static_image :
type : string
enum : [ 'nginx:alpine' ]
description : 'The static image.'
2024-07-09 11:19:21 +00:00
install_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The install command.'
2024-07-09 11:19:21 +00:00
build_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The build command.'
2024-07-09 11:19:21 +00:00
start_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The start command.'
2024-07-09 11:19:21 +00:00
ports_mappings :
type : string
2024-07-09 12:12:52 +00:00
description : 'The ports mappings.'
2024-07-09 11:19:21 +00:00
base_directory :
type : string
2024-07-09 12:12:52 +00:00
description : 'The base directory for all commands.'
2024-07-09 11:19:21 +00:00
publish_directory :
type : string
2024-07-09 12:12:52 +00:00
description : 'The publish directory.'
2024-07-09 11:19:21 +00:00
health_check_enabled :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'Health check enabled.'
2024-07-09 11:19:21 +00:00
health_check_path :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check path.'
2024-07-09 11:19:21 +00:00
health_check_port :
2024-07-09 12:12:52 +00:00
type : string
nullable : true
description : 'Health check port.'
2024-07-09 11:19:21 +00:00
health_check_host :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'Health check host.'
2024-07-09 11:19:21 +00:00
health_check_method :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check method.'
2024-07-09 11:19:21 +00:00
health_check_return_code :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check return code.'
2024-07-09 11:19:21 +00:00
health_check_scheme :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check scheme.'
2024-07-09 11:19:21 +00:00
health_check_response_text :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'Health check response text.'
2024-07-09 11:19:21 +00:00
health_check_interval :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check interval in seconds.'
2024-07-09 11:19:21 +00:00
health_check_timeout :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check timeout in seconds.'
2024-07-09 11:19:21 +00:00
health_check_retries :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check retries count.'
2024-07-09 11:19:21 +00:00
health_check_start_period :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check start period in seconds.'
2024-07-09 11:19:21 +00:00
limits_memory :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory limit.'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory swap limit.'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Memory swappiness.'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory reservation.'
2024-07-09 11:19:21 +00:00
limits_cpus :
type : string
2024-07-09 12:12:52 +00:00
description : 'CPU limit.'
2024-07-09 11:19:21 +00:00
limits_cpuset :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'CPU set.'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
2024-07-09 12:12:52 +00:00
type : integer
description : 'CPU shares.'
2024-07-09 11:19:21 +00:00
custom_labels :
type : string
2024-07-09 12:12:52 +00:00
description : 'Custom labels.'
2024-07-09 11:19:21 +00:00
custom_docker_run_options :
type : string
2024-07-09 12:12:52 +00:00
description : 'Custom docker run options.'
2024-07-09 11:19:21 +00:00
post_deployment_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'Post deployment command.'
2024-07-09 11:19:21 +00:00
post_deployment_command_container :
type : string
2024-07-09 12:12:52 +00:00
description : 'Post deployment command container.'
2024-07-09 11:19:21 +00:00
pre_deployment_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'Pre deployment command.'
2024-07-09 11:19:21 +00:00
pre_deployment_command_container :
type : string
2024-07-09 12:12:52 +00:00
description : 'Pre deployment command container.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_github :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Github.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_gitlab :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Gitlab.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_bitbucket :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Bitbucket.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_gitea :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Gitea.'
2024-07-09 11:19:21 +00:00
redirect :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'How to set redirect with Traefik / Caddy. www<->non-www.'
enum : [ www, non-www, both]
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the application should be deployed instantly.'
2024-07-09 11:19:21 +00:00
dockerfile :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Dockerfile content.'
2026-01-15 12:44:27 +00:00
dockerfile_location :
type : string
description : 'The Dockerfile location in the repository'
2024-07-09 11:19:21 +00:00
docker_compose_location :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Docker Compose location.'
2024-07-09 11:19:21 +00:00
docker_compose_custom_start_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Docker Compose custom start command.'
2024-07-09 11:19:21 +00:00
docker_compose_custom_build_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Docker Compose custom build command.'
2024-07-09 11:19:21 +00:00
docker_compose_domains :
type : array
2026-01-12 20:42:46 +00:00
description : 'Array of URLs to be applied to containers of a dockercompose application.'
items : { properties : { name : { type: string, description: 'The service name as defined in docker-compose.' }, domain : { type: string, description : 'Comma-separated list of URLs (e.g. "http://app.coolify.io,https://app2.coolify.io")' } }, type : object }
2024-07-09 11:19:21 +00:00
watch_paths :
type : string
2024-07-09 12:12:52 +00:00
description : 'The watch paths.'
2024-09-30 12:18:41 +00:00
use_build_server :
type : boolean
nullable : true
description : 'Use build server.'
2025-04-23 11:22:01 +00:00
is_http_basic_auth_enabled :
type : boolean
description : 'HTTP Basic Authentication enabled.'
http_basic_auth_username :
type : string
nullable : true
description : 'Username for HTTP Basic Authentication'
http_basic_auth_password :
type : string
nullable : true
description : 'Password for HTTP Basic Authentication'
2025-05-27 13:10:20 +00:00
connect_to_docker_network :
type : boolean
description : 'The flag to connect the service to the predefined Docker network.'
2025-08-28 09:21:30 +00:00
force_domain_override :
type : boolean
description : 'Force domain usage even if conflicts are detected. Default is false.'
2025-12-09 15:26:08 +00:00
autogenerate_domain :
type : boolean
2025-12-11 11:12:43 +00:00
default : true
2025-12-09 15:26:08 +00:00
description : "If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Default: true."
2026-01-06 14:50:55 +00:00
is_container_label_escape_enabled :
type : boolean
default : true
description : 'Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off.'
2026-02-15 19:53:26 +00:00
is_preserve_repository_enabled :
type : boolean
default : false
description : 'Preserve repository during deployment.'
2024-07-09 11:19:21 +00:00
type : object
responses :
2024-12-14 01:58:11 +00:00
'201' :
2024-07-09 11:19:21 +00:00
description : 'Application created successfully.'
2024-12-14 01:58:11 +00:00
content :
application/json :
schema :
properties :
uuid : { type : string }
type : object
2024-07-09 11:19:21 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-08-28 09:21:30 +00:00
'409' :
description : 'Domain conflicts detected.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Domain conflicts detected. Use force_domain_override=true to proceed.' }
warning : { type: string, example : 'Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior.' }
conflicts : { type: array, items : { properties : { domain : { type: string, example: example.com }, resource_name : { type: string, example: 'My Application' }, resource_uuid : { type: string, nullable: true, example: abc123-def456 }, resource_type : { type: string, enum: [application, service, instance], example: application }, message : { type: string, example : "Domain example.com is already in use by application 'My Application'" } }, type : object } }
type : object
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
/applications/private-deploy-key :
post :
tags :
- Applications
summary : 'Create (Private - Deploy Key)'
description : 'Create new application based on a private repository through a Deploy Key.'
2024-09-04 08:09:10 +00:00
operationId : create-private-deploy-key-application
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Application object that needs to be created.'
required : true
content :
application/json :
schema :
required :
- project_uuid
- server_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
- private_key_uuid
- git_repository
- git_branch
- build_pack
- ports_exposes
properties :
project_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The project UUID.'
2024-07-09 11:19:21 +00:00
server_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The server UUID.'
2024-07-09 11:19:21 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
private_key_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The private key UUID.'
git_repository :
type : string
description : 'The git repository URL.'
git_branch :
type : string
description : 'The git branch.'
ports_exposes :
type : string
description : 'The ports to expose.'
2024-07-09 11:19:21 +00:00
destination_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The destination UUID.'
build_pack :
type : string
enum : [ nixpacks, static, dockerfile, dockercompose]
description : 'The build pack type.'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application name.'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application description.'
2024-07-09 11:19:21 +00:00
domains :
type : string
2026-01-15 12:44:27 +00:00
description : 'The application URLs in a comma-separated list.'
2024-07-09 11:19:21 +00:00
git_commit_sha :
type : string
2024-07-09 12:12:52 +00:00
description : 'The git commit SHA.'
2024-07-09 11:19:21 +00:00
docker_registry_image_name :
type : string
2024-07-09 12:12:52 +00:00
description : 'The docker registry image name.'
2024-07-09 11:19:21 +00:00
docker_registry_image_tag :
type : string
2024-07-09 12:12:52 +00:00
description : 'The docker registry image tag.'
2024-07-09 11:19:21 +00:00
is_static :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the application is static.'
2026-01-15 12:44:27 +00:00
is_spa :
type : boolean
description : 'The flag to indicate if the application is a single-page application (SPA). Only relevant when is_static is true.'
is_auto_deploy_enabled :
type : boolean
description : 'The flag to indicate if auto-deploy is enabled on git push. Defaults to true.'
is_force_https_enabled :
type : boolean
description : 'The flag to indicate if HTTPS is forced. Defaults to true.'
2024-10-21 12:50:44 +00:00
static_image :
type : string
enum : [ 'nginx:alpine' ]
description : 'The static image.'
2024-07-09 11:19:21 +00:00
install_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The install command.'
2024-07-09 11:19:21 +00:00
build_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The build command.'
2024-07-09 11:19:21 +00:00
start_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The start command.'
2024-07-09 11:19:21 +00:00
ports_mappings :
type : string
2024-07-09 12:12:52 +00:00
description : 'The ports mappings.'
2024-07-09 11:19:21 +00:00
base_directory :
type : string
2024-07-09 12:12:52 +00:00
description : 'The base directory for all commands.'
2024-07-09 11:19:21 +00:00
publish_directory :
type : string
2024-07-09 12:12:52 +00:00
description : 'The publish directory.'
2024-07-09 11:19:21 +00:00
health_check_enabled :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'Health check enabled.'
2024-07-09 11:19:21 +00:00
health_check_path :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check path.'
2024-07-09 11:19:21 +00:00
health_check_port :
2024-07-09 12:12:52 +00:00
type : string
nullable : true
description : 'Health check port.'
2024-07-09 11:19:21 +00:00
health_check_host :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'Health check host.'
2024-07-09 11:19:21 +00:00
health_check_method :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check method.'
2024-07-09 11:19:21 +00:00
health_check_return_code :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check return code.'
2024-07-09 11:19:21 +00:00
health_check_scheme :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check scheme.'
2024-07-09 11:19:21 +00:00
health_check_response_text :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'Health check response text.'
2024-07-09 11:19:21 +00:00
health_check_interval :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check interval in seconds.'
2024-07-09 11:19:21 +00:00
health_check_timeout :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check timeout in seconds.'
2024-07-09 11:19:21 +00:00
health_check_retries :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check retries count.'
2024-07-09 11:19:21 +00:00
health_check_start_period :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check start period in seconds.'
2024-07-09 11:19:21 +00:00
limits_memory :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory limit.'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory swap limit.'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Memory swappiness.'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory reservation.'
2024-07-09 11:19:21 +00:00
limits_cpus :
type : string
2024-07-09 12:12:52 +00:00
description : 'CPU limit.'
2024-07-09 11:19:21 +00:00
limits_cpuset :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'CPU set.'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
2024-07-09 12:12:52 +00:00
type : integer
description : 'CPU shares.'
2024-07-09 11:19:21 +00:00
custom_labels :
type : string
2024-07-09 12:12:52 +00:00
description : 'Custom labels.'
2024-07-09 11:19:21 +00:00
custom_docker_run_options :
type : string
2024-07-09 12:12:52 +00:00
description : 'Custom docker run options.'
2024-07-09 11:19:21 +00:00
post_deployment_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'Post deployment command.'
2024-07-09 11:19:21 +00:00
post_deployment_command_container :
type : string
2024-07-09 12:12:52 +00:00
description : 'Post deployment command container.'
2024-07-09 11:19:21 +00:00
pre_deployment_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'Pre deployment command.'
2024-07-09 11:19:21 +00:00
pre_deployment_command_container :
type : string
2024-07-09 12:12:52 +00:00
description : 'Pre deployment command container.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_github :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Github.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_gitlab :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Gitlab.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_bitbucket :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Bitbucket.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_gitea :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Gitea.'
2024-07-09 11:19:21 +00:00
redirect :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'How to set redirect with Traefik / Caddy. www<->non-www.'
enum : [ www, non-www, both]
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the application should be deployed instantly.'
2024-07-09 11:19:21 +00:00
dockerfile :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Dockerfile content.'
2026-01-15 12:44:27 +00:00
dockerfile_location :
type : string
description : 'The Dockerfile location in the repository.'
2024-07-09 11:19:21 +00:00
docker_compose_location :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Docker Compose location.'
2024-07-09 11:19:21 +00:00
docker_compose_custom_start_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Docker Compose custom start command.'
2024-07-09 11:19:21 +00:00
docker_compose_custom_build_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Docker Compose custom build command.'
2024-07-09 11:19:21 +00:00
docker_compose_domains :
type : array
2026-01-12 20:42:46 +00:00
description : 'Array of URLs to be applied to containers of a dockercompose application.'
items : { properties : { name : { type: string, description: 'The service name as defined in docker-compose.' }, domain : { type: string, description : 'Comma-separated list of URLs (e.g. "http://app.coolify.io,https://app2.coolify.io")' } }, type : object }
2024-07-09 11:19:21 +00:00
watch_paths :
type : string
2024-07-09 12:12:52 +00:00
description : 'The watch paths.'
2024-09-30 12:18:41 +00:00
use_build_server :
type : boolean
nullable : true
description : 'Use build server.'
2025-04-23 11:22:01 +00:00
is_http_basic_auth_enabled :
type : boolean
description : 'HTTP Basic Authentication enabled.'
http_basic_auth_username :
type : string
nullable : true
description : 'Username for HTTP Basic Authentication'
http_basic_auth_password :
type : string
nullable : true
description : 'Password for HTTP Basic Authentication'
2025-05-27 13:10:20 +00:00
connect_to_docker_network :
type : boolean
description : 'The flag to connect the service to the predefined Docker network.'
2025-08-28 09:21:30 +00:00
force_domain_override :
type : boolean
description : 'Force domain usage even if conflicts are detected. Default is false.'
2025-12-09 15:26:08 +00:00
autogenerate_domain :
type : boolean
2025-12-11 11:12:43 +00:00
default : true
2025-12-09 15:26:08 +00:00
description : "If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Default: true."
2026-01-06 14:50:55 +00:00
is_container_label_escape_enabled :
type : boolean
default : true
description : 'Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off.'
2026-02-15 19:53:26 +00:00
is_preserve_repository_enabled :
type : boolean
default : false
description : 'Preserve repository during deployment.'
2024-07-09 11:19:21 +00:00
type : object
responses :
2024-12-14 01:58:11 +00:00
'201' :
2024-07-09 11:19:21 +00:00
description : 'Application created successfully.'
2024-12-14 01:58:11 +00:00
content :
application/json :
schema :
properties :
uuid : { type : string }
type : object
2024-07-09 11:19:21 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-08-28 09:21:30 +00:00
'409' :
description : 'Domain conflicts detected.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Domain conflicts detected. Use force_domain_override=true to proceed.' }
warning : { type: string, example : 'Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior.' }
conflicts : { type: array, items : { properties : { domain : { type: string, example: example.com }, resource_name : { type: string, example: 'My Application' }, resource_uuid : { type: string, nullable: true, example: abc123-def456 }, resource_type : { type: string, enum: [application, service, instance], example: application }, message : { type: string, example : "Domain example.com is already in use by application 'My Application'" } }, type : object } }
type : object
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
/applications/dockerfile :
post :
tags :
- Applications
2026-01-12 20:42:46 +00:00
summary : 'Create (Dockerfile without git)'
description : 'Create new application based on a simple Dockerfile (without git).'
2024-09-04 08:09:10 +00:00
operationId : create-dockerfile-application
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Application object that needs to be created.'
required : true
content :
application/json :
schema :
required :
- project_uuid
- server_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
- dockerfile
properties :
project_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The project UUID.'
2024-07-09 11:19:21 +00:00
server_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The server UUID.'
2024-07-09 11:19:21 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
dockerfile :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Dockerfile content.'
build_pack :
type : string
enum : [ nixpacks, static, dockerfile, dockercompose]
description : 'The build pack type.'
ports_exposes :
type : string
description : 'The ports to expose.'
2024-07-09 11:19:21 +00:00
destination_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The destination UUID.'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application name.'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application description.'
2024-07-09 11:19:21 +00:00
domains :
type : string
2026-01-15 12:44:27 +00:00
description : 'The application URLs in a comma-separated list.'
2024-07-09 11:19:21 +00:00
docker_registry_image_name :
type : string
2024-07-09 12:12:52 +00:00
description : 'The docker registry image name.'
2024-07-09 11:19:21 +00:00
docker_registry_image_tag :
type : string
2024-07-09 12:12:52 +00:00
description : 'The docker registry image tag.'
2024-07-09 11:19:21 +00:00
ports_mappings :
type : string
2024-07-09 12:12:52 +00:00
description : 'The ports mappings.'
2024-07-09 11:19:21 +00:00
base_directory :
type : string
2024-07-09 12:12:52 +00:00
description : 'The base directory for all commands.'
2024-07-09 11:19:21 +00:00
health_check_enabled :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'Health check enabled.'
2024-07-09 11:19:21 +00:00
health_check_path :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check path.'
2024-07-09 11:19:21 +00:00
health_check_port :
2024-07-09 12:12:52 +00:00
type : string
nullable : true
description : 'Health check port.'
2024-07-09 11:19:21 +00:00
health_check_host :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'Health check host.'
2024-07-09 11:19:21 +00:00
health_check_method :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check method.'
2024-07-09 11:19:21 +00:00
health_check_return_code :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check return code.'
2024-07-09 11:19:21 +00:00
health_check_scheme :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check scheme.'
2024-07-09 11:19:21 +00:00
health_check_response_text :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'Health check response text.'
2024-07-09 11:19:21 +00:00
health_check_interval :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check interval in seconds.'
2024-07-09 11:19:21 +00:00
health_check_timeout :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check timeout in seconds.'
2024-07-09 11:19:21 +00:00
health_check_retries :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check retries count.'
2024-07-09 11:19:21 +00:00
health_check_start_period :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check start period in seconds.'
2024-07-09 11:19:21 +00:00
limits_memory :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory limit.'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory swap limit.'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Memory swappiness.'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory reservation.'
2024-07-09 11:19:21 +00:00
limits_cpus :
type : string
2024-07-09 12:12:52 +00:00
description : 'CPU limit.'
2024-07-09 11:19:21 +00:00
limits_cpuset :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'CPU set.'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
2024-07-09 12:12:52 +00:00
type : integer
description : 'CPU shares.'
2024-07-09 11:19:21 +00:00
custom_labels :
type : string
2024-07-09 12:12:52 +00:00
description : 'Custom labels.'
2024-07-09 11:19:21 +00:00
custom_docker_run_options :
type : string
2024-07-09 12:12:52 +00:00
description : 'Custom docker run options.'
2024-07-09 11:19:21 +00:00
post_deployment_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'Post deployment command.'
2024-07-09 11:19:21 +00:00
post_deployment_command_container :
type : string
2024-07-09 12:12:52 +00:00
description : 'Post deployment command container.'
2024-07-09 11:19:21 +00:00
pre_deployment_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'Pre deployment command.'
2024-07-09 11:19:21 +00:00
pre_deployment_command_container :
type : string
2024-07-09 12:12:52 +00:00
description : 'Pre deployment command container.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_github :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Github.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_gitlab :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Gitlab.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_bitbucket :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Bitbucket.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_gitea :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Gitea.'
2024-07-09 11:19:21 +00:00
redirect :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'How to set redirect with Traefik / Caddy. www<->non-www.'
enum : [ www, non-www, both]
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the application should be deployed instantly.'
2026-01-15 12:44:27 +00:00
is_force_https_enabled :
type : boolean
description : 'The flag to indicate if HTTPS is forced. Defaults to true.'
2024-09-30 12:18:41 +00:00
use_build_server :
type : boolean
nullable : true
description : 'Use build server.'
2025-04-23 11:22:01 +00:00
is_http_basic_auth_enabled :
type : boolean
description : 'HTTP Basic Authentication enabled.'
http_basic_auth_username :
type : string
nullable : true
description : 'Username for HTTP Basic Authentication'
http_basic_auth_password :
type : string
nullable : true
description : 'Password for HTTP Basic Authentication'
2025-05-27 13:10:20 +00:00
connect_to_docker_network :
type : boolean
description : 'The flag to connect the service to the predefined Docker network.'
2025-08-28 09:21:30 +00:00
force_domain_override :
type : boolean
description : 'Force domain usage even if conflicts are detected. Default is false.'
2025-12-09 15:26:08 +00:00
autogenerate_domain :
type : boolean
2025-12-11 11:12:43 +00:00
default : true
2025-12-09 15:26:08 +00:00
description : "If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Default: true."
2026-01-06 14:50:55 +00:00
is_container_label_escape_enabled :
type : boolean
default : true
description : 'Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off.'
2024-07-09 11:19:21 +00:00
type : object
responses :
2024-12-14 01:58:11 +00:00
'201' :
2024-07-09 11:19:21 +00:00
description : 'Application created successfully.'
2024-12-14 01:58:11 +00:00
content :
application/json :
schema :
properties :
uuid : { type : string }
type : object
2024-07-09 11:19:21 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-08-28 09:21:30 +00:00
'409' :
description : 'Domain conflicts detected.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Domain conflicts detected. Use force_domain_override=true to proceed.' }
warning : { type: string, example : 'Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior.' }
conflicts : { type: array, items : { properties : { domain : { type: string, example: example.com }, resource_name : { type: string, example: 'My Application' }, resource_uuid : { type: string, nullable: true, example: abc123-def456 }, resource_type : { type: string, enum: [application, service, instance], example: application }, message : { type: string, example : "Domain example.com is already in use by application 'My Application'" } }, type : object } }
type : object
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
/applications/dockerimage :
post :
tags :
- Applications
2026-01-12 20:42:46 +00:00
summary : 'Create (Docker Image without git)'
description : 'Create new application based on a prebuilt docker image (without git).'
2024-09-04 08:09:10 +00:00
operationId : create-dockerimage-application
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Application object that needs to be created.'
required : true
content :
application/json :
schema :
required :
- project_uuid
- server_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
- docker_registry_image_name
- ports_exposes
properties :
project_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The project UUID.'
2024-07-09 11:19:21 +00:00
server_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The server UUID.'
2024-07-09 11:19:21 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
docker_registry_image_name :
type : string
2024-07-09 12:12:52 +00:00
description : 'The docker registry image name.'
2024-07-09 11:19:21 +00:00
docker_registry_image_tag :
type : string
2024-07-09 12:12:52 +00:00
description : 'The docker registry image tag.'
ports_exposes :
type : string
description : 'The ports to expose.'
2024-07-09 11:19:21 +00:00
destination_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The destination UUID.'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application name.'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application description.'
2024-07-09 11:19:21 +00:00
domains :
type : string
2026-01-15 12:44:27 +00:00
description : 'The application URLs in a comma-separated list.'
2024-07-09 11:19:21 +00:00
ports_mappings :
type : string
2024-07-09 12:12:52 +00:00
description : 'The ports mappings.'
2024-07-09 11:19:21 +00:00
health_check_enabled :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'Health check enabled.'
2024-07-09 11:19:21 +00:00
health_check_path :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check path.'
2024-07-09 11:19:21 +00:00
health_check_port :
2024-07-09 12:12:52 +00:00
type : string
nullable : true
description : 'Health check port.'
2024-07-09 11:19:21 +00:00
health_check_host :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'Health check host.'
2024-07-09 11:19:21 +00:00
health_check_method :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check method.'
2024-07-09 11:19:21 +00:00
health_check_return_code :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check return code.'
2024-07-09 11:19:21 +00:00
health_check_scheme :
type : string
2024-07-09 12:12:52 +00:00
description : 'Health check scheme.'
2024-07-09 11:19:21 +00:00
health_check_response_text :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'Health check response text.'
2024-07-09 11:19:21 +00:00
health_check_interval :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check interval in seconds.'
2024-07-09 11:19:21 +00:00
health_check_timeout :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check timeout in seconds.'
2024-07-09 11:19:21 +00:00
health_check_retries :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check retries count.'
2024-07-09 11:19:21 +00:00
health_check_start_period :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Health check start period in seconds.'
2024-07-09 11:19:21 +00:00
limits_memory :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory limit.'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory swap limit.'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 12:12:52 +00:00
description : 'Memory swappiness.'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
type : string
2024-07-09 12:12:52 +00:00
description : 'Memory reservation.'
2024-07-09 11:19:21 +00:00
limits_cpus :
type : string
2024-07-09 12:12:52 +00:00
description : 'CPU limit.'
2024-07-09 11:19:21 +00:00
limits_cpuset :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'CPU set.'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
2024-07-09 12:12:52 +00:00
type : integer
description : 'CPU shares.'
2024-07-09 11:19:21 +00:00
custom_labels :
type : string
2024-07-09 12:12:52 +00:00
description : 'Custom labels.'
2024-07-09 11:19:21 +00:00
custom_docker_run_options :
type : string
2024-07-09 12:12:52 +00:00
description : 'Custom docker run options.'
2024-07-09 11:19:21 +00:00
post_deployment_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'Post deployment command.'
2024-07-09 11:19:21 +00:00
post_deployment_command_container :
type : string
2024-07-09 12:12:52 +00:00
description : 'Post deployment command container.'
2024-07-09 11:19:21 +00:00
pre_deployment_command :
type : string
2024-07-09 12:12:52 +00:00
description : 'Pre deployment command.'
2024-07-09 11:19:21 +00:00
pre_deployment_command_container :
type : string
2024-07-09 12:12:52 +00:00
description : 'Pre deployment command container.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_github :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Github.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_gitlab :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Gitlab.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_bitbucket :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Bitbucket.'
2024-07-09 11:19:21 +00:00
manual_webhook_secret_gitea :
type : string
2024-07-09 12:12:52 +00:00
description : 'Manual webhook secret for Gitea.'
2024-07-09 11:19:21 +00:00
redirect :
type : string
2024-07-09 12:12:52 +00:00
nullable : true
description : 'How to set redirect with Traefik / Caddy. www<->non-www.'
enum : [ www, non-www, both]
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the application should be deployed instantly.'
2026-01-15 12:44:27 +00:00
is_force_https_enabled :
type : boolean
description : 'The flag to indicate if HTTPS is forced. Defaults to true.'
2024-09-30 12:18:41 +00:00
use_build_server :
type : boolean
nullable : true
description : 'Use build server.'
2025-04-23 11:22:01 +00:00
is_http_basic_auth_enabled :
type : boolean
description : 'HTTP Basic Authentication enabled.'
http_basic_auth_username :
type : string
nullable : true
description : 'Username for HTTP Basic Authentication'
http_basic_auth_password :
type : string
nullable : true
description : 'Password for HTTP Basic Authentication'
2025-05-27 13:10:20 +00:00
connect_to_docker_network :
type : boolean
description : 'The flag to connect the service to the predefined Docker network.'
2025-08-28 09:21:30 +00:00
force_domain_override :
type : boolean
description : 'Force domain usage even if conflicts are detected. Default is false.'
2025-12-09 15:26:08 +00:00
autogenerate_domain :
type : boolean
2025-12-11 11:12:43 +00:00
default : true
2025-12-09 15:26:08 +00:00
description : "If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Default: true."
2026-01-06 14:50:55 +00:00
is_container_label_escape_enabled :
type : boolean
default : true
description : 'Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off.'
2024-07-09 11:19:21 +00:00
type : object
responses :
2024-12-14 01:58:11 +00:00
'201' :
2024-07-09 11:19:21 +00:00
description : 'Application created successfully.'
2024-12-14 01:58:11 +00:00
content :
application/json :
schema :
properties :
uuid : { type : string }
type : object
2024-07-09 11:19:21 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-08-28 09:21:30 +00:00
'409' :
description : 'Domain conflicts detected.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Domain conflicts detected. Use force_domain_override=true to proceed.' }
warning : { type: string, example : 'Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior.' }
conflicts : { type: array, items : { properties : { domain : { type: string, example: example.com }, resource_name : { type: string, example: 'My Application' }, resource_uuid : { type: string, nullable: true, example: abc123-def456 }, resource_type : { type: string, enum: [application, service, instance], example: application }, message : { type: string, example : "Domain example.com is already in use by application 'My Application'" } }, type : object } }
type : object
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
/applications/dockercompose :
post :
tags :
- Applications
2026-01-16 17:24:12 +00:00
summary : 'Create (Docker Compose)'
description: 'Deprecated : Use POST /api/v1/services instead.'
2024-09-04 08:09:10 +00:00
operationId : create-dockercompose-application
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Application object that needs to be created.'
required : true
content :
application/json :
schema :
required :
- project_uuid
- server_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
- docker_compose_raw
properties :
project_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The project UUID.'
2024-07-09 11:19:21 +00:00
server_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The server UUID.'
2024-07-09 11:19:21 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'The environment name. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'The environment UUID. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
docker_compose_raw :
type : string
2024-07-09 12:12:52 +00:00
description : 'The Docker Compose raw content.'
2024-07-09 11:19:21 +00:00
destination_uuid :
type : string
2024-07-09 12:12:52 +00:00
description : 'The destination UUID if the server has more than one destinations.'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application name.'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 12:12:52 +00:00
description : 'The application description.'
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the application should be deployed instantly.'
2024-09-30 12:18:41 +00:00
use_build_server :
type : boolean
nullable : true
description : 'Use build server.'
2025-05-27 13:10:20 +00:00
connect_to_docker_network :
type : boolean
description : 'The flag to connect the service to the predefined Docker network.'
2025-08-28 09:21:30 +00:00
force_domain_override :
type : boolean
description : 'Force domain usage even if conflicts are detected. Default is false.'
2026-01-06 14:50:55 +00:00
is_container_label_escape_enabled :
type : boolean
default : true
description : 'Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off.'
2024-07-09 11:19:21 +00:00
type : object
responses :
2024-12-14 01:58:11 +00:00
'201' :
2024-07-09 11:19:21 +00:00
description : 'Application created successfully.'
2024-12-14 01:58:11 +00:00
content :
application/json :
schema :
properties :
uuid : { type : string }
type : object
2024-07-09 11:19:21 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-08-28 09:21:30 +00:00
'409' :
description : 'Domain conflicts detected.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Domain conflicts detected. Use force_domain_override=true to proceed.' }
warning : { type: string, example : 'Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior.' }
conflicts : { type: array, items : { properties : { domain : { type: string, example: example.com }, resource_name : { type: string, example: 'My Application' }, resource_uuid : { type: string, nullable: true, example: abc123-def456 }, resource_type : { type: string, enum: [application, service, instance], example: application }, message : { type: string, example : "Domain example.com is already in use by application 'My Application'" } }, type : object } }
type : object
2026-01-12 20:42:46 +00:00
deprecated : true
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
'/applications/{uuid}' :
get :
tags :
- Applications
summary : Get
description : 'Get application by UUID.'
2024-09-04 08:09:10 +00:00
operationId : get-application-by-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
responses :
'200' :
description : 'Get application by UUID.'
content :
application/json :
schema :
$ref : '#/components/schemas/Application'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
delete :
tags :
- Applications
summary : Delete
description : 'Delete application by UUID.'
2024-09-04 08:09:10 +00:00
operationId : delete-application-by-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
2024-10-01 07:04:01 +00:00
description : 'UUID of the application.'
2024-07-09 11:19:21 +00:00
required : true
schema :
type : string
2024-07-11 10:38:54 +00:00
-
2024-10-01 07:02:29 +00:00
name : delete_configurations
in : query
description : 'Delete configurations.'
required : false
schema :
type : boolean
default : true
-
name : delete_volumes
2024-07-11 10:38:54 +00:00
in : query
2024-10-01 07:02:29 +00:00
description : 'Delete volumes.'
required : false
schema :
type : boolean
default : true
-
name : docker_cleanup
in : query
description : 'Run docker cleanup.'
required : false
schema :
type : boolean
default : true
-
name : delete_connected_networks
in : query
description : 'Delete connected networks.'
2024-07-11 10:38:54 +00:00
required : false
schema :
type : boolean
default : true
2024-07-09 11:19:21 +00:00
responses :
'200' :
description : 'Application deleted.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Application deleted.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2024-07-25 09:53:57 +00:00
patch :
tags :
- Applications
summary : Update
description : 'Update application by UUID.'
2024-09-04 08:09:10 +00:00
operationId : update-application-by-uuid
2025-04-09 16:52:12 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
2024-07-25 09:53:57 +00:00
requestBody :
description : 'Application updated.'
required : true
content :
application/json :
schema :
properties :
project_uuid :
type : string
description : 'The project UUID.'
server_uuid :
type : string
description : 'The server UUID.'
environment_name :
type : string
description : 'The environment name.'
github_app_uuid :
type : string
description : 'The Github App UUID.'
git_repository :
type : string
description : 'The git repository URL.'
git_branch :
type : string
description : 'The git branch.'
ports_exposes :
type : string
description : 'The ports to expose.'
destination_uuid :
type : string
description : 'The destination UUID.'
build_pack :
type : string
enum : [ nixpacks, static, dockerfile, dockercompose]
description : 'The build pack type.'
name :
type : string
description : 'The application name.'
description :
type : string
description : 'The application description.'
domains :
type : string
2026-01-15 12:44:27 +00:00
description : 'The application URLs in a comma-separated list.'
2024-07-25 09:53:57 +00:00
git_commit_sha :
type : string
description : 'The git commit SHA.'
docker_registry_image_name :
type : string
description : 'The docker registry image name.'
docker_registry_image_tag :
type : string
description : 'The docker registry image tag.'
is_static :
type : boolean
description : 'The flag to indicate if the application is static.'
2026-01-15 12:44:27 +00:00
is_spa :
type : boolean
description : 'The flag to indicate if the application is a single-page application (SPA). Only relevant when is_static is true.'
is_auto_deploy_enabled :
type : boolean
description : 'The flag to indicate if auto-deploy is enabled on git push. Defaults to true.'
is_force_https_enabled :
type : boolean
description : 'The flag to indicate if HTTPS is forced. Defaults to true.'
2024-07-25 09:53:57 +00:00
install_command :
type : string
description : 'The install command.'
build_command :
type : string
description : 'The build command.'
start_command :
type : string
description : 'The start command.'
ports_mappings :
type : string
description : 'The ports mappings.'
base_directory :
type : string
description : 'The base directory for all commands.'
publish_directory :
type : string
description : 'The publish directory.'
health_check_enabled :
type : boolean
description : 'Health check enabled.'
health_check_path :
type : string
description : 'Health check path.'
health_check_port :
type : string
nullable : true
description : 'Health check port.'
health_check_host :
type : string
nullable : true
description : 'Health check host.'
health_check_method :
type : string
description : 'Health check method.'
health_check_return_code :
type : integer
description : 'Health check return code.'
health_check_scheme :
type : string
description : 'Health check scheme.'
health_check_response_text :
type : string
nullable : true
description : 'Health check response text.'
health_check_interval :
type : integer
description : 'Health check interval in seconds.'
health_check_timeout :
type : integer
description : 'Health check timeout in seconds.'
health_check_retries :
type : integer
description : 'Health check retries count.'
health_check_start_period :
type : integer
description : 'Health check start period in seconds.'
limits_memory :
type : string
description : 'Memory limit.'
limits_memory_swap :
type : string
description : 'Memory swap limit.'
limits_memory_swappiness :
type : integer
description : 'Memory swappiness.'
limits_memory_reservation :
type : string
description : 'Memory reservation.'
limits_cpus :
type : string
description : 'CPU limit.'
limits_cpuset :
type : string
nullable : true
description : 'CPU set.'
limits_cpu_shares :
type : integer
description : 'CPU shares.'
custom_labels :
type : string
description : 'Custom labels.'
custom_docker_run_options :
type : string
description : 'Custom docker run options.'
post_deployment_command :
type : string
description : 'Post deployment command.'
post_deployment_command_container :
type : string
description : 'Post deployment command container.'
pre_deployment_command :
type : string
description : 'Pre deployment command.'
pre_deployment_command_container :
type : string
description : 'Pre deployment command container.'
manual_webhook_secret_github :
type : string
description : 'Manual webhook secret for Github.'
manual_webhook_secret_gitlab :
type : string
description : 'Manual webhook secret for Gitlab.'
manual_webhook_secret_bitbucket :
type : string
description : 'Manual webhook secret for Bitbucket.'
manual_webhook_secret_gitea :
type : string
description : 'Manual webhook secret for Gitea.'
redirect :
type : string
nullable : true
description : 'How to set redirect with Traefik / Caddy. www<->non-www.'
enum : [ www, non-www, both]
instant_deploy :
type : boolean
description : 'The flag to indicate if the application should be deployed instantly.'
dockerfile :
type : string
description : 'The Dockerfile content.'
2026-01-15 12:44:27 +00:00
dockerfile_location :
type : string
description : 'The Dockerfile location in the repository.'
2024-07-25 09:53:57 +00:00
docker_compose_location :
type : string
description : 'The Docker Compose location.'
docker_compose_custom_start_command :
type : string
description : 'The Docker Compose custom start command.'
docker_compose_custom_build_command :
type : string
description : 'The Docker Compose custom build command.'
docker_compose_domains :
type : array
2026-01-12 20:42:46 +00:00
description : 'Array of URLs to be applied to containers of a dockercompose application.'
items : { properties : { name : { type: string, description: 'The service name as defined in docker-compose.' }, domain : { type: string, description : 'Comma-separated list of URLs (e.g. "http://app.coolify.io,https://app2.coolify.io")' } }, type : object }
2024-07-25 09:53:57 +00:00
watch_paths :
type : string
description : 'The watch paths.'
2024-09-30 12:18:41 +00:00
use_build_server :
type : boolean
nullable : true
description : 'Use build server.'
2025-05-27 13:10:20 +00:00
connect_to_docker_network :
type : boolean
description : 'The flag to connect the service to the predefined Docker network.'
2025-08-28 09:21:30 +00:00
force_domain_override :
type : boolean
description : 'Force domain usage even if conflicts are detected. Default is false.'
2026-01-06 14:50:55 +00:00
is_container_label_escape_enabled :
type : boolean
default : true
description : 'Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off.'
2026-02-15 19:53:26 +00:00
is_preserve_repository_enabled :
type : boolean
2026-03-30 11:10:49 +00:00
description : 'Preserve git repository during application update. If false, the existing repository will be removed and replaced with the new one. If true, the existing repository will be kept and the new one will be ignored. Default is false.'
2024-07-25 09:53:57 +00:00
type : object
responses :
'200' :
description : 'Application updated.'
content :
application/json :
schema :
properties :
uuid : { type : string }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-08-28 09:21:30 +00:00
'409' :
description : 'Domain conflicts detected.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Domain conflicts detected. Use force_domain_override=true to proceed.' }
warning : { type: string, example : 'Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior.' }
conflicts : { type: array, items : { properties : { domain : { type: string, example: example.com }, resource_name : { type: string, example: 'My Application' }, resource_uuid : { type: string, nullable: true, example: abc123-def456 }, resource_type : { type: string, enum: [application, service, instance], example: application }, message : { type: string, example : "Domain example.com is already in use by application 'My Application'" } }, type : object } }
type : object
2024-07-25 09:53:57 +00:00
security :
-
bearerAuth : [ ]
2025-03-19 08:22:34 +00:00
'/applications/{uuid}/logs' :
get :
tags :
- Applications
summary : 'Get application logs.'
description : 'Get application logs by UUID.'
operationId : get-application-logs-by-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
-
name : lines
in : query
description : 'Number of lines to show from the end of the logs.'
required : false
schema :
type : integer
format : int32
default : 100
responses :
'200' :
description : 'Get application logs by UUID.'
content :
application/json :
schema :
properties :
logs : { type : string }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2024-07-09 11:19:21 +00:00
'/applications/{uuid}/envs' :
get :
tags :
- Applications
summary : 'List Envs'
description : 'List all envs by application UUID.'
2024-09-04 08:09:10 +00:00
operationId : list-envs-by-application-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
responses :
'200' :
description : 'All environment variables by application UUID.'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/EnvironmentVariable'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
post :
tags :
- Applications
summary : 'Create Env'
description : 'Create env by application UUID.'
2024-09-04 08:09:10 +00:00
operationId : create-env-by-application-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
requestBody :
description : 'Env created.'
required : true
content :
application/json :
schema :
properties :
key :
type : string
2024-07-09 12:12:52 +00:00
description : 'The key of the environment variable.'
2024-07-09 11:19:21 +00:00
value :
type : string
2024-07-09 12:12:52 +00:00
description : 'The value of the environment variable.'
2024-07-09 11:19:21 +00:00
is_preview :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the environment variable is used in preview deployments.'
2024-07-09 11:19:21 +00:00
is_literal :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the environment variable is a literal, nothing espaced.'
2024-07-09 11:19:21 +00:00
is_multiline :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the environment variable is multiline.'
2024-07-09 11:19:21 +00:00
is_shown_once :
type : boolean
2024-07-09 12:12:52 +00:00
description : "The flag to indicate if the environment variable's value is shown on the UI."
2024-07-09 11:19:21 +00:00
type : object
responses :
'201' :
description : 'Environment variable created.'
content :
application/json :
schema :
properties :
uuid : { type: string, example : nc0k04gk8g0cgsk440g0koko }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
patch :
tags :
- Applications
summary : 'Update Env'
description : 'Update env by application UUID.'
2024-09-04 08:09:10 +00:00
operationId : update-env-by-application-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
requestBody :
description : 'Env updated.'
required : true
content :
application/json :
schema :
required :
- key
- value
properties :
key :
type : string
2024-07-09 12:12:52 +00:00
description : 'The key of the environment variable.'
2024-07-09 11:19:21 +00:00
value :
type : string
2024-07-09 12:12:52 +00:00
description : 'The value of the environment variable.'
2024-07-09 11:19:21 +00:00
is_preview :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the environment variable is used in preview deployments.'
2024-07-09 11:19:21 +00:00
is_literal :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the environment variable is a literal, nothing espaced.'
2024-07-09 11:19:21 +00:00
is_multiline :
type : boolean
2024-07-09 12:12:52 +00:00
description : 'The flag to indicate if the environment variable is multiline.'
2024-07-09 11:19:21 +00:00
is_shown_once :
type : boolean
2024-07-09 12:12:52 +00:00
description : "The flag to indicate if the environment variable's value is shown on the UI."
2024-07-09 11:19:21 +00:00
type : object
responses :
'201' :
description : 'Environment variable updated.'
content :
application/json :
schema :
2026-02-09 13:48:16 +00:00
$ref : '#/components/schemas/EnvironmentVariable'
2024-07-09 11:19:21 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
'/applications/{uuid}/envs/bulk' :
patch :
tags :
- Applications
summary : 'Update Envs (Bulk)'
description : 'Update multiple envs by application UUID.'
2024-09-04 08:09:10 +00:00
operationId : update-envs-by-application-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
requestBody :
description : 'Bulk envs updated.'
required : true
content :
application/json :
schema :
required :
- data
properties :
data :
type : array
2025-09-11 14:48:00 +00:00
items : { properties : { key : { type: string, description: 'The key of the environment variable.' }, value : { type: string, description: 'The value of the environment variable.' }, is_preview : { type: boolean, description: 'The flag to indicate if the environment variable is used in preview deployments.' }, is_literal : { type: boolean, description: 'The flag to indicate if the environment variable is a literal, nothing espaced.' }, is_multiline : { type: boolean, description: 'The flag to indicate if the environment variable is multiline.' }, is_shown_once : { type: boolean, description : "The flag to indicate if the environment variable's value is shown on the UI." } }, type : object }
2024-07-09 11:19:21 +00:00
type : object
responses :
'201' :
description : 'Environment variables updated.'
content :
application/json :
schema :
2026-01-06 11:52:32 +00:00
type : array
items :
$ref : '#/components/schemas/EnvironmentVariable'
2024-07-09 11:19:21 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
'/applications/{uuid}/envs/{env_uuid}' :
delete :
tags :
- Applications
summary : 'Delete Env'
description : 'Delete env by UUID.'
2024-09-04 08:09:10 +00:00
operationId : delete-env-by-application-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
-
name : env_uuid
in : path
description : 'UUID of the environment variable.'
required : true
schema :
type : string
responses :
'200' :
description : 'Environment variable deleted.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Environment variable deleted.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
'/applications/{uuid}/start' :
get :
tags :
- Applications
summary : Start
description : 'Start application. `Post` request is also accepted.'
2024-09-04 08:09:10 +00:00
operationId : start-application-by-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
-
name : force
in : query
description : 'Force rebuild.'
schema :
type : boolean
default : false
-
name : instant_deploy
in : query
description : 'Instant deploy (skip queuing).'
schema :
type : boolean
default : false
responses :
'200' :
description : 'Start application.'
content :
application/json :
schema :
properties :
2024-07-09 12:12:52 +00:00
message : { type: string, example: 'Deployment request queued.', description : Message. }
deployment_uuid : { type: string, example: doogksw, description : 'UUID of the deployment.' }
2024-07-09 11:19:21 +00:00
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
'/applications/{uuid}/stop' :
get :
tags :
- Applications
summary : Stop
description : 'Stop application. `Post` request is also accepted.'
2024-09-04 08:09:10 +00:00
operationId : stop-application-by-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
2026-03-11 11:01:02 +00:00
-
name : docker_cleanup
in : query
description : 'Perform docker cleanup (prune networks, volumes, etc.).'
schema :
type : boolean
default : true
2024-07-09 11:19:21 +00:00
responses :
'200' :
description : 'Stop application.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Application stopping request queued.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
'/applications/{uuid}/restart' :
get :
tags :
- Applications
summary : Restart
description : 'Restart application. `Post` request is also accepted.'
2024-09-04 08:09:10 +00:00
operationId : restart-application-by-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
responses :
'200' :
description : 'Restart application.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Restart request queued.' }
2024-07-09 12:12:52 +00:00
deployment_uuid : { type: string, example: doogksw, description : 'UUID of the deployment.' }
2024-07-09 11:19:21 +00:00
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2024-09-30 12:18:41 +00:00
security :
-
bearerAuth : [ ]
2026-03-16 14:34:27 +00:00
'/applications/{uuid}/storages' :
get :
tags :
- Applications
summary : 'List Storages'
description : 'List all persistent storages and file storages by application UUID.'
operationId : list-storages-by-application-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
responses :
'200' :
description : 'All storages by application UUID.'
2026-03-16 20:10:00 +00:00
content :
application/json :
schema :
properties :
persistent_storages : { type: array, items : { type : object } }
file_storages : { type: array, items : { type : object } }
type : object
2026-03-16 14:34:27 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2026-03-23 14:15:02 +00:00
post :
tags :
- Applications
summary : 'Create Storage'
description : 'Create a persistent storage or file storage for an application.'
operationId : create-storage-by-application-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
requestBody :
required : true
content :
application/json :
schema :
required :
- type
- mount_path
properties :
type :
type : string
enum : [ persistent, file]
description : 'The type of storage.'
name :
type : string
description : 'Volume name (persistent only, required for persistent).'
mount_path :
type : string
description : 'The container mount path.'
host_path :
type : string
nullable : true
description : 'The host path (persistent only, optional).'
content :
type : string
nullable : true
description : 'File content (file only, optional).'
is_directory :
type : boolean
description : 'Whether this is a directory mount (file only, default false).'
fs_path :
type : string
description : 'Host directory path (required when is_directory is true).'
type : object
additionalProperties : false
responses :
'201' :
description : 'Storage created.'
content :
application/json :
schema :
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
'422' :
$ref : '#/components/responses/422'
security :
-
bearerAuth : [ ]
2026-03-16 14:34:27 +00:00
patch :
tags :
- Applications
summary : 'Update Storage'
description : 'Update a persistent storage or file storage by application UUID.'
operationId : update-storage-by-application-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
requestBody :
2026-03-16 14:37:46 +00:00
description : 'Storage updated. For read-only storages (from docker-compose or services), only is_preview_suffix_enabled can be updated.'
2026-03-16 14:34:27 +00:00
required : true
content :
application/json :
schema :
required :
- type
properties :
2026-03-23 14:15:02 +00:00
uuid :
type : string
description : 'The UUID of the storage (preferred).'
2026-03-16 14:34:27 +00:00
id :
type : integer
2026-03-23 14:15:02 +00:00
description : 'The ID of the storage (deprecated, use uuid instead).'
2026-03-16 14:34:27 +00:00
type :
type : string
enum : [ persistent, file]
description: 'The type of storage : persistent or file.'
is_preview_suffix_enabled :
type : boolean
description : 'Whether to add -pr-N suffix for preview deployments.'
2026-03-16 14:37:46 +00:00
name :
type : string
description : 'The volume name (persistent only, not allowed for read-only storages).'
mount_path :
type : string
description : 'The container mount path (not allowed for read-only storages).'
host_path :
type : string
nullable : true
description : 'The host path (persistent only, not allowed for read-only storages).'
content :
type : string
nullable : true
description : 'The file content (file only, not allowed for read-only storages).'
2026-03-16 14:34:27 +00:00
type : object
2026-03-16 20:10:00 +00:00
additionalProperties : false
2026-03-16 14:34:27 +00:00
responses :
'200' :
description : 'Storage updated.'
2026-03-16 20:10:00 +00:00
content :
application/json :
schema :
type : object
2026-03-16 14:34:27 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2026-03-16 20:10:00 +00:00
'422' :
$ref : '#/components/responses/422'
2026-03-16 14:34:27 +00:00
security :
-
bearerAuth : [ ]
2026-03-23 14:15:02 +00:00
'/applications/{uuid}/storages/{storage_uuid}' :
delete :
tags :
- Applications
summary : 'Delete Storage'
description : 'Delete a persistent storage or file storage by application UUID.'
operationId : delete-storage-by-application-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
-
name : storage_uuid
in : path
description : 'UUID of the storage.'
required : true
schema :
type : string
responses :
'200' :
description : 'Storage deleted.'
content :
application/json :
schema :
properties :
message : { type : string }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
'422' :
$ref : '#/components/responses/422'
security :
-
bearerAuth : [ ]
2025-12-11 08:41:54 +00:00
/cloud-tokens :
get :
tags :
- 'Cloud Tokens'
summary : 'List Cloud Provider Tokens'
description : 'List all cloud provider tokens for the authenticated team.'
operationId : list-cloud-tokens
responses :
'200' :
description : 'Get all cloud provider tokens.'
content :
application/json :
schema :
type : array
items :
properties : { uuid : { type: string }, name : { type: string }, provider : { type: string, enum: [hetzner, digitalocean] }, team_id : { type: integer }, servers_count : { type: integer }, created_at : { type: string }, updated_at : { type : string } }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
post :
tags :
- 'Cloud Tokens'
summary : 'Create Cloud Provider Token'
description : 'Create a new cloud provider token. The token will be validated before being stored.'
operationId : create-cloud-token
requestBody :
description : 'Cloud provider token details'
required : true
content :
application/json :
schema :
required :
- provider
- token
- name
properties :
provider :
type : string
enum : [ hetzner, digitalocean]
example : hetzner
description : 'The cloud provider.'
token :
type : string
example : your-api-token-here
description : 'The API token for the cloud provider.'
name :
type : string
example : 'My Hetzner Token'
description : 'A friendly name for the token.'
type : object
responses :
'201' :
description : 'Cloud provider token created.'
content :
application/json :
schema :
properties :
uuid : { type: string, example: og888os, description : 'The UUID of the token.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'422' :
$ref : '#/components/responses/422'
security :
-
bearerAuth : [ ]
'/cloud-tokens/{uuid}' :
get :
tags :
- 'Cloud Tokens'
summary : 'Get Cloud Provider Token'
description : 'Get cloud provider token by UUID.'
operationId : get-cloud-token-by-uuid
parameters :
-
name : uuid
in : path
description : 'Token UUID'
required : true
schema :
type : string
responses :
'200' :
description : 'Get cloud provider token by UUID'
content :
application/json :
schema :
properties :
uuid : { type : string }
name : { type : string }
provider : { type : string }
team_id : { type : integer }
servers_count : { type : integer }
created_at : { type : string }
updated_at : { type : string }
type : object
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
delete :
tags :
- 'Cloud Tokens'
summary : 'Delete Cloud Provider Token'
description : 'Delete cloud provider token by UUID. Cannot delete if token is used by any servers.'
operationId : delete-cloud-token-by-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the cloud provider token.'
required : true
schema :
type : string
responses :
'200' :
description : 'Cloud provider token deleted.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Cloud provider token deleted.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
patch :
tags :
- 'Cloud Tokens'
summary : 'Update Cloud Provider Token'
description : 'Update cloud provider token name.'
operationId : update-cloud-token-by-uuid
parameters :
-
name : uuid
in : path
description : 'Token UUID'
required : true
schema :
type : string
requestBody :
description : 'Cloud provider token updated.'
required : true
content :
application/json :
schema :
properties :
name :
type : string
description : 'The friendly name for the token.'
type : object
responses :
'200' :
description : 'Cloud provider token updated.'
content :
application/json :
schema :
properties :
uuid : { type : string }
type : object
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
'422' :
$ref : '#/components/responses/422'
security :
-
bearerAuth : [ ]
'/cloud-tokens/{uuid}/validate' :
post :
tags :
- 'Cloud Tokens'
summary : 'Validate Cloud Provider Token'
description : 'Validate a cloud provider token against the provider API.'
operationId : validate-cloud-token-by-uuid
parameters :
-
name : uuid
in : path
description : 'Token UUID'
required : true
schema :
type : string
responses :
'200' :
description : 'Token validation result.'
content :
application/json :
schema :
properties :
valid : { type: boolean, example : true }
message : { type: string, example : 'Token is valid.' }
type : object
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2024-07-09 11:19:21 +00:00
/databases :
get :
tags :
- Databases
summary : List
description : 'List all databases.'
2024-09-04 08:09:10 +00:00
operationId : list-databases
2024-07-09 11:19:21 +00:00
responses :
'200' :
description : 'Get all databases'
content :
application/json :
schema :
type : string
example : 'Content is very complex. Will be implemented later.'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
2025-09-30 09:19:39 +00:00
'/databases/{uuid}/backups' :
get :
tags :
- Databases
summary : Get
description : 'Get backups details by database UUID.'
operationId : get-database-backups-by-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the database.'
required : true
schema :
type : string
responses :
'200' :
description : 'Get all backups for a database'
content :
application/json :
schema :
type : string
example : 'Content is very complex. Will be implemented later.'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2025-10-20 11:57:43 +00:00
post :
tags :
- Databases
summary : 'Create Backup'
description : 'Create a new scheduled backup configuration for a database'
operationId : create-database-backup
parameters :
-
name : uuid
in : path
description : 'UUID of the database.'
required : true
schema :
type : string
requestBody :
description : 'Backup configuration data'
required : true
content :
application/json :
schema :
required :
- frequency
properties :
frequency :
type : string
description: 'Backup frequency (cron expression or : every_minute, hourly, daily, weekly, monthly, yearly)'
enabled :
type : boolean
description : 'Whether the backup is enabled'
default : true
save_s3 :
type : boolean
description : 'Whether to save backups to S3'
default : false
s3_storage_uuid :
type : string
description : 'S3 storage UUID (required if save_s3 is true)'
databases_to_backup :
type : string
description : 'Comma separated list of databases to backup'
dump_all :
type : boolean
description : 'Whether to dump all databases'
default : false
backup_now :
type : boolean
description : 'Whether to trigger backup immediately after creation'
database_backup_retention_amount_locally :
type : integer
description : 'Number of backups to retain locally'
database_backup_retention_days_locally :
type : integer
description : 'Number of days to retain backups locally'
database_backup_retention_max_storage_locally :
type : integer
description : 'Max storage (MB) for local backups'
database_backup_retention_amount_s3 :
type : integer
description : 'Number of backups to retain in S3'
database_backup_retention_days_s3 :
type : integer
description : 'Number of days to retain backups in S3'
database_backup_retention_max_storage_s3 :
type : integer
description : 'Max storage (MB) for S3 backups'
2026-03-31 07:29:36 +00:00
timeout :
type : integer
description: 'Backup job timeout in seconds (min: 60, max : 36000 )'
default : 3600
2025-10-20 11:57:43 +00:00
type : object
responses :
'201' :
description : 'Backup configuration created successfully'
content :
application/json :
schema :
properties :
uuid : { type: string, format: uuid, example : 550e8400 -e29b-41d4-a716-446655440000 }
message : { type: string, example : 'Backup configuration created successfully.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
'422' :
$ref : '#/components/responses/422'
security :
-
bearerAuth : [ ]
2024-07-09 11:19:21 +00:00
'/databases/{uuid}' :
get :
tags :
- Databases
summary : Get
description : 'Get database by UUID.'
2024-09-04 08:09:10 +00:00
operationId : get-database-by-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the database.'
required : true
schema :
type : string
responses :
'200' :
description : 'Get all databases'
content :
application/json :
schema :
type : string
example : 'Content is very complex. Will be implemented later.'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
delete :
tags :
- Databases
summary : Delete
description : 'Delete database by UUID.'
2024-09-04 08:09:10 +00:00
operationId : delete-database-by-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the database.'
required : true
schema :
type : string
2024-07-11 10:38:54 +00:00
-
2024-10-01 07:02:29 +00:00
name : delete_configurations
in : query
description : 'Delete configurations.'
required : false
schema :
type : boolean
default : true
-
name : delete_volumes
in : query
description : 'Delete volumes.'
required : false
schema :
type : boolean
default : true
-
name : docker_cleanup
in : query
description : 'Run docker cleanup.'
required : false
schema :
type : boolean
default : true
-
name : delete_connected_networks
2024-07-11 10:38:54 +00:00
in : query
2024-10-01 07:02:29 +00:00
description : 'Delete connected networks.'
2024-07-11 10:38:54 +00:00
required : false
schema :
type : boolean
default : true
2024-07-09 11:19:21 +00:00
responses :
'200' :
description : 'Database deleted.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Database deleted.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
patch :
tags :
- Databases
summary : Update
description : 'Update database by UUID.'
2024-09-04 08:09:10 +00:00
operationId : update-database-by-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the database.'
required : true
schema :
type : string
requestBody :
description : 'Database data'
required : true
content :
application/json :
schema :
properties :
name :
type : string
2024-07-09 11:59:54 +00:00
description : 'Name of the database'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 11:59:54 +00:00
description : 'Description of the database'
2024-07-09 11:19:21 +00:00
image :
type : string
2024-07-09 11:59:54 +00:00
description : 'Docker Image of the database'
2024-07-09 11:19:21 +00:00
is_public :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Is the database public?'
2024-07-09 11:19:21 +00:00
public_port :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Public port of the database'
2026-03-28 16:08:02 +00:00
public_port_timeout :
type : integer
description: 'Public port timeout in seconds (default : 3600 )'
2024-07-09 11:19:21 +00:00
limits_memory :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory swap limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Memory swappiness of the database'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory reservation of the database'
2024-07-09 11:19:21 +00:00
limits_cpus :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU limit of the database'
2024-07-09 11:19:21 +00:00
limits_cpuset :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU set of the database'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
type : integer
2024-07-09 11:59:54 +00:00
description : 'CPU shares of the database'
2024-07-09 11:19:21 +00:00
postgres_user :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL user'
2024-07-09 11:19:21 +00:00
postgres_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL password'
2024-07-09 11:19:21 +00:00
postgres_db :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL database'
2024-07-09 11:19:21 +00:00
postgres_initdb_args :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL initdb args'
2024-07-09 11:19:21 +00:00
postgres_host_auth_method :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL host auth method'
2024-07-09 11:19:21 +00:00
postgres_conf :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL conf'
2024-07-09 11:19:21 +00:00
clickhouse_admin_user :
type : string
2024-07-09 11:59:54 +00:00
description : 'Clickhouse admin user'
2024-07-09 11:19:21 +00:00
clickhouse_admin_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'Clickhouse admin password'
2024-07-09 11:19:21 +00:00
dragonfly_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'DragonFly password'
2024-07-09 11:19:21 +00:00
redis_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'Redis password'
2024-07-09 11:19:21 +00:00
redis_conf :
type : string
2024-07-09 11:59:54 +00:00
description : 'Redis conf'
2024-07-09 11:19:21 +00:00
keydb_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'KeyDB password'
2024-07-09 11:19:21 +00:00
keydb_conf :
type : string
2024-07-09 11:59:54 +00:00
description : 'KeyDB conf'
2024-07-09 11:19:21 +00:00
mariadb_conf :
type : string
2024-07-09 11:59:54 +00:00
description : 'MariaDB conf'
2024-07-09 11:19:21 +00:00
mariadb_root_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'MariaDB root password'
2024-07-09 11:19:21 +00:00
mariadb_user :
type : string
2024-07-09 11:59:54 +00:00
description : 'MariaDB user'
2024-07-09 11:19:21 +00:00
mariadb_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'MariaDB password'
2024-07-09 11:19:21 +00:00
mariadb_database :
type : string
2024-07-09 11:59:54 +00:00
description : 'MariaDB database'
2024-07-09 11:19:21 +00:00
mongo_conf :
type : string
2024-07-09 11:59:54 +00:00
description : 'Mongo conf'
2024-07-09 11:19:21 +00:00
mongo_initdb_root_username :
type : string
2024-07-09 11:59:54 +00:00
description : 'Mongo initdb root username'
2024-07-09 11:19:21 +00:00
mongo_initdb_root_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'Mongo initdb root password'
2024-11-30 23:17:49 +00:00
mongo_initdb_database :
2024-07-09 11:19:21 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Mongo initdb init database'
2024-07-09 11:19:21 +00:00
mysql_root_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'MySQL root password'
2024-11-30 23:17:49 +00:00
mysql_password :
type : string
description : 'MySQL password'
2024-07-09 11:19:21 +00:00
mysql_user :
type : string
2024-07-09 11:59:54 +00:00
description : 'MySQL user'
2024-07-09 11:19:21 +00:00
mysql_database :
type : string
2024-07-09 11:59:54 +00:00
description : 'MySQL database'
2024-07-09 11:19:21 +00:00
mysql_conf :
type : string
2024-07-09 11:59:54 +00:00
description : 'MySQL conf'
2024-07-09 11:19:21 +00:00
type : object
responses :
'200' :
description : 'Database updated'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
2025-09-30 09:19:39 +00:00
'/databases/{uuid}/backups/{scheduled_backup_uuid}' :
delete :
tags :
- Databases
summary : 'Delete backup configuration'
description : 'Deletes a backup configuration and all its executions.'
operationId : delete-backup-configuration-by-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the database'
required : true
schema :
type : string
-
name : scheduled_backup_uuid
in : path
description : 'UUID of the backup configuration to delete'
required : true
schema :
type : string
-
name : delete_s3
in : query
description : 'Whether to delete all backup files from S3'
required : false
schema :
type : boolean
default : false
responses :
'200' :
description : 'Backup configuration deleted.'
content :
application/json :
schema :
properties :
2025-10-12 12:20:45 +00:00
message : { type: string, example : 'Backup configuration and all executions deleted.' }
2025-09-30 09:19:39 +00:00
type : object
'404' :
description : 'Backup configuration not found.'
content :
application/json :
schema :
properties :
2025-10-12 12:20:45 +00:00
message : { type: string, example : 'Backup configuration not found.' }
2025-09-30 09:19:39 +00:00
type : object
security :
-
bearerAuth : [ ]
patch :
tags :
- Databases
summary : Update
description : 'Update a specific backup configuration for a given database, identified by its UUID and the backup ID'
operationId : update-database-backup
parameters :
-
name : uuid
in : path
description : 'UUID of the database.'
required : true
schema :
type : string
-
name : scheduled_backup_uuid
in : path
description : 'UUID of the backup configuration.'
required : true
schema :
type : string
requestBody :
description : 'Database backup configuration data'
required : true
content :
application/json :
schema :
properties :
save_s3 :
type : boolean
description : 'Whether data is saved in s3 or not'
s3_storage_uuid :
type : string
description : 'S3 storage UUID'
backup_now :
type : boolean
description : 'Whether to take a backup now or not'
enabled :
type : boolean
description : 'Whether the backup is enabled or not'
databases_to_backup :
type : string
description : 'Comma separated list of databases to backup'
dump_all :
type : boolean
description : 'Whether all databases are dumped or not'
frequency :
type : string
description : 'Frequency of the backup'
database_backup_retention_amount_locally :
type : integer
description : 'Retention amount of the backup locally'
database_backup_retention_days_locally :
type : integer
description : 'Retention days of the backup locally'
database_backup_retention_max_storage_locally :
type : integer
description : 'Max storage of the backup locally'
database_backup_retention_amount_s3 :
type : integer
description : 'Retention amount of the backup in s3'
database_backup_retention_days_s3 :
type : integer
description : 'Retention days of the backup in s3'
database_backup_retention_max_storage_s3 :
type : integer
description : 'Max storage of the backup in S3'
2026-03-31 07:29:36 +00:00
timeout :
type : integer
description: 'Backup job timeout in seconds (min: 60, max : 36000 )'
default : 3600
2025-09-30 09:19:39 +00:00
type : object
responses :
'200' :
description : 'Database backup configuration updated'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2025-09-30 09:19:39 +00:00
security :
-
bearerAuth : [ ]
2024-07-09 11:19:21 +00:00
/databases/postgresql :
post :
tags :
- Databases
summary : 'Create (PostgreSQL)'
description : 'Create a new PostgreSQL database.'
2024-09-04 08:09:10 +00:00
operationId : create-database-postgresql
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Database data'
required : true
content :
application/json :
schema :
required :
- server_uuid
- project_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
properties :
server_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the server'
2024-07-09 11:19:21 +00:00
project_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the project'
2024-07-09 11:19:21 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
postgres_user :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL user'
2024-07-09 11:19:21 +00:00
postgres_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL password'
2024-07-09 11:19:21 +00:00
postgres_db :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL database'
2024-07-09 11:19:21 +00:00
postgres_initdb_args :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL initdb args'
2024-07-09 11:19:21 +00:00
postgres_host_auth_method :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL host auth method'
2024-07-09 11:19:21 +00:00
postgres_conf :
type : string
2024-07-09 11:59:54 +00:00
description : 'PostgreSQL conf'
2024-07-09 11:19:21 +00:00
destination_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the destination if the server has multiple destinations'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 11:59:54 +00:00
description : 'Name of the database'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 11:59:54 +00:00
description : 'Description of the database'
2024-07-09 11:19:21 +00:00
image :
type : string
2024-07-09 11:59:54 +00:00
description : 'Docker Image of the database'
2024-07-09 11:19:21 +00:00
is_public :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Is the database public?'
2024-07-09 11:19:21 +00:00
public_port :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Public port of the database'
2026-03-28 16:08:02 +00:00
public_port_timeout :
type : integer
description: 'Public port timeout in seconds (default : 3600 )'
2024-07-09 11:19:21 +00:00
limits_memory :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory swap limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Memory swappiness of the database'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory reservation of the database'
2024-07-09 11:19:21 +00:00
limits_cpus :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU limit of the database'
2024-07-09 11:19:21 +00:00
limits_cpuset :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU set of the database'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
type : integer
2024-07-09 11:59:54 +00:00
description : 'CPU shares of the database'
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Instant deploy the database'
2024-07-09 11:19:21 +00:00
type : object
responses :
'200' :
description : 'Database updated'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
/databases/clickhouse :
post :
tags :
- Databases
summary : 'Create (Clickhouse)'
description : 'Create a new Clickhouse database.'
2024-09-04 08:09:10 +00:00
operationId : create-database-clickhouse
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Database data'
required : true
content :
application/json :
schema :
required :
- server_uuid
- project_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
properties :
server_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the server'
2024-07-09 11:19:21 +00:00
project_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the project'
2024-07-09 11:19:21 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
destination_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the destination if the server has multiple destinations'
2024-07-09 11:19:21 +00:00
clickhouse_admin_user :
type : string
2024-07-09 11:59:54 +00:00
description : 'Clickhouse admin user'
2024-07-09 11:19:21 +00:00
clickhouse_admin_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'Clickhouse admin password'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 11:59:54 +00:00
description : 'Name of the database'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 11:59:54 +00:00
description : 'Description of the database'
2024-07-09 11:19:21 +00:00
image :
type : string
2024-07-09 11:59:54 +00:00
description : 'Docker Image of the database'
2024-07-09 11:19:21 +00:00
is_public :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Is the database public?'
2024-07-09 11:19:21 +00:00
public_port :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Public port of the database'
2026-03-28 16:08:02 +00:00
public_port_timeout :
type : integer
description: 'Public port timeout in seconds (default : 3600 )'
2024-07-09 11:19:21 +00:00
limits_memory :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory swap limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Memory swappiness of the database'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory reservation of the database'
2024-07-09 11:19:21 +00:00
limits_cpus :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU limit of the database'
2024-07-09 11:19:21 +00:00
limits_cpuset :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU set of the database'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
type : integer
2024-07-09 11:59:54 +00:00
description : 'CPU shares of the database'
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Instant deploy the database'
2024-07-09 11:19:21 +00:00
type : object
responses :
'200' :
description : 'Database updated'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
/databases/dragonfly :
post :
tags :
- Databases
summary : 'Create (DragonFly)'
description : 'Create a new DragonFly database.'
2024-09-04 08:09:10 +00:00
operationId : create-database-dragonfly
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Database data'
required : true
content :
application/json :
schema :
required :
- server_uuid
- project_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
properties :
server_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the server'
2024-07-09 11:19:21 +00:00
project_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the project'
2024-07-09 11:19:21 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
destination_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the destination if the server has multiple destinations'
2024-07-09 11:19:21 +00:00
dragonfly_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'DragonFly password'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 11:59:54 +00:00
description : 'Name of the database'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 11:59:54 +00:00
description : 'Description of the database'
2024-07-09 11:19:21 +00:00
image :
type : string
2024-07-09 11:59:54 +00:00
description : 'Docker Image of the database'
2024-07-09 11:19:21 +00:00
is_public :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Is the database public?'
2024-07-09 11:19:21 +00:00
public_port :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Public port of the database'
2026-03-28 16:08:02 +00:00
public_port_timeout :
type : integer
description: 'Public port timeout in seconds (default : 3600 )'
2024-07-09 11:19:21 +00:00
limits_memory :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory swap limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Memory swappiness of the database'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory reservation of the database'
2024-07-09 11:19:21 +00:00
limits_cpus :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU limit of the database'
2024-07-09 11:19:21 +00:00
limits_cpuset :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU set of the database'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
type : integer
2024-07-09 11:59:54 +00:00
description : 'CPU shares of the database'
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Instant deploy the database'
2024-07-09 11:19:21 +00:00
type : object
responses :
'200' :
description : 'Database updated'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
/databases/redis :
post :
tags :
- Databases
summary : 'Create (Redis)'
description : 'Create a new Redis database.'
2024-09-04 08:09:10 +00:00
operationId : create-database-redis
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Database data'
required : true
content :
application/json :
schema :
required :
- server_uuid
- project_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
properties :
server_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the server'
2024-07-09 11:19:21 +00:00
project_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the project'
2024-07-09 11:19:21 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
destination_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the destination if the server has multiple destinations'
2024-07-09 11:19:21 +00:00
redis_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'Redis password'
2024-07-09 11:19:21 +00:00
redis_conf :
type : string
2024-07-09 11:59:54 +00:00
description : 'Redis conf'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 11:59:54 +00:00
description : 'Name of the database'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 11:59:54 +00:00
description : 'Description of the database'
2024-07-09 11:19:21 +00:00
image :
type : string
2024-07-09 11:59:54 +00:00
description : 'Docker Image of the database'
2024-07-09 11:19:21 +00:00
is_public :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Is the database public?'
2024-07-09 11:19:21 +00:00
public_port :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Public port of the database'
2026-03-28 16:08:02 +00:00
public_port_timeout :
type : integer
description: 'Public port timeout in seconds (default : 3600 )'
2024-07-09 11:19:21 +00:00
limits_memory :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory swap limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Memory swappiness of the database'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory reservation of the database'
2024-07-09 11:19:21 +00:00
limits_cpus :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU limit of the database'
2024-07-09 11:19:21 +00:00
limits_cpuset :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU set of the database'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
type : integer
2024-07-09 11:59:54 +00:00
description : 'CPU shares of the database'
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Instant deploy the database'
2024-07-09 11:19:21 +00:00
type : object
responses :
'200' :
description : 'Database updated'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
/databases/keydb :
post :
tags :
- Databases
summary : 'Create (KeyDB)'
description : 'Create a new KeyDB database.'
2024-09-04 08:09:10 +00:00
operationId : create-database-keydb
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Database data'
required : true
content :
application/json :
schema :
required :
- server_uuid
- project_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
properties :
server_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the server'
2024-07-09 11:19:21 +00:00
project_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the project'
2024-07-09 11:19:21 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
destination_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the destination if the server has multiple destinations'
2024-07-09 11:19:21 +00:00
keydb_password :
type : string
2024-07-09 11:59:54 +00:00
description : 'KeyDB password'
2024-07-09 11:19:21 +00:00
keydb_conf :
type : string
2024-07-09 11:59:54 +00:00
description : 'KeyDB conf'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 11:59:54 +00:00
description : 'Name of the database'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 11:59:54 +00:00
description : 'Description of the database'
2024-07-09 11:19:21 +00:00
image :
type : string
2024-07-09 11:59:54 +00:00
description : 'Docker Image of the database'
2024-07-09 11:19:21 +00:00
is_public :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Is the database public?'
2024-07-09 11:19:21 +00:00
public_port :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Public port of the database'
2026-03-28 16:08:02 +00:00
public_port_timeout :
type : integer
description: 'Public port timeout in seconds (default : 3600 )'
2024-07-09 11:19:21 +00:00
limits_memory :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory swap limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Memory swappiness of the database'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory reservation of the database'
2024-07-09 11:19:21 +00:00
limits_cpus :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU limit of the database'
2024-07-09 11:19:21 +00:00
limits_cpuset :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU set of the database'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
type : integer
2024-07-09 11:59:54 +00:00
description : 'CPU shares of the database'
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Instant deploy the database'
2024-07-09 11:19:21 +00:00
type : object
responses :
'200' :
description : 'Database updated'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
/databases/mariadb :
2024-07-09 08:45:10 +00:00
post :
tags :
2024-07-09 11:19:21 +00:00
- Databases
summary : 'Create (MariaDB)'
description : 'Create a new MariaDB database.'
2024-09-04 08:09:10 +00:00
operationId : create-database-mariadb
2024-07-09 08:45:10 +00:00
requestBody :
2024-07-09 11:19:21 +00:00
description : 'Database data'
2024-07-09 08:45:10 +00:00
required : true
content :
application/json :
schema :
required :
- server_uuid
2024-07-09 11:19:21 +00:00
- project_uuid
2024-07-09 08:45:10 +00:00
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 08:45:10 +00:00
properties :
2024-07-09 11:19:21 +00:00
server_uuid :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the server'
2024-07-09 08:45:10 +00:00
project_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the project'
2024-07-09 08:45:10 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 08:45:10 +00:00
destination_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the destination if the server has multiple destinations'
2024-07-09 11:19:21 +00:00
mariadb_conf :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'MariaDB conf'
2024-07-09 11:19:21 +00:00
mariadb_root_password :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'MariaDB root password'
2024-07-09 11:19:21 +00:00
mariadb_user :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'MariaDB user'
2024-07-09 11:19:21 +00:00
mariadb_password :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'MariaDB password'
2024-07-09 11:19:21 +00:00
mariadb_database :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'MariaDB database'
2024-07-09 11:19:21 +00:00
name :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Name of the database'
2024-07-09 11:19:21 +00:00
description :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Description of the database'
2024-07-09 11:19:21 +00:00
image :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Docker Image of the database'
2024-07-09 11:19:21 +00:00
is_public :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Is the database public?'
2024-07-09 11:19:21 +00:00
public_port :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Public port of the database'
2026-03-28 16:08:02 +00:00
public_port_timeout :
type : integer
description: 'Public port timeout in seconds (default : 3600 )'
2024-07-09 11:19:21 +00:00
limits_memory :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory swap limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Memory swappiness of the database'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory reservation of the database'
2024-07-09 11:19:21 +00:00
limits_cpus :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU limit of the database'
2024-07-09 11:19:21 +00:00
limits_cpuset :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU set of the database'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
type : integer
2024-07-09 11:59:54 +00:00
description : 'CPU shares of the database'
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Instant deploy the database'
2024-07-09 11:19:21 +00:00
type : object
responses :
'200' :
description : 'Database updated'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
/databases/mysql :
post :
tags :
- Databases
summary : 'Create (MySQL)'
description : 'Create a new MySQL database.'
2024-09-04 08:09:10 +00:00
operationId : create-database-mysql
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Database data'
required : true
content :
application/json :
schema :
required :
- server_uuid
- project_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
properties :
server_uuid :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the server'
2024-07-09 11:19:21 +00:00
project_uuid :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the project'
2024-07-09 11:19:21 +00:00
environment_name :
2024-07-09 08:45:10 +00:00
type : string
2024-12-17 12:42:16 +00:00
description : 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
destination_uuid :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the destination if the server has multiple destinations'
2024-07-09 11:19:21 +00:00
mysql_root_password :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'MySQL root password'
2024-11-30 23:17:49 +00:00
mysql_password :
type : string
description : 'MySQL password'
2024-07-09 11:19:21 +00:00
mysql_user :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'MySQL user'
2024-07-09 11:19:21 +00:00
mysql_database :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'MySQL database'
2024-07-09 11:19:21 +00:00
mysql_conf :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'MySQL conf'
2024-07-09 11:19:21 +00:00
name :
type : string
2024-07-09 11:59:54 +00:00
description : 'Name of the database'
2024-07-09 11:19:21 +00:00
description :
type : string
2024-07-09 11:59:54 +00:00
description : 'Description of the database'
2024-07-09 11:19:21 +00:00
image :
type : string
2024-07-09 11:59:54 +00:00
description : 'Docker Image of the database'
2024-07-09 11:19:21 +00:00
is_public :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Is the database public?'
2024-07-09 11:19:21 +00:00
public_port :
2024-07-09 08:45:10 +00:00
type : integer
2024-07-09 11:59:54 +00:00
description : 'Public port of the database'
2026-03-28 16:08:02 +00:00
public_port_timeout :
type : integer
description: 'Public port timeout in seconds (default : 3600 )'
2024-07-09 08:45:10 +00:00
limits_memory :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory limit of the database'
2024-07-09 08:45:10 +00:00
limits_memory_swap :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory swap limit of the database'
2024-07-09 08:45:10 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Memory swappiness of the database'
2024-07-09 08:45:10 +00:00
limits_memory_reservation :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory reservation of the database'
2024-07-09 08:45:10 +00:00
limits_cpus :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU limit of the database'
2024-07-09 08:45:10 +00:00
limits_cpuset :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU set of the database'
2024-07-09 08:45:10 +00:00
limits_cpu_shares :
2024-07-09 11:19:21 +00:00
type : integer
2024-07-09 11:59:54 +00:00
description : 'CPU shares of the database'
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Instant deploy the database'
2024-07-09 11:19:21 +00:00
type : object
responses :
'200' :
description : 'Database updated'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
/databases/mongodb :
post :
tags :
- Databases
summary : 'Create (MongoDB)'
description : 'Create a new MongoDB database.'
2024-09-04 08:09:10 +00:00
operationId : create-database-mongodb
2024-07-09 11:19:21 +00:00
requestBody :
description : 'Database data'
required : true
content :
application/json :
schema :
required :
- server_uuid
- project_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:19:21 +00:00
properties :
server_uuid :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the server'
2024-07-09 11:19:21 +00:00
project_uuid :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the project'
2024-07-09 11:19:21 +00:00
environment_name :
2024-07-09 08:45:10 +00:00
type : string
2024-12-17 12:42:16 +00:00
description : 'Name of the environment. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'UUID of the environment. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:19:21 +00:00
destination_uuid :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'UUID of the destination if the server has multiple destinations'
2024-07-09 11:19:21 +00:00
mongo_conf :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'MongoDB conf'
2024-07-09 11:19:21 +00:00
mongo_initdb_root_username :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'MongoDB initdb root username'
2024-07-09 11:19:21 +00:00
name :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Name of the database'
2024-07-09 11:19:21 +00:00
description :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Description of the database'
2024-07-09 11:19:21 +00:00
image :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Docker Image of the database'
2024-07-09 11:19:21 +00:00
is_public :
2024-07-09 08:45:10 +00:00
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Is the database public?'
2024-07-09 11:19:21 +00:00
public_port :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Public port of the database'
2026-03-28 16:08:02 +00:00
public_port_timeout :
type : integer
description: 'Public port timeout in seconds (default : 3600 )'
2024-07-09 11:19:21 +00:00
limits_memory :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swap :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory swap limit of the database'
2024-07-09 11:19:21 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Memory swappiness of the database'
2024-07-09 11:19:21 +00:00
limits_memory_reservation :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory reservation of the database'
2024-07-09 11:19:21 +00:00
limits_cpus :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU limit of the database'
2024-07-09 11:19:21 +00:00
limits_cpuset :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU set of the database'
2024-07-09 11:19:21 +00:00
limits_cpu_shares :
type : integer
2024-07-09 11:59:54 +00:00
description : 'CPU shares of the database'
2024-07-09 11:19:21 +00:00
instant_deploy :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Instant deploy the database'
2024-07-09 08:45:10 +00:00
type : object
responses :
'200' :
2024-07-09 11:19:21 +00:00
description : 'Database updated'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 11:19:21 +00:00
security :
-
bearerAuth : [ ]
2025-09-30 09:19:39 +00:00
'/databases/{uuid}/backups/{scheduled_backup_uuid}/executions/{execution_uuid}' :
delete :
tags :
- Databases
summary : 'Delete backup execution'
description : 'Deletes a specific backup execution.'
operationId : delete-backup-execution-by-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the database'
required : true
schema :
type : string
-
name : scheduled_backup_uuid
in : path
description : 'UUID of the backup configuration'
required : true
schema :
type : string
-
name : execution_uuid
in : path
description : 'UUID of the backup execution to delete'
required : true
schema :
type : string
-
name : delete_s3
in : query
description : 'Whether to delete the backup from S3'
required : false
schema :
type : boolean
default : false
responses :
'200' :
description : 'Backup execution deleted.'
content :
application/json :
schema :
properties :
2025-10-12 12:20:45 +00:00
message : { type: string, example : 'Backup execution deleted.' }
2025-09-30 09:19:39 +00:00
type : object
'404' :
description : 'Backup execution not found.'
content :
application/json :
schema :
properties :
2025-10-12 12:20:45 +00:00
message : { type: string, example : 'Backup execution not found.' }
2025-09-30 09:19:39 +00:00
type : object
security :
-
bearerAuth : [ ]
'/databases/{uuid}/backups/{scheduled_backup_uuid}/executions' :
get :
tags :
- Databases
summary : 'List backup executions'
description : 'Get all executions for a specific backup configuration.'
operationId : list-backup-executions
parameters :
-
name : uuid
in : path
description : 'UUID of the database'
required : true
schema :
type : string
-
name : scheduled_backup_uuid
in : path
description : 'UUID of the backup configuration'
required : true
schema :
type : string
responses :
'200' :
description : 'List of backup executions'
content :
application/json :
schema :
properties :
2025-10-12 12:20:45 +00:00
executions : { type: array, items : { properties : { uuid : { type: string }, filename : { type: string }, size : { type: integer }, created_at : { type: string }, message : { type: string }, status : { type: string } }, type : object } }
2025-09-30 09:19:39 +00:00
type : object
'404' :
description : 'Backup configuration not found.'
security :
-
bearerAuth : [ ]
2024-07-09 11:19:21 +00:00
'/databases/{uuid}/start' :
get :
tags :
- Databases
summary : Start
description : 'Start database. `Post` request is also accepted.'
2024-09-04 08:09:10 +00:00
operationId : start-database-by-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the database.'
required : true
schema :
type : string
responses :
'200' :
description : 'Start database.'
2024-07-09 08:45:10 +00:00
content :
application/json :
schema :
2024-07-09 11:19:21 +00:00
properties :
message : { type: string, example : 'Database starting request queued.' }
type : object
2024-07-09 08:45:10 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2024-07-09 11:19:21 +00:00
'404' :
$ref : '#/components/responses/404'
2024-07-09 08:45:10 +00:00
security :
-
bearerAuth : [ ]
2024-07-09 11:19:21 +00:00
'/databases/{uuid}/stop' :
2024-07-09 08:45:10 +00:00
get :
tags :
2024-07-09 11:19:21 +00:00
- Databases
summary : Stop
description : 'Stop database. `Post` request is also accepted.'
2024-09-04 08:09:10 +00:00
operationId : stop-database-by-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
in : path
2024-07-09 11:19:21 +00:00
description : 'UUID of the database.'
2024-07-09 08:45:10 +00:00
required : true
schema :
type : string
2026-03-11 11:01:02 +00:00
-
name : docker_cleanup
in : query
description : 'Perform docker cleanup (prune networks, volumes, etc.).'
schema :
type : boolean
default : true
2024-07-09 08:45:10 +00:00
responses :
'200' :
2024-07-09 11:19:21 +00:00
description : 'Stop database.'
2024-07-09 08:45:10 +00:00
content :
application/json :
schema :
2024-07-09 11:19:21 +00:00
properties :
message : { type: string, example : 'Database stopping request queued.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
'/databases/{uuid}/restart' :
get :
tags :
- Databases
summary : Restart
description : 'Restart database. `Post` request is also accepted.'
2024-09-04 08:09:10 +00:00
operationId : restart-database-by-uuid
2024-07-09 11:19:21 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the database.'
required : true
schema :
type : string
responses :
'200' :
description : 'Restart database.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Database restaring request queued.' }
type : object
2024-07-09 08:45:10 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2026-03-19 22:29:50 +00:00
'/databases/{uuid}/envs' :
2024-07-09 08:45:10 +00:00
get :
tags :
2026-03-19 22:29:50 +00:00
- Databases
summary : 'List Envs'
description : 'List all envs by database UUID.'
operationId : list-envs-by-database-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the database.'
required : true
schema :
type : string
2024-07-09 08:45:10 +00:00
responses :
'200' :
2026-03-19 22:29:50 +00:00
description : 'Environment variables.'
2024-07-09 08:45:10 +00:00
content :
application/json :
schema :
type : array
items :
2026-03-19 22:29:50 +00:00
$ref : '#/components/schemas/EnvironmentVariable'
2024-07-09 08:45:10 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2026-03-19 22:29:50 +00:00
'404' :
$ref : '#/components/responses/404'
2024-07-09 08:45:10 +00:00
security :
-
bearerAuth : [ ]
2026-03-19 22:29:50 +00:00
post :
2024-07-09 08:45:10 +00:00
tags :
2026-03-19 22:29:50 +00:00
- Databases
summary : 'Create Env'
description : 'Create env by database UUID.'
operationId : create-env-by-database-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
in : path
2026-03-19 22:29:50 +00:00
description : 'UUID of the database.'
2024-07-09 08:45:10 +00:00
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2026-03-19 22:29:50 +00:00
requestBody :
description : 'Env created.'
required : true
content :
application/json :
schema :
properties :
key :
type : string
description : 'The key of the environment variable.'
value :
type : string
description : 'The value of the environment variable.'
is_literal :
type : boolean
description : 'The flag to indicate if the environment variable is a literal, nothing espaced.'
is_multiline :
type : boolean
description : 'The flag to indicate if the environment variable is multiline.'
is_shown_once :
type : boolean
description : "The flag to indicate if the environment variable's value is shown on the UI."
type : object
2024-07-09 08:45:10 +00:00
responses :
2026-03-19 22:29:50 +00:00
'201' :
description : 'Environment variable created.'
2024-07-09 08:45:10 +00:00
content :
application/json :
schema :
2026-03-19 22:29:50 +00:00
properties :
uuid : { type: string, example : nc0k04gk8g0cgsk440g0koko }
type : object
2024-07-09 08:45:10 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2026-03-19 22:29:50 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 08:45:10 +00:00
security :
-
bearerAuth : [ ]
2026-03-19 22:29:50 +00:00
patch :
2025-10-20 11:57:43 +00:00
tags :
2026-03-19 22:29:50 +00:00
- Databases
summary : 'Update Env'
description : 'Update env by database UUID.'
operationId : update-env-by-database-uuid
2025-10-20 11:57:43 +00:00
parameters :
-
name : uuid
in : path
2026-03-19 22:29:50 +00:00
description : 'UUID of the database.'
2025-10-20 11:57:43 +00:00
required : true
schema :
type : string
2026-03-19 22:29:50 +00:00
requestBody :
description : 'Env updated.'
required : true
content :
application/json :
schema :
required :
- key
- value
properties :
key :
type : string
description : 'The key of the environment variable.'
value :
type : string
description : 'The value of the environment variable.'
is_literal :
type : boolean
description : 'The flag to indicate if the environment variable is a literal, nothing espaced.'
is_multiline :
type : boolean
description : 'The flag to indicate if the environment variable is multiline.'
is_shown_once :
type : boolean
description : "The flag to indicate if the environment variable's value is shown on the UI."
type : object
2025-10-20 11:57:43 +00:00
responses :
2026-03-19 22:29:50 +00:00
'201' :
description : 'Environment variable updated.'
2025-10-20 11:57:43 +00:00
content :
application/json :
schema :
2026-03-19 22:29:50 +00:00
$ref : '#/components/schemas/EnvironmentVariable'
2025-10-20 11:57:43 +00:00
'401' :
$ref : '#/components/responses/401'
2026-03-19 22:29:50 +00:00
'400' :
$ref : '#/components/responses/400'
2025-10-20 11:57:43 +00:00
'404' :
$ref : '#/components/responses/404'
2026-03-19 22:29:50 +00:00
'422' :
$ref : '#/components/responses/422'
2025-10-20 11:57:43 +00:00
security :
-
bearerAuth : [ ]
2026-03-19 22:29:50 +00:00
'/databases/{uuid}/envs/bulk' :
patch :
2024-07-09 08:45:10 +00:00
tags :
2026-03-19 22:29:50 +00:00
- Databases
summary : 'Update Envs (Bulk)'
description : 'Update multiple envs by database UUID.'
operationId : update-envs-by-database-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
2026-03-19 22:29:50 +00:00
in : path
description : 'UUID of the database.'
required : true
2024-07-09 08:45:10 +00:00
schema :
type : string
2026-03-19 22:29:50 +00:00
requestBody :
description : 'Bulk envs updated.'
required : true
content :
application/json :
schema :
required :
- data
properties :
data :
type : array
items : { properties : { key : { type: string, description: 'The key of the environment variable.' }, value : { type: string, description: 'The value of the environment variable.' }, is_literal : { type: boolean, description: 'The flag to indicate if the environment variable is a literal, nothing espaced.' }, is_multiline : { type: boolean, description: 'The flag to indicate if the environment variable is multiline.' }, is_shown_once : { type: boolean, description : "The flag to indicate if the environment variable's value is shown on the UI." } }, type : object }
type : object
2024-07-09 08:45:10 +00:00
responses :
2026-03-19 22:29:50 +00:00
'201' :
description : 'Environment variables updated.'
2024-07-09 08:45:10 +00:00
content :
application/json :
schema :
2026-03-19 22:29:50 +00:00
type : array
items :
$ref : '#/components/schemas/EnvironmentVariable'
2024-07-09 08:45:10 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2026-03-19 22:29:50 +00:00
'404' :
$ref : '#/components/responses/404'
'422' :
$ref : '#/components/responses/422'
2024-07-09 08:45:10 +00:00
security :
-
bearerAuth : [ ]
2026-03-19 22:29:50 +00:00
'/databases/{uuid}/envs/{env_uuid}' :
delete :
2025-03-31 15:38:54 +00:00
tags :
2026-03-19 22:29:50 +00:00
- Databases
summary : 'Delete Env'
description : 'Delete env by UUID.'
operationId : delete-env-by-database-uuid
2025-04-09 16:52:12 +00:00
parameters :
-
name : uuid
in : path
2026-03-19 22:29:50 +00:00
description : 'UUID of the database.'
2025-04-09 16:52:12 +00:00
required : true
schema :
type : string
-
2026-03-19 22:29:50 +00:00
name : env_uuid
in : path
description : 'UUID of the environment variable.'
required : true
2025-04-09 16:52:12 +00:00
schema :
2026-03-19 22:29:50 +00:00
type : string
2025-03-31 15:38:54 +00:00
responses :
'200' :
2026-03-19 22:29:50 +00:00
description : 'Environment variable deleted.'
2025-03-31 15:38:54 +00:00
content :
application/json :
schema :
2026-03-19 22:29:50 +00:00
properties :
message : { type: string, example : 'Environment variable deleted.' }
type : object
2025-03-31 15:38:54 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2026-03-19 22:29:50 +00:00
'404' :
$ref : '#/components/responses/404'
2025-03-31 15:38:54 +00:00
security :
-
bearerAuth : [ ]
2026-03-23 14:15:02 +00:00
'/databases/{uuid}/storages' :
2025-10-20 11:57:43 +00:00
get :
tags :
2026-03-23 14:15:02 +00:00
- Databases
summary : 'List Storages'
description : 'List all persistent storages and file storages by database UUID.'
operationId : list-storages-by-database-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the database.'
required : true
schema :
type : string
2025-10-20 11:57:43 +00:00
responses :
'200' :
2026-03-23 14:15:02 +00:00
description : 'All storages by database UUID.'
2025-10-20 11:57:43 +00:00
content :
application/json :
schema :
2026-03-23 14:15:02 +00:00
properties :
persistent_storages : { type: array, items : { type : object } }
file_storages : { type: array, items : { type : object } }
type : object
2025-10-20 11:57:43 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2026-03-23 14:15:02 +00:00
'404' :
$ref : '#/components/responses/404'
2025-10-20 11:57:43 +00:00
security :
-
bearerAuth : [ ]
2025-09-30 09:19:39 +00:00
post :
tags :
2026-03-23 14:15:02 +00:00
- Databases
summary : 'Create Storage'
description : 'Create a persistent storage or file storage for a database.'
operationId : create-storage-by-database-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the database.'
required : true
schema :
type : string
2025-09-30 09:19:39 +00:00
requestBody :
required : true
content :
application/json :
schema :
required :
2026-03-23 14:15:02 +00:00
- type
- mount_path
2025-09-30 09:19:39 +00:00
properties :
2026-03-23 14:15:02 +00:00
type :
2025-09-30 09:19:39 +00:00
type : string
2026-03-23 14:15:02 +00:00
enum : [ persistent, file]
description : 'The type of storage.'
name :
2025-09-30 09:19:39 +00:00
type : string
2026-03-23 14:15:02 +00:00
description : 'Volume name (persistent only, required for persistent).'
mount_path :
2025-09-30 09:19:39 +00:00
type : string
2026-03-23 14:15:02 +00:00
description : 'The container mount path.'
host_path :
2025-09-30 09:19:39 +00:00
type : string
2026-03-23 14:15:02 +00:00
nullable : true
description : 'The host path (persistent only, optional).'
content :
2025-09-30 09:19:39 +00:00
type : string
2026-03-23 14:15:02 +00:00
nullable : true
description : 'File content (file only, optional).'
is_directory :
2025-09-30 09:19:39 +00:00
type : boolean
2026-03-23 14:15:02 +00:00
description : 'Whether this is a directory mount (file only, default false).'
fs_path :
type : string
description : 'Host directory path (required when is_directory is true).'
2025-09-30 09:19:39 +00:00
type : object
2026-03-23 14:15:02 +00:00
additionalProperties : false
2025-09-30 09:19:39 +00:00
responses :
'201' :
2026-03-23 14:15:02 +00:00
description : 'Storage created.'
2025-09-30 09:19:39 +00:00
content :
application/json :
schema :
type : object
'401' :
$ref : '#/components/responses/401'
2026-03-23 14:15:02 +00:00
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-09-30 09:19:39 +00:00
'422' :
$ref : '#/components/responses/422'
security :
-
bearerAuth : [ ]
2026-03-23 14:15:02 +00:00
patch :
2025-09-30 09:19:39 +00:00
tags :
2026-03-23 14:15:02 +00:00
- Databases
summary : 'Update Storage'
description : 'Update a persistent storage or file storage by database UUID.'
operationId : update-storage-by-database-uuid
2025-09-30 09:19:39 +00:00
parameters :
-
2026-03-23 14:15:02 +00:00
name : uuid
2025-09-30 09:19:39 +00:00
in : path
2026-03-23 14:15:02 +00:00
description : 'UUID of the database.'
2025-09-30 09:19:39 +00:00
required : true
schema :
2026-03-23 14:15:02 +00:00
type : string
requestBody :
description : 'Storage updated. For read-only storages (from docker-compose or services), only is_preview_suffix_enabled can be updated.'
required : true
content :
application/json :
schema :
required :
- type
properties :
uuid :
type : string
description : 'The UUID of the storage (preferred).'
id :
type : integer
description : 'The ID of the storage (deprecated, use uuid instead).'
type :
type : string
enum : [ persistent, file]
description: 'The type of storage : persistent or file.'
is_preview_suffix_enabled :
type : boolean
description : 'Whether to add -pr-N suffix for preview deployments.'
name :
type : string
description : 'The volume name (persistent only, not allowed for read-only storages).'
mount_path :
type : string
description : 'The container mount path (not allowed for read-only storages).'
host_path :
type : string
nullable : true
description : 'The host path (persistent only, not allowed for read-only storages).'
content :
type : string
nullable : true
description : 'The file content (file only, not allowed for read-only storages).'
type : object
additionalProperties : false
2025-09-30 09:19:39 +00:00
responses :
'200' :
2026-03-23 14:15:02 +00:00
description : 'Storage updated.'
2025-09-30 09:19:39 +00:00
content :
application/json :
schema :
type : object
'401' :
$ref : '#/components/responses/401'
2026-03-23 14:15:02 +00:00
'400' :
$ref : '#/components/responses/400'
2025-09-30 09:19:39 +00:00
'404' :
$ref : '#/components/responses/404'
2026-03-23 14:15:02 +00:00
'422' :
$ref : '#/components/responses/422'
2025-09-30 09:19:39 +00:00
security :
-
bearerAuth : [ ]
2026-03-23 14:15:02 +00:00
'/databases/{uuid}/storages/{storage_uuid}' :
delete :
2025-09-30 09:19:39 +00:00
tags :
2026-03-23 14:15:02 +00:00
- Databases
summary : 'Delete Storage'
description : 'Delete a persistent storage or file storage by database UUID.'
operationId : delete-storage-by-database-uuid
2025-09-30 09:19:39 +00:00
parameters :
-
2026-03-23 14:15:02 +00:00
name : uuid
2025-09-30 09:19:39 +00:00
in : path
2026-03-23 14:15:02 +00:00
description : 'UUID of the database.'
2025-09-30 09:19:39 +00:00
required : true
schema :
type : string
-
2026-03-23 14:15:02 +00:00
name : storage_uuid
2025-09-30 09:19:39 +00:00
in : path
2026-03-23 14:15:02 +00:00
description : 'UUID of the storage.'
2025-09-30 09:19:39 +00:00
required : true
schema :
type : string
responses :
'200' :
2026-03-23 14:15:02 +00:00
description : 'Storage deleted.'
2025-09-30 09:19:39 +00:00
content :
application/json :
schema :
properties :
2026-03-23 14:15:02 +00:00
message : { type : string }
2025-09-30 09:19:39 +00:00
type : object
'401' :
$ref : '#/components/responses/401'
2026-03-23 14:15:02 +00:00
'400' :
$ref : '#/components/responses/400'
2025-09-30 09:19:39 +00:00
'404' :
$ref : '#/components/responses/404'
2026-03-23 14:15:02 +00:00
'422' :
$ref : '#/components/responses/422'
2025-09-30 09:19:39 +00:00
security :
-
bearerAuth : [ ]
2024-07-09 08:45:10 +00:00
/deployments :
get :
2025-09-30 09:19:39 +00:00
tags :
2024-07-09 08:45:10 +00:00
- Deployments
summary : List
description : 'List currently running deployments'
2024-09-04 08:09:10 +00:00
operationId : list-deployments
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Get all currently running deployments.'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/ApplicationDeploymentQueue'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
'/deployments/{uuid}' :
get :
tags :
- Deployments
summary : Get
description : 'Get deployment by UUID.'
2024-09-04 08:09:10 +00:00
operationId : get-deployment-by-uuid
2025-09-30 09:19:39 +00:00
parameters :
-
2024-07-09 08:45:10 +00:00
name : uuid
2025-09-30 09:19:39 +00:00
in : path
2024-09-10 06:49:25 +00:00
description : 'Deployment UUID'
2025-09-30 09:19:39 +00:00
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2025-09-30 09:19:39 +00:00
responses :
'200' :
2024-07-09 08:45:10 +00:00
description : 'Get deployment by UUID.'
2025-09-30 09:19:39 +00:00
content :
application/json :
schema :
2024-07-09 08:45:10 +00:00
$ref : '#/components/schemas/ApplicationDeploymentQueue'
2025-09-30 09:19:39 +00:00
'401' :
2024-07-09 08:45:10 +00:00
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-09-30 09:19:39 +00:00
'404' :
2024-07-09 08:45:10 +00:00
$ref : '#/components/responses/404'
2025-09-30 09:19:39 +00:00
security :
-
bearerAuth : [ ]
2025-10-20 11:57:43 +00:00
'/deployments/{uuid}/cancel' :
post :
2025-09-30 09:19:39 +00:00
tags :
2025-10-20 11:57:43 +00:00
- Deployments
summary : Cancel
description : 'Cancel a deployment by UUID.'
operationId : cancel-deployment-by-uuid
2025-09-30 09:19:39 +00:00
parameters :
-
2025-10-20 11:57:43 +00:00
name : uuid
2025-09-30 09:19:39 +00:00
in : path
2025-10-20 11:57:43 +00:00
description : 'Deployment UUID'
2025-09-30 09:19:39 +00:00
required : true
schema :
2025-10-20 11:57:43 +00:00
type : string
2025-09-30 09:19:39 +00:00
responses :
'200' :
2025-10-20 11:57:43 +00:00
description : 'Deployment cancelled successfully.'
2025-09-30 09:19:39 +00:00
content :
application/json :
schema :
properties :
2025-10-20 11:57:43 +00:00
message : { type: string, example : 'Deployment cancelled successfully.' }
deployment_uuid : { type: string, example : cm37r6cqj000008jm0veg5tkm }
status : { type: string, example : cancelled-by-user }
type : object
'400' :
description : 'Deployment cannot be cancelled (already finished/failed/cancelled).'
content :
application/json :
schema :
properties :
message : { type: string, example: 'Deployment cannot be cancelled. Current status : finished' }
2025-09-30 09:19:39 +00:00
type : object
'401' :
2025-10-20 11:57:43 +00:00
$ref : '#/components/responses/401'
'403' :
description : "User doesn't have permission to cancel this deployment."
content :
application/json :
schema :
properties :
message : { type: string, example : 'You do not have permission to cancel this deployment.' }
type : object
2025-09-30 09:19:39 +00:00
'404' :
2025-10-20 11:57:43 +00:00
$ref : '#/components/responses/404'
2025-09-30 09:19:39 +00:00
security :
-
bearerAuth : [ ]
2024-07-09 08:45:10 +00:00
/deploy :
2025-12-11 08:41:54 +00:00
get :
tags :
2024-07-09 08:45:10 +00:00
- Deployments
summary : Deploy
2025-04-13 13:48:00 +00:00
description : 'Deploy by tag or uuid. `Post` request also accepted with `uuid` and `tag` json body.'
2024-09-04 08:09:10 +00:00
operationId : deploy-by-tag-or-uuid
2025-12-11 08:41:54 +00:00
parameters :
2025-12-11 11:08:12 +00:00
-
2024-07-09 08:45:10 +00:00
name : tag
2025-12-11 11:08:12 +00:00
in : query
2024-07-09 08:45:10 +00:00
description : 'Tag name(s). Comma separated list is also accepted.'
2025-12-11 11:08:12 +00:00
schema :
type : string
2025-12-11 08:41:54 +00:00
-
2024-07-09 08:45:10 +00:00
name : uuid
2025-12-11 08:41:54 +00:00
in : query
2024-07-09 08:45:10 +00:00
description : 'Resource UUID(s). Comma separated list is also accepted.'
2025-12-11 08:41:54 +00:00
schema :
type : string
2025-12-11 11:08:12 +00:00
-
2024-07-09 08:45:10 +00:00
name : force
2025-12-11 11:08:12 +00:00
in : query
2024-07-09 08:45:10 +00:00
description : 'Force rebuild (without cache)'
2025-12-11 11:08:12 +00:00
schema :
2024-07-09 08:45:10 +00:00
type : boolean
2025-12-11 08:41:54 +00:00
-
2025-03-27 16:27:14 +00:00
name : pr
2025-12-11 08:41:54 +00:00
in : query
2025-03-31 15:38:54 +00:00
description : 'Pull Request Id for deploying specific PR builds. Cannot be used with tag parameter.'
2025-12-11 08:41:54 +00:00
schema :
2025-03-27 16:27:14 +00:00
type : integer
2026-03-30 11:10:49 +00:00
-
name : pull_request_id
in : query
description : 'Preview deployment identifier. Alias of pr.'
schema :
type : integer
-
name : docker_tag
in : query
description : 'Docker image tag for Docker Image preview deployments. Requires pull_request_id.'
schema :
type : string
2025-12-11 08:41:54 +00:00
responses :
'200' :
2024-09-10 06:49:25 +00:00
description : "Get deployment(s) UUID's"
2025-12-11 08:41:54 +00:00
content :
application/json :
schema :
2024-07-09 08:45:10 +00:00
properties :
deployments : { type: array, items : { properties : { message : { type: string }, resource_uuid : { type: string }, deployment_uuid : { type: string } }, type : object } }
type : object
2025-12-11 08:41:54 +00:00
'401' :
$ref : '#/components/responses/401'
2024-07-09 08:45:10 +00:00
'400' :
$ref : '#/components/responses/400'
2025-12-11 08:41:54 +00:00
security :
-
bearerAuth : [ ]
2025-03-31 15:38:54 +00:00
'/deployments/applications/{uuid}' :
2025-12-11 08:41:54 +00:00
get :
tags :
2025-03-31 15:38:54 +00:00
- Deployments
summary : 'List application deployments'
description : 'List application deployments by using the app uuid'
operationId : list-deployments-by-app-uuid
2025-12-11 08:41:54 +00:00
parameters :
2025-12-11 11:12:43 +00:00
-
2025-04-09 16:52:12 +00:00
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
-
name : skip
2025-12-11 11:12:43 +00:00
in : query
2025-04-09 16:52:12 +00:00
description : 'Number of records to skip.'
2025-12-11 11:12:43 +00:00
required : false
schema :
2025-04-09 16:52:12 +00:00
type : integer
default : 0
minimum : 0
2025-12-11 08:41:54 +00:00
-
2025-04-09 16:52:12 +00:00
name : take
2025-12-11 08:41:54 +00:00
in : query
2025-04-09 16:52:12 +00:00
description : 'Number of records to take.'
2025-12-11 11:12:43 +00:00
required : false
2025-12-11 08:41:54 +00:00
schema :
2025-04-09 16:52:12 +00:00
type : integer
default : 10
minimum : 1
2025-12-11 08:41:54 +00:00
responses :
'200' :
2025-03-31 15:38:54 +00:00
description : 'List application deployments by using the app uuid.'
2025-12-11 08:41:54 +00:00
content :
application/json :
schema :
type : array
items :
2025-03-31 15:38:54 +00:00
$ref : '#/components/schemas/Application'
2025-12-11 08:41:54 +00:00
'401' :
$ref : '#/components/responses/401'
2025-03-31 15:38:54 +00:00
'400' :
$ref : '#/components/responses/400'
2025-12-11 08:41:54 +00:00
security :
-
bearerAuth : [ ]
2025-09-30 09:19:39 +00:00
/github-apps :
2025-12-11 08:41:54 +00:00
get :
tags :
2025-10-20 11:57:43 +00:00
- 'GitHub Apps'
summary : List
description : 'List all GitHub apps.'
operationId : list-github-apps
2025-12-11 08:41:54 +00:00
responses :
'200' :
2025-10-20 11:57:43 +00:00
description : 'List of GitHub apps.'
2025-12-11 08:41:54 +00:00
content :
application/json :
schema :
type : array
items :
2025-10-20 11:57:43 +00:00
properties : { id : { type: integer }, uuid : { type: string }, name : { type: string }, organization : { type: string, nullable: true }, api_url : { type: string }, html_url : { type: string }, custom_user : { type: string }, custom_port : { type: integer }, app_id : { type: integer }, installation_id : { type: integer }, client_id : { type: string }, private_key_id : { type: integer }, is_system_wide : { type: boolean }, is_public : { type: boolean }, team_id : { type: integer }, type : { type : string } }
2025-12-11 08:41:54 +00:00
type : object
'401' :
$ref : '#/components/responses/401'
2025-10-20 11:57:43 +00:00
'400' :
$ref : '#/components/responses/400'
2025-12-11 08:41:54 +00:00
security :
-
bearerAuth : [ ]
post :
tags :
2025-09-30 09:19:39 +00:00
- 'GitHub Apps'
summary : 'Create GitHub App'
description : 'Create a new GitHub app.'
operationId : create-github-app
2025-12-11 08:41:54 +00:00
requestBody :
2025-09-30 09:19:39 +00:00
description : 'GitHub app creation payload.'
2025-12-11 08:41:54 +00:00
required : true
content :
application/json :
schema :
required :
2025-09-30 09:19:39 +00:00
- name
- api_url
- html_url
- app_id
- installation_id
- client_id
- client_secret
2025-12-11 08:41:54 +00:00
- private_key_uuid
properties :
2025-09-30 09:19:39 +00:00
name :
2025-12-11 11:12:43 +00:00
type : string
2025-09-30 09:19:39 +00:00
description : 'Name of the GitHub app.'
organization :
2025-12-11 08:41:54 +00:00
type : string
2025-09-30 09:19:39 +00:00
nullable : true
description : 'Organization to associate the app with.'
api_url :
2025-12-11 08:41:54 +00:00
type : string
2025-09-30 09:19:39 +00:00
description : 'API URL for the GitHub app (e.g., https://api.github.com).'
html_url :
2025-12-11 08:41:54 +00:00
type : string
2025-09-30 09:19:39 +00:00
description : 'HTML URL for the GitHub app (e.g., https://github.com).'
custom_user :
type : string
description: 'Custom user for SSH access (default : git).'
custom_port :
2025-12-11 08:41:54 +00:00
type : integer
2025-09-30 09:19:39 +00:00
description: 'Custom port for SSH access (default : 22 ).'
app_id :
type : integer
description : 'GitHub App ID from GitHub.'
installation_id :
type : integer
description : 'GitHub Installation ID.'
client_id :
2025-12-11 08:41:54 +00:00
type : string
2025-09-30 09:19:39 +00:00
description : 'GitHub OAuth App Client ID.'
client_secret :
2025-12-11 08:41:54 +00:00
type : string
2025-09-30 09:19:39 +00:00
description : 'GitHub OAuth App Client Secret.'
webhook_secret :
2025-12-11 08:41:54 +00:00
type : string
2025-09-30 09:19:39 +00:00
description : 'Webhook secret for GitHub webhooks.'
private_key_uuid :
type : string
description : 'UUID of an existing private key for GitHub App authentication.'
is_system_wide :
2025-12-11 08:41:54 +00:00
type : boolean
2025-09-30 09:19:39 +00:00
description : 'Is this app system-wide (cloud only).'
2025-12-11 08:41:54 +00:00
type : object
responses :
'201' :
2025-09-30 09:19:39 +00:00
description : 'GitHub app created successfully.'
2025-12-11 08:41:54 +00:00
content :
application/json :
schema :
properties :
2025-09-30 09:19:39 +00:00
id : { type : integer }
uuid : { type : string }
name : { type : string }
organization : { type: string, nullable : true }
api_url : { type : string }
html_url : { type : string }
custom_user : { type : string }
custom_port : { type : integer }
app_id : { type : integer }
installation_id : { type : integer }
client_id : { type : string }
private_key_id : { type : integer }
is_system_wide : { type : boolean }
team_id : { type : integer }
2025-12-11 08:41:54 +00:00
type : object
'400' :
$ref : '#/components/responses/400'
2025-09-30 09:19:39 +00:00
'401' :
$ref : '#/components/responses/401'
2025-12-11 08:41:54 +00:00
'422' :
$ref : '#/components/responses/422'
security :
-
bearerAuth : [ ]
2025-09-30 09:19:39 +00:00
'/github-apps/{github_app_id}/repositories' :
2024-07-06 12:34:15 +00:00
get :
2025-09-30 09:19:39 +00:00
tags :
- 'GitHub Apps'
summary : 'Load Repositories for a GitHub App'
description : 'Fetch repositories from GitHub for a given GitHub app.'
operationId : load-repositories
parameters :
-
name : github_app_id
in : path
description : 'GitHub App ID'
required : true
schema :
type : integer
responses :
'200' :
description : 'Repositories loaded successfully.'
content :
application/json :
schema :
properties :
2025-10-12 12:20:45 +00:00
repositories : { type: array, items : { type : object } }
2025-09-30 09:19:39 +00:00
type : object
'400' :
$ref : '#/components/responses/400'
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
'/github-apps/{github_app_id}/repositories/{owner}/{repo}/branches' :
get :
tags :
- 'GitHub Apps'
summary : 'Load Branches for a GitHub Repository'
description : 'Fetch branches from GitHub for a given repository.'
operationId : load-branches
parameters :
-
name : github_app_id
in : path
description : 'GitHub App ID'
required : true
schema :
type : integer
-
name : owner
in : path
description : 'Repository owner'
required : true
schema :
type : string
-
name : repo
in : path
description : 'Repository name'
required : true
schema :
type : string
responses :
'200' :
description : 'Branches loaded successfully.'
content :
application/json :
schema :
properties :
2025-10-12 12:20:45 +00:00
branches : { type: array, items : { type : object } }
2025-09-30 09:19:39 +00:00
type : object
'400' :
$ref : '#/components/responses/400'
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
'/github-apps/{github_app_id}' :
delete :
tags :
- 'GitHub Apps'
summary : 'Delete GitHub App'
description : "Delete a GitHub app if it's not being used by any applications."
operationId : deleteGithubApp
parameters :
-
name : github_app_id
in : path
description : 'GitHub App ID'
required : true
schema :
type : integer
responses :
'200' :
description : 'GitHub app deleted successfully'
content :
application/json :
schema :
properties :
message : { type: string, example : 'GitHub app deleted successfully' }
type : object
'401' :
description : Unauthorized
'404' :
description : 'GitHub app not found'
'409' :
description : 'Conflict - GitHub app is in use'
content :
application/json :
schema :
properties :
message : { type: string, example : 'This GitHub app is being used by 5 application(s). Please delete all applications first.' }
type : object
security :
-
bearerAuth : [ ]
patch :
tags :
- 'GitHub Apps'
summary : 'Update GitHub App'
description : 'Update an existing GitHub app.'
operationId : updateGithubApp
parameters :
-
name : github_app_id
in : path
description : 'GitHub App ID'
required : true
schema :
type : integer
requestBody :
required : true
content :
application/json :
schema :
properties :
name :
type : string
description : 'GitHub App name'
organization :
type : string
nullable : true
description : 'GitHub organization'
api_url :
type : string
description : 'GitHub API URL'
html_url :
type : string
description : 'GitHub HTML URL'
custom_user :
type : string
description : 'Custom user for SSH'
custom_port :
type : integer
description : 'Custom port for SSH'
app_id :
type : integer
description : 'GitHub App ID'
installation_id :
type : integer
description : 'GitHub Installation ID'
client_id :
type : string
description : 'GitHub Client ID'
client_secret :
type : string
description : 'GitHub Client Secret'
webhook_secret :
type : string
description : 'GitHub Webhook Secret'
private_key_uuid :
type : string
description : 'Private key UUID'
is_system_wide :
type : boolean
description : 'Is system wide (non-cloud instances only)'
type : object
responses :
'200' :
description : 'GitHub app updated successfully'
content :
application/json :
schema :
properties :
message : { type: string, example : 'GitHub app updated successfully' }
data : { type: object, description : 'Updated GitHub app data' }
type : object
'401' :
description : Unauthorized
'404' :
description : 'GitHub app not found'
'422' :
2025-10-12 12:20:45 +00:00
$ref : '#/components/responses/422'
2025-09-30 09:19:39 +00:00
security :
-
bearerAuth : [ ]
2025-12-11 08:41:54 +00:00
/hetzner/locations :
get :
tags :
- Hetzner
summary : 'Get Hetzner Locations'
description : 'Get all available Hetzner datacenter locations.'
operationId : get-hetzner-locations
parameters :
2025-12-11 11:08:12 +00:00
-
name : cloud_provider_token_uuid
in : query
description : 'Cloud provider token UUID. Required if cloud_provider_token_id is not provided.'
required : false
schema :
type : string
2025-12-11 08:41:54 +00:00
-
name : cloud_provider_token_id
in : query
2025-12-11 11:08:12 +00:00
description: 'Deprecated : Use cloud_provider_token_uuid instead. Cloud provider token UUID.'
required : false
deprecated : true
2025-12-11 08:41:54 +00:00
schema :
type : string
responses :
'200' :
description : 'List of Hetzner locations.'
content :
application/json :
schema :
type : array
items :
properties : { id : { type: integer }, name : { type: string }, description : { type: string }, country : { type: string }, city : { type: string }, latitude : { type: number }, longitude : { type : number } }
type : object
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
/hetzner/server-types :
get :
tags :
- Hetzner
summary : 'Get Hetzner Server Types'
description : 'Get all available Hetzner server types (instance sizes).'
operationId : get-hetzner-server-types
parameters :
2025-12-11 11:08:12 +00:00
-
name : cloud_provider_token_uuid
in : query
description : 'Cloud provider token UUID. Required if cloud_provider_token_id is not provided.'
required : false
schema :
type : string
2025-12-11 08:41:54 +00:00
-
name : cloud_provider_token_id
in : query
2025-12-11 11:08:12 +00:00
description: 'Deprecated : Use cloud_provider_token_uuid instead. Cloud provider token UUID.'
required : false
deprecated : true
2025-12-11 08:41:54 +00:00
schema :
type : string
responses :
'200' :
description : 'List of Hetzner server types.'
content :
application/json :
schema :
type : array
items :
2025-12-11 11:08:12 +00:00
properties : { id : { type: integer }, name : { type: string }, description : { type: string }, cores : { type: integer }, memory : { type: number }, disk : { type: integer }, prices : { type: array, items : { type: object, properties : { location : { type: string, description: 'Datacenter location name' }, price_hourly : { type: object, properties : { net : { type: string }, gross : { type: string } } }, price_monthly : { type: object, properties : { net : { type: string }, gross : { type : string } } } } } } }
2025-12-11 08:41:54 +00:00
type : object
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
/hetzner/images :
get :
tags :
- Hetzner
summary : 'Get Hetzner Images'
description : 'Get all available Hetzner system images (operating systems).'
operationId : get-hetzner-images
parameters :
2025-12-11 11:12:43 +00:00
-
name : cloud_provider_token_uuid
in : query
description : 'Cloud provider token UUID. Required if cloud_provider_token_id is not provided.'
required : false
schema :
type : string
2025-12-11 08:41:54 +00:00
-
name : cloud_provider_token_id
in : query
2025-12-11 11:12:43 +00:00
description: 'Deprecated : Use cloud_provider_token_uuid instead. Cloud provider token UUID.'
required : false
deprecated : true
2025-12-11 08:41:54 +00:00
schema :
type : string
responses :
'200' :
description : 'List of Hetzner images.'
content :
application/json :
schema :
type : array
items :
properties : { id : { type: integer }, name : { type: string }, description : { type: string }, type : { type: string }, os_flavor : { type: string }, os_version : { type: string }, architecture : { type : string } }
type : object
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
/hetzner/ssh-keys :
get :
tags :
- Hetzner
summary : 'Get Hetzner SSH Keys'
description : 'Get all SSH keys stored in the Hetzner account.'
operationId : get-hetzner-ssh-keys
parameters :
2025-12-11 11:12:43 +00:00
-
name : cloud_provider_token_uuid
in : query
description : 'Cloud provider token UUID. Required if cloud_provider_token_id is not provided.'
required : false
schema :
type : string
2025-12-11 08:41:54 +00:00
-
name : cloud_provider_token_id
in : query
2025-12-11 11:12:43 +00:00
description: 'Deprecated : Use cloud_provider_token_uuid instead. Cloud provider token UUID.'
required : false
deprecated : true
2025-12-11 08:41:54 +00:00
schema :
type : string
responses :
'200' :
description : 'List of Hetzner SSH keys.'
content :
application/json :
schema :
type : array
items :
properties : { id : { type: integer }, name : { type: string }, fingerprint : { type: string }, public_key : { type : string } }
type : object
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
/servers/hetzner :
post :
tags :
- Hetzner
summary : 'Create Hetzner Server'
description : 'Create a new server on Hetzner and register it in Coolify.'
operationId : create-hetzner-server
requestBody :
description : 'Hetzner server creation parameters'
required : true
content :
application/json :
schema :
required :
- location
- server_type
- image
- private_key_uuid
properties :
2025-12-11 11:12:43 +00:00
cloud_provider_token_uuid :
type : string
example : abc123
description : 'Cloud provider token UUID. Required if cloud_provider_token_id is not provided.'
2025-12-11 08:41:54 +00:00
cloud_provider_token_id :
type : string
example : abc123
2025-12-11 11:12:43 +00:00
description: 'Deprecated : Use cloud_provider_token_uuid instead. Cloud provider token UUID.'
deprecated : true
2025-12-11 08:41:54 +00:00
location :
type : string
example : nbg1
description : 'Hetzner location name'
server_type :
type : string
example : cx11
description : 'Hetzner server type name'
image :
type : integer
example : 15512617
description : 'Hetzner image ID'
name :
type : string
example : my-server
description : 'Server name (auto-generated if not provided)'
private_key_uuid :
type : string
example : xyz789
description : 'Private key UUID'
enable_ipv4 :
type : boolean
example : true
description: 'Enable IPv4 (default : true )'
enable_ipv6 :
type : boolean
example : true
description: 'Enable IPv6 (default : true )'
hetzner_ssh_key_ids :
type : array
items : { type : integer }
description : 'Additional Hetzner SSH key IDs'
cloud_init_script :
type : string
description : 'Cloud-init YAML script (optional)'
instant_validate :
type : boolean
example : false
description : 'Validate server immediately after creation'
type : object
responses :
'201' :
description : 'Hetzner server created.'
content :
application/json :
schema :
properties :
uuid : { type: string, example: og888os, description : 'The UUID of the server.' }
hetzner_server_id : { type: integer, description : 'The Hetzner server ID.' }
ip : { type: string, description : 'The server IP address.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
'422' :
$ref : '#/components/responses/422'
2025-12-11 11:08:12 +00:00
'429' :
$ref : '#/components/responses/429'
2025-12-11 08:41:54 +00:00
security :
-
bearerAuth : [ ]
2024-07-06 12:34:15 +00:00
/version :
get :
summary : Version
description : 'Get Coolify version.'
2024-09-04 08:09:10 +00:00
operationId : version
2024-07-06 12:34:15 +00:00
responses :
'200' :
description : 'Returns the version of the application'
content :
2025-10-12 12:20:45 +00:00
text/html :
2024-07-06 12:34:15 +00:00
schema :
type : string
example : v4.0.0
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
/enable :
get :
summary : 'Enable API'
description : 'Enable API (only with root permissions).'
2024-09-04 08:09:10 +00:00
operationId : enable-api
2024-07-06 12:34:15 +00:00
responses :
'200' :
description : 'Enable API.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'API enabled.' }
type : object
'403' :
description : 'You are not allowed to enable the API.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'You are not allowed to enable the API.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
/disable :
get :
summary : 'Disable API'
description : 'Disable API (only with root permissions).'
2024-09-04 08:09:10 +00:00
operationId : disable-api
2024-07-06 12:34:15 +00:00
responses :
'200' :
description : 'Disable API.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'API disabled.' }
type : object
'403' :
description : 'You are not allowed to disable the API.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'You are not allowed to disable the API.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
2024-10-19 10:57:29 +00:00
/health :
2024-07-06 12:34:15 +00:00
get :
summary : Healthcheck
description : 'Healthcheck endpoint.'
2024-09-04 08:09:10 +00:00
operationId : healthcheck
2024-07-06 12:34:15 +00:00
responses :
'200' :
description : 'Healthcheck endpoint.'
content :
2025-10-12 12:20:45 +00:00
text/html :
2024-07-06 12:34:15 +00:00
schema :
type : string
example : OK
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2024-07-09 08:45:10 +00:00
/projects :
get :
tags :
- Projects
summary : List
2024-09-10 06:49:25 +00:00
description : 'List projects.'
2024-09-04 08:09:10 +00:00
operationId : list-projects
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Get all projects.'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Project'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
2024-07-23 09:36:05 +00:00
post :
tags :
- Projects
2024-07-23 12:36:44 +00:00
summary : Create
2024-07-23 09:36:05 +00:00
description : 'Create Project.'
2024-09-04 08:09:10 +00:00
operationId : create-project
2024-07-23 09:36:05 +00:00
requestBody :
description : 'Project created.'
required : true
content :
application/json :
schema :
properties :
2024-09-02 09:05:58 +00:00
name :
2024-07-23 09:36:05 +00:00
type : string
description : 'The name of the project.'
description :
type : string
description : 'The description of the project.'
type : object
responses :
'201' :
description : 'Project created.'
content :
application/json :
schema :
properties :
2024-07-23 12:20:53 +00:00
uuid : { type: string, example: og888os, description : 'The UUID of the project.' }
2024-07-23 09:36:05 +00:00
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-23 09:36:05 +00:00
security :
-
bearerAuth : [ ]
2024-07-09 08:45:10 +00:00
'/projects/{uuid}' :
get :
tags :
- Projects
summary : Get
2024-09-10 06:49:25 +00:00
description : 'Get project by UUID.'
2024-09-04 08:09:10 +00:00
operationId : get-project-by-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
in : path
description : 'Project UUID'
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Project details'
content :
application/json :
schema :
$ref : '#/components/schemas/Project'
2024-07-06 12:34:15 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2024-07-09 08:45:10 +00:00
'404' :
description : 'Project not found.'
2024-07-06 12:34:15 +00:00
security :
-
bearerAuth : [ ]
2024-07-23 09:36:05 +00:00
delete :
tags :
- Projects
summary : Delete
description : 'Delete project by UUID.'
2024-09-04 08:09:10 +00:00
operationId : delete-project-by-uuid
2024-07-23 09:36:05 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
2024-07-06 12:34:15 +00:00
responses :
'200' :
2024-07-23 09:36:05 +00:00
description : 'Project deleted.'
2024-07-06 12:34:15 +00:00
content :
application/json :
schema :
properties :
2024-07-23 09:36:05 +00:00
message : { type: string, example : 'Project deleted.' }
2024-07-06 12:34:15 +00:00
type : object
2024-07-23 09:36:05 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-23 09:48:38 +00:00
security :
-
bearerAuth : [ ]
patch :
tags :
- Projects
2024-07-23 12:36:44 +00:00
summary : Update
2024-07-23 09:48:38 +00:00
description : 'Update Project.'
2024-09-04 08:09:10 +00:00
operationId : update-project-by-uuid
2025-04-09 16:52:12 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the project.'
required : true
schema :
type : string
2024-07-23 09:48:38 +00:00
requestBody :
description : 'Project updated.'
required : true
content :
application/json :
schema :
properties :
name :
type : string
description : 'The name of the project.'
description :
type : string
description : 'The description of the project.'
type : object
responses :
'201' :
description : 'Project updated.'
2024-07-06 12:34:15 +00:00
content :
application/json :
schema :
properties :
2024-07-23 09:48:38 +00:00
uuid : { type: string, example : og888os }
name : { type: string, example : 'Project Name' }
description : { type: string, example : 'Project Description' }
2024-07-06 12:34:15 +00:00
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2024-07-23 09:48:38 +00:00
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-06 12:34:15 +00:00
security :
-
bearerAuth : [ ]
2024-12-17 12:42:16 +00:00
'/projects/{uuid}/{environment_name_or_uuid}' :
2024-07-06 12:34:15 +00:00
get :
2024-07-09 08:45:10 +00:00
tags :
- Projects
summary : Environment
2024-12-17 12:42:16 +00:00
description : 'Get environment by name or UUID.'
operationId : get-environment-by-name-or-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
in : path
description : 'Project UUID'
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2024-07-09 08:45:10 +00:00
-
2024-12-17 12:42:16 +00:00
name : environment_name_or_uuid
2024-07-09 08:45:10 +00:00
in : path
2024-12-17 12:42:16 +00:00
description : 'Environment name or UUID'
2024-07-09 08:45:10 +00:00
required : true
schema :
type : string
2024-07-06 12:34:15 +00:00
responses :
'200' :
2024-11-12 09:27:36 +00:00
description : 'Environment details'
2024-07-09 08:45:10 +00:00
content :
application/json :
schema :
$ref : '#/components/schemas/Environment'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 08:45:10 +00:00
security :
-
bearerAuth : [ ]
2025-08-28 09:21:30 +00:00
'/projects/{uuid}/environments' :
get :
tags :
- Projects
summary : 'List Environments'
description : 'List all environments in a project.'
operationId : get-environments
parameters :
-
name : uuid
in : path
description : 'Project UUID'
required : true
schema :
type : string
responses :
'200' :
description : 'List of environments'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Environment'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
description : 'Project not found.'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2025-08-28 09:21:30 +00:00
security :
-
bearerAuth : [ ]
post :
tags :
- Projects
summary : 'Create Environment'
description : 'Create environment in project.'
operationId : create-environment
parameters :
-
name : uuid
in : path
description : 'Project UUID'
required : true
schema :
type : string
requestBody :
description : 'Environment created.'
required : true
content :
application/json :
schema :
properties :
name :
type : string
description : 'The name of the environment.'
type : object
responses :
'201' :
description : 'Environment created.'
2024-07-06 12:34:15 +00:00
content :
application/json :
schema :
properties :
2025-08-28 09:21:30 +00:00
uuid : { type: string, example: env123, description : 'The UUID of the environment.' }
2024-07-06 12:34:15 +00:00
type : object
2025-08-28 09:21:30 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
description : 'Project not found.'
'409' :
description : 'Environment with this name already exists.'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2025-08-28 09:21:30 +00:00
security :
-
bearerAuth : [ ]
'/projects/{uuid}/environments/{environment_name_or_uuid}' :
delete :
tags :
- Projects
summary : 'Delete Environment'
description : 'Delete environment by name or UUID. Environment must be empty.'
operationId : delete-environment
parameters :
-
name : uuid
in : path
description : 'Project UUID'
required : true
schema :
type : string
-
name : environment_name_or_uuid
in : path
description : 'Environment name or UUID'
required : true
schema :
type : string
responses :
'200' :
description : 'Environment deleted.'
2024-07-06 12:34:15 +00:00
content :
application/json :
schema :
properties :
2025-08-28 09:21:30 +00:00
message : { type: string, example : 'Environment deleted.' }
2024-07-06 12:34:15 +00:00
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
2025-08-28 09:21:30 +00:00
description : 'Environment has resources, so it cannot be deleted.'
'404' :
description : 'Project or environment not found.'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-06 12:34:15 +00:00
security :
-
bearerAuth : [ ]
2024-07-09 08:45:10 +00:00
/resources :
2024-07-06 12:34:15 +00:00
get :
2024-07-09 08:45:10 +00:00
tags :
- Resources
summary : List
description : 'Get all resources.'
2024-09-04 08:09:10 +00:00
operationId : list-resources
2024-07-06 12:34:15 +00:00
responses :
'200' :
2024-07-09 08:45:10 +00:00
description : 'Get all resources'
2024-07-06 12:34:15 +00:00
content :
2024-07-09 08:45:10 +00:00
application/json :
2024-07-06 12:34:15 +00:00
schema :
type : string
2024-07-09 08:45:10 +00:00
example : 'Content is very complex. Will be implemented later.'
2024-07-06 12:34:15 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2024-07-09 08:45:10 +00:00
security :
-
bearerAuth : [ ]
2026-02-18 10:53:58 +00:00
'/applications/{uuid}/scheduled-tasks' :
2024-07-09 08:45:10 +00:00
get :
tags :
2026-02-18 10:53:58 +00:00
- 'Scheduled Tasks'
summary : 'List Tasks'
description : 'List all scheduled tasks for an application.'
operationId : list-scheduled-tasks-by-application-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
2024-07-09 08:45:10 +00:00
responses :
'200' :
2026-02-18 10:53:58 +00:00
description : 'Get all scheduled tasks for an application.'
2024-07-09 08:45:10 +00:00
content :
application/json :
schema :
type : array
items :
2026-02-18 10:53:58 +00:00
$ref : '#/components/schemas/ScheduledTask'
2024-07-09 08:45:10 +00:00
'401' :
$ref : '#/components/responses/401'
2026-02-18 10:53:58 +00:00
'404' :
$ref : '#/components/responses/404'
2024-07-09 08:45:10 +00:00
security :
-
bearerAuth : [ ]
2024-07-23 09:36:05 +00:00
post :
tags :
2026-02-18 10:53:58 +00:00
- 'Scheduled Tasks'
summary : 'Create Task'
description : 'Create a new scheduled task for an application.'
operationId : create-scheduled-task-by-application-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the application.'
required : true
schema :
type : string
2024-07-23 09:36:05 +00:00
requestBody :
2026-02-18 10:53:58 +00:00
description : 'Scheduled task data'
2024-07-23 09:36:05 +00:00
required : true
content :
application/json :
schema :
2024-07-09 08:45:10 +00:00
required :
2026-02-18 10:53:58 +00:00
- name
- command
- frequency
2024-07-23 09:36:05 +00:00
properties :
2024-09-02 09:05:58 +00:00
name :
2024-07-23 09:36:05 +00:00
type : string
2026-02-18 10:53:58 +00:00
description : 'The name of the scheduled task.'
command :
2024-07-23 09:36:05 +00:00
type : string
2026-02-18 10:53:58 +00:00
description : 'The command to execute.'
frequency :
2024-07-09 08:45:10 +00:00
type : string
2026-02-18 10:53:58 +00:00
description : 'The frequency of the scheduled task.'
container :
type : string
nullable : true
description : 'The container where the command should be executed.'
timeout :
type : integer
description : 'The timeout of the scheduled task in seconds.'
default : 300
enabled :
type : boolean
description : 'The flag to indicate if the scheduled task is enabled.'
default : true
2024-07-23 09:36:05 +00:00
type : object
responses :
'201' :
2026-02-18 10:53:58 +00:00
description : 'Scheduled task created.'
2024-07-23 09:36:05 +00:00
content :
application/json :
schema :
2026-02-18 10:53:58 +00:00
$ref : '#/components/schemas/ScheduledTask'
2024-07-23 09:36:05 +00:00
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-23 09:36:05 +00:00
security :
-
bearerAuth : [ ]
2026-02-18 10:53:58 +00:00
'/applications/{uuid}/scheduled-tasks/{task_uuid}' :
delete :
2024-07-09 08:45:10 +00:00
tags :
2026-02-18 10:53:58 +00:00
- 'Scheduled Tasks'
summary : 'Delete Task'
description : 'Delete a scheduled task for an application.'
operationId : delete-scheduled-task-by-application-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
in : path
2026-02-18 10:53:58 +00:00
description : 'UUID of the application.'
2024-07-09 08:45:10 +00:00
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2024-07-23 09:36:05 +00:00
-
2026-02-18 10:53:58 +00:00
name : task_uuid
2024-07-23 09:36:05 +00:00
in : path
2026-02-18 10:53:58 +00:00
description : 'UUID of the scheduled task.'
2024-07-23 09:36:05 +00:00
required : true
schema :
type : string
responses :
'200' :
2026-02-18 10:53:58 +00:00
description : 'Scheduled task deleted.'
2024-07-23 09:36:05 +00:00
content :
application/json :
schema :
properties :
2026-02-18 10:53:58 +00:00
message : { type: string, example : 'Scheduled task deleted.' }
2024-07-23 09:36:05 +00:00
type : object
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
2024-07-23 09:48:38 +00:00
security :
-
bearerAuth : [ ]
patch :
tags :
2026-02-18 10:53:58 +00:00
- 'Scheduled Tasks'
summary : 'Update Task'
description : 'Update a scheduled task for an application.'
operationId : update-scheduled-task-by-application-uuid
2025-04-09 16:52:12 +00:00
parameters :
-
name : uuid
in : path
2026-02-18 10:53:58 +00:00
description : 'UUID of the application.'
required : true
schema :
type : string
-
name : task_uuid
in : path
description : 'UUID of the scheduled task.'
2025-04-09 16:52:12 +00:00
required : true
schema :
type : string
2024-07-23 09:48:38 +00:00
requestBody :
2026-02-18 10:53:58 +00:00
description : 'Scheduled task data'
2024-07-23 09:48:38 +00:00
required : true
content :
application/json :
schema :
properties :
name :
type : string
2026-02-18 10:53:58 +00:00
description : 'The name of the scheduled task.'
command :
2024-07-23 09:48:38 +00:00
type : string
2026-02-18 10:53:58 +00:00
description : 'The command to execute.'
frequency :
type : string
description : 'The frequency of the scheduled task.'
container :
type : string
nullable : true
description : 'The container where the command should be executed.'
timeout :
type : integer
description : 'The timeout of the scheduled task in seconds.'
default : 300
enabled :
type : boolean
description : 'The flag to indicate if the scheduled task is enabled.'
default : true
2024-07-23 09:48:38 +00:00
type : object
responses :
2026-02-18 10:53:58 +00:00
'200' :
description : 'Scheduled task updated.'
2024-07-23 09:48:38 +00:00
content :
application/json :
schema :
2026-02-18 10:53:58 +00:00
$ref : '#/components/schemas/ScheduledTask'
2024-07-23 09:48:38 +00:00
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-23 09:36:05 +00:00
security :
-
bearerAuth : [ ]
2026-02-18 10:53:58 +00:00
'/applications/{uuid}/scheduled-tasks/{task_uuid}/executions' :
2024-07-09 08:45:10 +00:00
get :
tags :
2026-02-18 10:53:58 +00:00
- 'Scheduled Tasks'
summary : 'List Executions'
description : 'List all executions for a scheduled task on an application.'
operationId : list-scheduled-task-executions-by-application-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
in : path
2026-02-18 10:53:58 +00:00
description : 'UUID of the application.'
2024-07-09 08:45:10 +00:00
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2024-07-09 08:45:10 +00:00
-
2026-02-18 10:53:58 +00:00
name : task_uuid
2024-07-09 08:45:10 +00:00
in : path
2026-02-18 10:53:58 +00:00
description : 'UUID of the scheduled task.'
2024-07-09 08:45:10 +00:00
required : true
schema :
type : string
responses :
'200' :
2026-02-18 10:53:58 +00:00
description : 'Get all executions for a scheduled task.'
2024-07-09 08:45:10 +00:00
content :
application/json :
schema :
2026-02-18 10:53:58 +00:00
type : array
items :
$ref : '#/components/schemas/ScheduledTaskExecution'
2024-07-09 08:45:10 +00:00
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2026-02-18 10:53:58 +00:00
'/services/{uuid}/scheduled-tasks' :
2025-08-28 09:21:30 +00:00
get :
tags :
2026-02-18 10:53:58 +00:00
- 'Scheduled Tasks'
summary : 'List Tasks'
description : 'List all scheduled tasks for a service.'
operationId : list-scheduled-tasks-by-service-uuid
2025-08-28 09:21:30 +00:00
parameters :
-
name : uuid
in : path
2026-02-18 10:53:58 +00:00
description : 'UUID of the service.'
2025-08-28 09:21:30 +00:00
required : true
schema :
type : string
responses :
'200' :
2026-02-18 10:53:58 +00:00
description : 'Get all scheduled tasks for a service.'
2025-08-28 09:21:30 +00:00
content :
application/json :
schema :
type : array
items :
2026-02-18 10:53:58 +00:00
$ref : '#/components/schemas/ScheduledTask'
2025-08-28 09:21:30 +00:00
'401' :
$ref : '#/components/responses/401'
'404' :
2026-02-18 10:53:58 +00:00
$ref : '#/components/responses/404'
2025-08-28 09:21:30 +00:00
security :
-
bearerAuth : [ ]
post :
tags :
2026-02-18 10:53:58 +00:00
- 'Scheduled Tasks'
summary : 'Create Task'
description : 'Create a new scheduled task for a service.'
operationId : create-scheduled-task-by-service-uuid
2025-08-28 09:21:30 +00:00
parameters :
-
name : uuid
in : path
2026-02-18 10:53:58 +00:00
description : 'UUID of the service.'
2025-08-28 09:21:30 +00:00
required : true
schema :
type : string
requestBody :
2026-02-18 10:53:58 +00:00
description : 'Scheduled task data'
2025-08-28 09:21:30 +00:00
required : true
content :
application/json :
schema :
2026-02-18 10:53:58 +00:00
required :
- name
- command
- frequency
2025-08-28 09:21:30 +00:00
properties :
name :
type : string
2026-02-18 10:53:58 +00:00
description : 'The name of the scheduled task.'
command :
type : string
description : 'The command to execute.'
frequency :
type : string
description : 'The frequency of the scheduled task.'
container :
type : string
nullable : true
description : 'The container where the command should be executed.'
timeout :
type : integer
description : 'The timeout of the scheduled task in seconds.'
default : 300
enabled :
type : boolean
description : 'The flag to indicate if the scheduled task is enabled.'
default : true
2025-08-28 09:21:30 +00:00
type : object
responses :
'201' :
2026-02-18 10:53:58 +00:00
description : 'Scheduled task created.'
2025-08-28 09:21:30 +00:00
content :
application/json :
schema :
2026-02-18 10:53:58 +00:00
$ref : '#/components/schemas/ScheduledTask'
2025-08-28 09:21:30 +00:00
'401' :
$ref : '#/components/responses/401'
'404' :
2026-02-18 10:53:58 +00:00
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2025-08-28 09:21:30 +00:00
security :
-
bearerAuth : [ ]
2026-02-18 10:53:58 +00:00
'/services/{uuid}/scheduled-tasks/{task_uuid}' :
2025-08-28 09:21:30 +00:00
delete :
tags :
2026-02-18 10:53:58 +00:00
- 'Scheduled Tasks'
summary : 'Delete Task'
description : 'Delete a scheduled task for a service.'
operationId : delete-scheduled-task-by-service-uuid
2025-08-28 09:21:30 +00:00
parameters :
-
name : uuid
in : path
2026-02-18 10:53:58 +00:00
description : 'UUID of the service.'
2025-08-28 09:21:30 +00:00
required : true
schema :
type : string
-
2026-02-18 10:53:58 +00:00
name : task_uuid
2025-08-28 09:21:30 +00:00
in : path
2026-02-18 10:53:58 +00:00
description : 'UUID of the scheduled task.'
2025-08-28 09:21:30 +00:00
required : true
schema :
type : string
responses :
'200' :
2026-02-18 10:53:58 +00:00
description : 'Scheduled task deleted.'
2025-08-28 09:21:30 +00:00
content :
application/json :
schema :
properties :
2026-02-18 10:53:58 +00:00
message : { type: string, example : 'Scheduled task deleted.' }
2025-08-28 09:21:30 +00:00
type : object
'401' :
$ref : '#/components/responses/401'
'404' :
2026-02-18 10:53:58 +00:00
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
patch :
tags :
- 'Scheduled Tasks'
summary : 'Update Task'
description : 'Update a scheduled task for a service.'
operationId : update-scheduled-task-by-service-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
-
name : task_uuid
in : path
description : 'UUID of the scheduled task.'
required : true
schema :
type : string
requestBody :
description : 'Scheduled task data'
required : true
content :
application/json :
schema :
properties :
name :
type : string
description : 'The name of the scheduled task.'
command :
type : string
description : 'The command to execute.'
frequency :
type : string
description : 'The frequency of the scheduled task.'
container :
type : string
nullable : true
description : 'The container where the command should be executed.'
timeout :
type : integer
description : 'The timeout of the scheduled task in seconds.'
default : 300
enabled :
type : boolean
description : 'The flag to indicate if the scheduled task is enabled.'
default : true
type : object
responses :
'200' :
description : 'Scheduled task updated.'
content :
application/json :
schema :
$ref : '#/components/schemas/ScheduledTask'
'401' :
$ref : '#/components/responses/401'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2025-08-28 09:21:30 +00:00
security :
-
bearerAuth : [ ]
2026-02-18 10:53:58 +00:00
'/services/{uuid}/scheduled-tasks/{task_uuid}/executions' :
2024-07-09 08:45:10 +00:00
get :
tags :
2026-02-18 10:53:58 +00:00
- 'Scheduled Tasks'
summary : 'List Executions'
description : 'List all executions for a scheduled task on a service.'
operationId : list-scheduled-task-executions-by-service-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
-
name : task_uuid
in : path
description : 'UUID of the scheduled task.'
required : true
schema :
type : string
2024-07-09 08:45:10 +00:00
responses :
'200' :
2026-02-18 10:53:58 +00:00
description : 'Get all executions for a scheduled task.'
2024-07-09 08:45:10 +00:00
content :
application/json :
schema :
2026-02-18 10:53:58 +00:00
type : array
items :
$ref : '#/components/schemas/ScheduledTaskExecution'
2024-07-09 08:45:10 +00:00
'401' :
$ref : '#/components/responses/401'
2026-02-18 10:53:58 +00:00
'404' :
$ref : '#/components/responses/404'
2024-07-09 08:45:10 +00:00
security :
-
bearerAuth : [ ]
/security/keys :
get :
tags :
- 'Private Keys'
summary : List
description : 'List all private keys.'
2024-09-04 08:09:10 +00:00
operationId : list-private-keys
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Get all private keys.'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/PrivateKey'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
post :
tags :
- 'Private Keys'
summary : Create
description : 'Create a new private key.'
2024-09-04 08:09:10 +00:00
operationId : create-private-key
2024-07-09 08:45:10 +00:00
requestBody :
required : true
content :
application/json :
schema :
required :
- private_key
properties :
name :
type : string
description :
type : string
private_key :
type : string
type : object
additionalProperties : false
responses :
'201' :
description : "The created private key's UUID."
content :
application/json :
schema :
properties :
uuid : { type : string }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 08:45:10 +00:00
security :
-
bearerAuth : [ ]
patch :
tags :
- 'Private Keys'
summary : Update
description : 'Update a private key.'
2024-09-04 08:09:10 +00:00
operationId : update-private-key
2024-07-09 08:45:10 +00:00
requestBody :
required : true
content :
application/json :
schema :
required :
- private_key
properties :
name :
type : string
description :
type : string
private_key :
type : string
type : object
additionalProperties : false
responses :
'201' :
description : "The updated private key's UUID."
content :
application/json :
schema :
properties :
uuid : { type : string }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 08:45:10 +00:00
security :
-
bearerAuth : [ ]
'/security/keys/{uuid}' :
get :
tags :
- 'Private Keys'
summary : Get
description : 'Get key by UUID.'
2024-09-04 08:09:10 +00:00
operationId : get-private-key-by-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
in : path
2024-09-10 06:49:25 +00:00
description : 'Private Key UUID'
2024-07-09 08:45:10 +00:00
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Get all private keys.'
content :
application/json :
schema :
2024-11-03 12:41:14 +00:00
$ref : '#/components/schemas/PrivateKey'
2024-07-09 08:45:10 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
description : 'Private Key not found.'
security :
-
bearerAuth : [ ]
delete :
tags :
- 'Private Keys'
summary : Delete
description : 'Delete a private key.'
2024-09-04 08:09:10 +00:00
operationId : delete-private-key-by-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
in : path
2024-09-10 06:49:25 +00:00
description : 'Private Key UUID'
2024-07-09 08:45:10 +00:00
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Private Key deleted.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Private Key deleted.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
description : 'Private Key not found.'
2025-04-09 16:52:12 +00:00
'422' :
description : 'Private Key is in use and cannot be deleted.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Private Key is in use and cannot be deleted.' }
type : object
2024-07-09 08:45:10 +00:00
security :
-
bearerAuth : [ ]
/servers :
get :
tags :
- Servers
summary : List
description : 'List all servers.'
2024-09-04 08:09:10 +00:00
operationId : list-servers
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Get all servers.'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Server'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
2024-07-23 12:20:53 +00:00
post :
tags :
- Servers
2024-07-23 12:36:44 +00:00
summary : Create
2024-07-23 12:20:53 +00:00
description : 'Create Server.'
2024-09-04 08:09:10 +00:00
operationId : create-server
2024-07-23 12:20:53 +00:00
requestBody :
description : 'Server created.'
required : true
content :
application/json :
schema :
properties :
name :
type : string
example : 'My Server'
description : 'The name of the server.'
description :
type : string
example : 'My Server Description'
description : 'The description of the server.'
ip :
type : string
example : 127.0 .0 .1
description : 'The IP of the server.'
port :
type : integer
example : 22
description : 'The port of the server.'
user :
type : string
example : root
description : 'The user of the server.'
private_key_uuid :
type : string
example : og888os
description : 'The UUID of the private key.'
is_build_server :
type : boolean
example : false
description : 'Is build server.'
instant_validate :
type : boolean
example : false
description : 'Instant validate.'
2024-11-12 13:30:05 +00:00
proxy_type :
type : string
enum : [ traefik, caddy, none]
example : traefik
description : 'The proxy type.'
2024-07-23 12:20:53 +00:00
type : object
responses :
'201' :
description : 'Server created.'
content :
application/json :
schema :
properties :
uuid : { type: string, example: og888os, description : 'The UUID of the server.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-23 12:20:53 +00:00
security :
-
bearerAuth : [ ]
2024-07-09 08:45:10 +00:00
'/servers/{uuid}' :
get :
tags :
- Servers
summary : Get
description : 'Get server by UUID.'
2024-09-04 08:09:10 +00:00
operationId : get-server-by-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
in : path
2024-09-10 06:49:25 +00:00
description : "Server's UUID"
2024-07-09 08:45:10 +00:00
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Get server by UUID'
content :
application/json :
schema :
$ref : '#/components/schemas/Server'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2024-07-23 12:20:53 +00:00
delete :
tags :
- Servers
summary : Delete
description : 'Delete server by UUID.'
2024-09-04 08:09:10 +00:00
operationId : delete-server-by-uuid
2024-07-23 12:20:53 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the server.'
required : true
schema :
type : string
responses :
'200' :
description : 'Server deleted.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Server deleted.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-23 12:20:53 +00:00
security :
-
bearerAuth : [ ]
patch :
tags :
- Servers
2024-07-23 12:36:44 +00:00
summary : Update
2024-07-23 12:20:53 +00:00
description : 'Update Server.'
2024-09-04 08:09:10 +00:00
operationId : update-server-by-uuid
2024-11-23 01:40:22 +00:00
parameters :
-
name : uuid
in : path
description : 'Server UUID'
required : true
schema :
type : string
2024-07-23 12:20:53 +00:00
requestBody :
description : 'Server updated.'
required : true
content :
application/json :
schema :
properties :
name :
type : string
description : 'The name of the server.'
description :
type : string
description : 'The description of the server.'
ip :
type : string
description : 'The IP of the server.'
port :
type : integer
description : 'The port of the server.'
user :
type : string
description : 'The user of the server.'
private_key_uuid :
type : string
description : 'The UUID of the private key.'
is_build_server :
type : boolean
description : 'Is build server.'
instant_validate :
type : boolean
description : 'Instant validate.'
2024-11-12 13:30:05 +00:00
proxy_type :
type : string
enum : [ traefik, caddy, none]
description : 'The proxy type.'
2026-03-31 07:29:36 +00:00
concurrent_builds :
type : integer
description : 'Number of concurrent builds.'
dynamic_timeout :
type : integer
description : 'Deployment timeout in seconds.'
deployment_queue_limit :
type : integer
description : 'Maximum number of queued deployments.'
server_disk_usage_notification_threshold :
type : integer
description : 'Server disk usage notification threshold (%).'
server_disk_usage_check_frequency :
type : string
description : 'Cron expression for disk usage check frequency.'
2024-07-23 12:20:53 +00:00
type : object
responses :
'201' :
description : 'Server updated.'
content :
application/json :
schema :
2024-11-23 01:17:38 +00:00
$ref : '#/components/schemas/Server'
2024-07-23 12:20:53 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-23 12:20:53 +00:00
security :
-
bearerAuth : [ ]
2024-07-09 08:45:10 +00:00
'/servers/{uuid}/resources' :
get :
tags :
- Servers
summary : Resources
description : 'Get resources by server.'
2024-09-04 08:09:10 +00:00
operationId : get-resources-by-server-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
in : path
2024-09-10 06:49:25 +00:00
description : "Server's UUID"
2024-07-09 08:45:10 +00:00
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Get resources by server'
content :
application/json :
schema :
type : array
items :
properties : { id : { type: integer }, uuid : { type: string }, name : { type: string }, type : { type: string }, created_at : { type: string }, updated_at : { type: string }, status : { type : string } }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
'/servers/{uuid}/domains' :
get :
tags :
- Servers
summary : Domains
description : 'Get domains by server.'
2024-09-04 08:09:10 +00:00
operationId : get-domains-by-server-uuid
2024-07-09 08:45:10 +00:00
parameters :
-
name : uuid
in : path
2024-09-10 06:49:25 +00:00
description : "Server's UUID"
2024-07-09 08:45:10 +00:00
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Get domains by server'
content :
application/json :
schema :
type : array
items :
properties : { ip : { type: string }, domains : { type: array, items : { type : string } } }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2024-07-06 12:34:15 +00:00
security :
-
bearerAuth : [ ]
2024-07-23 12:20:53 +00:00
'/servers/{uuid}/validate' :
get :
tags :
- Servers
summary : Validate
description : 'Validate server by UUID.'
2024-09-04 08:09:10 +00:00
operationId : validate-server-by-uuid
2024-07-23 12:20:53 +00:00
parameters :
-
name : uuid
in : path
description : 'Server UUID'
required : true
schema :
2024-07-24 19:10:32 +00:00
type : string
2024-07-23 12:20:53 +00:00
responses :
'201' :
description : 'Server validation started.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Validation started.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-23 12:20:53 +00:00
security :
-
bearerAuth : [ ]
2024-07-09 11:30:13 +00:00
/services :
get :
tags :
- Services
summary : List
description : 'List all services.'
2024-09-04 08:09:10 +00:00
operationId : list-services
2024-07-09 11:30:13 +00:00
responses :
'200' :
description : 'Get all services'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Service'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
post :
tags :
- Services
2025-03-31 15:38:54 +00:00
summary : 'Create service'
description : 'Create a one-click / custom service'
2024-09-04 08:09:10 +00:00
operationId : create-service
2024-07-09 11:30:13 +00:00
requestBody :
required : true
content :
application/json :
schema :
required :
- server_uuid
- project_uuid
- environment_name
2024-12-17 12:42:16 +00:00
- environment_uuid
2024-07-09 11:30:13 +00:00
properties :
type :
2026-01-10 21:31:06 +00:00
description : 'The one-click service type (e.g. "actualbudget", "calibre-web", "gitea-with-mysql" ...)'
2024-07-09 11:30:13 +00:00
type : string
2024-07-09 11:59:54 +00:00
name :
2024-07-09 11:30:13 +00:00
type : string
2024-07-09 11:59:54 +00:00
maxLength : 255
description : 'Name of the service.'
description :
type : string
nullable : true
description : 'Description of the service.'
2024-07-09 11:30:13 +00:00
project_uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'Project UUID.'
2024-07-09 11:30:13 +00:00
environment_name :
type : string
2024-12-17 12:42:16 +00:00
description : 'Environment name. You need to provide at least one of environment_name or environment_uuid.'
environment_uuid :
type : string
description : 'Environment UUID. You need to provide at least one of environment_name or environment_uuid.'
2024-07-09 11:59:54 +00:00
server_uuid :
2024-07-09 11:30:13 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Server UUID.'
destination_uuid :
2024-07-09 11:30:13 +00:00
type : string
2024-07-09 11:59:54 +00:00
description : 'Destination UUID. Required if server has multiple destinations.'
2024-07-09 11:30:13 +00:00
instant_deploy :
type : boolean
2024-07-09 11:59:54 +00:00
default : false
description : 'Start the service immediately after creation.'
2025-04-03 14:02:59 +00:00
docker_compose_raw :
type : string
2026-01-10 21:31:06 +00:00
description : 'The base64 encoded Docker Compose content.'
2026-01-11 21:19:09 +00:00
urls :
type : array
description : 'Array of URLs to be applied to containers of a service.'
2026-01-14 13:50:48 +00:00
items : { properties : { name : { type: string, description: 'The service name as defined in docker-compose.' }, url : { type: string, description : 'Comma-separated list of URLs (e.g. "http://app.coolify.io,https://app2.coolify.io").' } }, type : object }
2026-01-13 18:25:58 +00:00
force_domain_override :
type : boolean
default : false
description : 'Force domain override even if conflicts are detected.'
2026-03-13 15:58:26 +00:00
is_container_label_escape_enabled :
type : boolean
default : true
description : 'Escape special characters in labels. By default, $ (and other chars) is escaped. If you want to use env variables inside the labels, turn this off.'
2024-07-09 11:30:13 +00:00
type : object
responses :
'201' :
2025-03-19 08:22:34 +00:00
description : 'Service created successfully.'
2024-07-09 11:30:13 +00:00
content :
application/json :
schema :
properties :
2024-07-09 11:59:54 +00:00
uuid : { type: string, description : 'Service UUID.' }
domains : { type: array, items : { type: string }, description : 'Service domains.' }
2024-07-09 11:30:13 +00:00
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
2026-01-13 18:25:58 +00:00
'409' :
description : 'Domain conflicts detected.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Domain conflicts detected. Use force_domain_override=true to proceed.' }
warning : { type: string, example : 'Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior.' }
conflicts : { type: array, items : { properties : { domain : { type: string, example: example.com }, resource_name : { type: string, example: 'My Application' }, resource_uuid : { type: string, nullable: true, example: abc123-def456 }, resource_type : { type: string, enum: [application, service, instance], example: application }, message : { type: string, example : "Domain example.com is already in use by application 'My Application'" } }, type : object } }
type : object
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-07-09 11:30:13 +00:00
security :
-
bearerAuth : [ ]
'/services/{uuid}' :
get :
tags :
- Services
summary : Get
description : 'Get service by UUID.'
2024-09-04 08:09:10 +00:00
operationId : get-service-by-uuid
2024-07-09 11:30:13 +00:00
parameters :
-
name : uuid
in : path
description : 'Service UUID'
required : true
schema :
type : string
responses :
'200' :
2024-09-10 06:49:25 +00:00
description : 'Get a service by UUID.'
2024-07-09 11:30:13 +00:00
content :
application/json :
schema :
$ref : '#/components/schemas/Service'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
delete :
tags :
- Services
summary : Delete
description : 'Delete service by UUID.'
2024-09-04 08:09:10 +00:00
operationId : delete-service-by-uuid
2024-07-09 11:30:13 +00:00
parameters :
-
name : uuid
in : path
description : 'Service UUID'
required : true
schema :
type : string
2024-10-01 07:02:29 +00:00
-
name : delete_configurations
in : query
description : 'Delete configurations.'
required : false
schema :
type : boolean
default : true
-
name : delete_volumes
in : query
description : 'Delete volumes.'
required : false
schema :
type : boolean
default : true
-
name : docker_cleanup
in : query
description : 'Run docker cleanup.'
required : false
schema :
type : boolean
default : true
-
name : delete_connected_networks
in : query
description : 'Delete connected networks.'
required : false
schema :
type : boolean
default : true
2024-07-09 11:30:13 +00:00
responses :
'200' :
2024-09-10 06:49:25 +00:00
description : 'Delete a service by UUID'
2024-07-09 11:30:13 +00:00
content :
application/json :
schema :
properties :
message : { type: string, example : 'Service deletion request queued.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2025-03-20 06:28:28 +00:00
patch :
tags :
- Services
summary : Update
description : 'Update service by UUID.'
operationId : update-service-by-uuid
2025-04-09 16:52:12 +00:00
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
2025-03-20 06:28:28 +00:00
requestBody :
description : 'Service updated.'
required : true
content :
application/json :
schema :
properties :
name :
type : string
description : 'The service name.'
description :
type : string
description : 'The service description.'
project_uuid :
type : string
description : 'The project UUID.'
environment_name :
type : string
description : 'The environment name.'
environment_uuid :
type : string
description : 'The environment UUID.'
server_uuid :
type : string
description : 'The server UUID.'
destination_uuid :
type : string
description : 'The destination UUID.'
instant_deploy :
type : boolean
description : 'The flag to indicate if the service should be deployed instantly.'
connect_to_docker_network :
type : boolean
default : false
2025-03-31 15:38:54 +00:00
description : 'Connect the service to the predefined docker network.'
2025-03-20 06:28:28 +00:00
docker_compose_raw :
type : string
2026-01-10 21:31:06 +00:00
description : 'The base64 encoded Docker Compose content.'
2026-01-11 21:19:09 +00:00
urls :
type : array
description : 'Array of URLs to be applied to containers of a service.'
2026-01-14 13:50:48 +00:00
items : { properties : { name : { type: string, description: 'The service name as defined in docker-compose.' }, url : { type: string, description : 'Comma-separated list of URLs (e.g. "http://app.coolify.io,https://app2.coolify.io").' } }, type : object }
2026-01-13 18:25:58 +00:00
force_domain_override :
type : boolean
default : false
description : 'Force domain override even if conflicts are detected.'
2026-03-13 15:58:26 +00:00
is_container_label_escape_enabled :
type : boolean
default : true
description : 'Escape special characters in labels. By default, $ (and other chars) is escaped. If you want to use env variables inside the labels, turn this off.'
2025-03-20 06:28:28 +00:00
type : object
responses :
'200' :
description : 'Service updated.'
content :
application/json :
schema :
properties :
uuid : { type: string, description : 'Service UUID.' }
domains : { type: array, items : { type: string }, description : 'Service domains.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2026-01-13 18:25:58 +00:00
'409' :
description : 'Domain conflicts detected.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Domain conflicts detected. Use force_domain_override=true to proceed.' }
warning : { type: string, example : 'Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior.' }
conflicts : { type: array, items : { properties : { domain : { type: string, example: example.com }, resource_name : { type: string, example: 'My Application' }, resource_uuid : { type: string, nullable: true, example: abc123-def456 }, resource_type : { type: string, enum: [application, service, instance], example: application }, message : { type: string, example : "Domain example.com is already in use by application 'My Application'" } }, type : object } }
type : object
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2025-03-20 06:28:28 +00:00
security :
-
bearerAuth : [ ]
2024-09-05 20:36:19 +00:00
'/services/{uuid}/envs' :
get :
tags :
- Services
summary : 'List Envs'
description : 'List all envs by service UUID.'
operationId : list-envs-by-service-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
responses :
'200' :
description : 'All environment variables by service UUID.'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/EnvironmentVariable'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
post :
tags :
- Services
summary : 'Create Env'
description : 'Create env by service UUID.'
operationId : create-env-by-service-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
requestBody :
description : 'Env created.'
required : true
content :
application/json :
schema :
properties :
key :
type : string
description : 'The key of the environment variable.'
value :
type : string
description : 'The value of the environment variable.'
is_preview :
type : boolean
description : 'The flag to indicate if the environment variable is used in preview deployments.'
is_literal :
type : boolean
description : 'The flag to indicate if the environment variable is a literal, nothing espaced.'
is_multiline :
type : boolean
description : 'The flag to indicate if the environment variable is multiline.'
is_shown_once :
type : boolean
description : "The flag to indicate if the environment variable's value is shown on the UI."
type : object
responses :
'201' :
description : 'Environment variable created.'
content :
application/json :
schema :
properties :
uuid : { type: string, example : nc0k04gk8g0cgsk440g0koko }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-09-05 20:36:19 +00:00
security :
-
bearerAuth : [ ]
patch :
tags :
- Services
summary : 'Update Env'
description : 'Update env by service UUID.'
operationId : update-env-by-service-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
requestBody :
description : 'Env updated.'
required : true
content :
application/json :
schema :
required :
- key
- value
properties :
key :
type : string
description : 'The key of the environment variable.'
value :
type : string
description : 'The value of the environment variable.'
is_preview :
type : boolean
description : 'The flag to indicate if the environment variable is used in preview deployments.'
is_literal :
type : boolean
description : 'The flag to indicate if the environment variable is a literal, nothing espaced.'
is_multiline :
type : boolean
description : 'The flag to indicate if the environment variable is multiline.'
is_shown_once :
type : boolean
description : "The flag to indicate if the environment variable's value is shown on the UI."
type : object
responses :
'201' :
description : 'Environment variable updated.'
content :
application/json :
schema :
2026-02-09 13:48:16 +00:00
$ref : '#/components/schemas/EnvironmentVariable'
2024-09-05 20:36:19 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-09-05 20:36:19 +00:00
security :
-
bearerAuth : [ ]
'/services/{uuid}/envs/bulk' :
patch :
tags :
- Services
summary : 'Update Envs (Bulk)'
description : 'Update multiple envs by service UUID.'
operationId : update-envs-by-service-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
requestBody :
description : 'Bulk envs updated.'
required : true
content :
application/json :
schema :
required :
- data
properties :
data :
type : array
2025-09-11 14:48:00 +00:00
items : { properties : { key : { type: string, description: 'The key of the environment variable.' }, value : { type: string, description: 'The value of the environment variable.' }, is_preview : { type: boolean, description: 'The flag to indicate if the environment variable is used in preview deployments.' }, is_literal : { type: boolean, description: 'The flag to indicate if the environment variable is a literal, nothing espaced.' }, is_multiline : { type: boolean, description: 'The flag to indicate if the environment variable is multiline.' }, is_shown_once : { type: boolean, description : "The flag to indicate if the environment variable's value is shown on the UI." } }, type : object }
2024-09-05 20:36:19 +00:00
type : object
responses :
'201' :
description : 'Environment variables updated.'
content :
application/json :
schema :
2026-02-09 13:48:16 +00:00
type : array
items :
$ref : '#/components/schemas/EnvironmentVariable'
2024-09-05 20:36:19 +00:00
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
2025-10-12 12:20:45 +00:00
'422' :
$ref : '#/components/responses/422'
2024-09-05 20:36:19 +00:00
security :
-
bearerAuth : [ ]
'/services/{uuid}/envs/{env_uuid}' :
delete :
tags :
- Services
summary : 'Delete Env'
description : 'Delete env by UUID.'
operationId : delete-env-by-service-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
-
name : env_uuid
in : path
description : 'UUID of the environment variable.'
required : true
schema :
type : string
responses :
'200' :
description : 'Environment variable deleted.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Environment variable deleted.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2024-09-10 06:49:25 +00:00
'/services/{uuid}/start' :
get :
tags :
- Services
summary : Start
description : 'Start service. `Post` request is also accepted.'
operationId : start-service-by-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
responses :
'200' :
description : 'Start service.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Service starting request queued.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
'/services/{uuid}/stop' :
get :
tags :
- Services
summary : Stop
description : 'Stop service. `Post` request is also accepted.'
operationId : stop-service-by-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
2026-03-11 11:01:02 +00:00
-
name : docker_cleanup
in : query
description : 'Perform docker cleanup (prune networks, volumes, etc.).'
schema :
type : boolean
default : true
2024-09-10 06:49:25 +00:00
responses :
'200' :
description : 'Stop service.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Service stopping request queued.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
'/services/{uuid}/restart' :
get :
tags :
- Services
summary : Restart
description : 'Restart service. `Post` request is also accepted.'
operationId : restart-service-by-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
2025-05-27 13:10:20 +00:00
-
name : latest
in : query
description : 'Pull latest images.'
schema :
type : boolean
default : false
2024-09-10 06:49:25 +00:00
responses :
'200' :
description : 'Restart service.'
content :
application/json :
schema :
properties :
message : { type: string, example : 'Service restaring request queued.' }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2026-03-23 14:15:02 +00:00
'/services/{uuid}/storages' :
get :
tags :
- Services
summary : 'List Storages'
description : 'List all persistent storages and file storages by service UUID.'
operationId : list-storages-by-service-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
responses :
'200' :
description : 'All storages by service UUID.'
content :
application/json :
schema :
properties :
persistent_storages : { type: array, items : { type : object } }
file_storages : { type: array, items : { type : object } }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
post :
tags :
- Services
summary : 'Create Storage'
description : 'Create a persistent storage or file storage for a service sub-resource.'
operationId : create-storage-by-service-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
requestBody :
required : true
content :
application/json :
schema :
required :
- type
- mount_path
- resource_uuid
properties :
type :
type : string
enum : [ persistent, file]
description : 'The type of storage.'
resource_uuid :
type : string
description : 'UUID of the service application or database sub-resource.'
name :
type : string
description : 'Volume name (persistent only, required for persistent).'
mount_path :
type : string
description : 'The container mount path.'
host_path :
type : string
nullable : true
description : 'The host path (persistent only, optional).'
content :
type : string
nullable : true
description : 'File content (file only, optional).'
is_directory :
type : boolean
description : 'Whether this is a directory mount (file only, default false).'
fs_path :
type : string
description : 'Host directory path (required when is_directory is true).'
type : object
additionalProperties : false
responses :
'201' :
description : 'Storage created.'
content :
application/json :
schema :
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
'422' :
$ref : '#/components/responses/422'
security :
-
bearerAuth : [ ]
patch :
tags :
- Services
summary : 'Update Storage'
description : 'Update a persistent storage or file storage by service UUID.'
operationId : update-storage-by-service-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
requestBody :
description : 'Storage updated. For read-only storages (from docker-compose or services), only is_preview_suffix_enabled can be updated.'
required : true
content :
application/json :
schema :
required :
- type
properties :
uuid :
type : string
description : 'The UUID of the storage (preferred).'
id :
type : integer
description : 'The ID of the storage (deprecated, use uuid instead).'
type :
type : string
enum : [ persistent, file]
description: 'The type of storage : persistent or file.'
is_preview_suffix_enabled :
type : boolean
description : 'Whether to add -pr-N suffix for preview deployments.'
name :
type : string
description : 'The volume name (persistent only, not allowed for read-only storages).'
mount_path :
type : string
description : 'The container mount path (not allowed for read-only storages).'
host_path :
type : string
nullable : true
description : 'The host path (persistent only, not allowed for read-only storages).'
content :
type : string
nullable : true
description : 'The file content (file only, not allowed for read-only storages).'
type : object
additionalProperties : false
responses :
'200' :
description : 'Storage updated.'
content :
application/json :
schema :
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
'422' :
$ref : '#/components/responses/422'
security :
-
bearerAuth : [ ]
'/services/{uuid}/storages/{storage_uuid}' :
delete :
tags :
- Services
summary : 'Delete Storage'
description : 'Delete a persistent storage or file storage by service UUID.'
operationId : delete-storage-by-service-uuid
parameters :
-
name : uuid
in : path
description : 'UUID of the service.'
required : true
schema :
type : string
-
name : storage_uuid
in : path
description : 'UUID of the storage.'
required : true
schema :
type : string
responses :
'200' :
description : 'Storage deleted.'
content :
application/json :
schema :
properties :
message : { type : string }
type : object
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
'422' :
$ref : '#/components/responses/422'
security :
-
bearerAuth : [ ]
2024-07-05 14:08:01 +00:00
/teams :
get :
2024-07-06 12:34:15 +00:00
tags :
- Teams
summary : List
description : 'Get all teams.'
2024-09-04 08:09:10 +00:00
operationId : list-teams
2024-07-05 14:08:01 +00:00
responses :
'200' :
2024-07-06 12:34:15 +00:00
description : 'List of teams.'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Team'
2024-07-05 14:08:01 +00:00
'401' :
2024-07-06 12:34:15 +00:00
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
2024-07-05 14:08:01 +00:00
'/teams/{id}' :
get :
2024-07-06 12:34:15 +00:00
tags :
- Teams
summary : Get
description : 'Get team by TeamId.'
2024-09-04 08:09:10 +00:00
operationId : get-team-by-id
2024-07-05 14:08:01 +00:00
parameters :
-
name : id
in : path
description : 'Team ID'
required : true
schema :
type : integer
responses :
'200' :
2024-07-06 12:34:15 +00:00
description : 'List of teams.'
2024-07-05 14:08:01 +00:00
content :
application/json :
schema :
2024-07-06 12:34:15 +00:00
$ref : '#/components/schemas/Team'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
2024-07-09 08:45:10 +00:00
'/teams/{id}/members' :
get :
tags :
- Teams
summary : Members
description : 'Get members by TeamId.'
2024-09-04 08:09:10 +00:00
operationId : get-members-by-team-id
2024-07-09 08:45:10 +00:00
parameters :
-
name : id
in : path
description : 'Team ID'
required : true
schema :
type : integer
responses :
'200' :
description : 'List of members.'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/User'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
'404' :
$ref : '#/components/responses/404'
security :
-
bearerAuth : [ ]
/teams/current :
get :
tags :
- Teams
summary : 'Authenticated Team'
description : 'Get currently authenticated team.'
2024-09-04 08:09:10 +00:00
operationId : get-current-team
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Current Team.'
content :
application/json :
schema :
$ref : '#/components/schemas/Team'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
/teams/current/members :
get :
tags :
- Teams
summary : 'Authenticated Team Members'
description : 'Get currently authenticated team members.'
2024-09-04 08:09:10 +00:00
operationId : get-current-team-members
2024-07-09 08:45:10 +00:00
responses :
'200' :
description : 'Currently authenticated team members.'
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/User'
'401' :
$ref : '#/components/responses/401'
'400' :
$ref : '#/components/responses/400'
security :
-
bearerAuth : [ ]
2024-07-05 14:08:01 +00:00
components :
2024-07-06 12:34:15 +00:00
schemas :
2024-07-09 08:45:10 +00:00
Application :
description : 'Application model'
properties :
id :
type : integer
2024-07-09 11:59:54 +00:00
description : 'The application identifier in the database.'
description :
type : string
nullable : true
description : 'The application description.'
2024-07-09 08:45:10 +00:00
repository_project_id :
type : integer
nullable : true
2024-07-09 11:59:54 +00:00
description : 'The repository project identifier.'
2024-07-09 08:45:10 +00:00
uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'The application UUID.'
2024-07-09 08:45:10 +00:00
name :
type : string
2024-07-09 11:59:54 +00:00
description : 'The application name.'
2024-07-09 08:45:10 +00:00
fqdn :
type : string
2024-07-09 11:59:54 +00:00
nullable : true
description : 'The application domains.'
2024-07-09 08:45:10 +00:00
config_hash :
type : string
2024-07-09 11:59:54 +00:00
description : 'Configuration hash.'
2024-07-09 08:45:10 +00:00
git_repository :
type : string
2024-07-09 11:59:54 +00:00
description : 'Git repository URL.'
2024-07-09 08:45:10 +00:00
git_branch :
type : string
2024-07-09 11:59:54 +00:00
description : 'Git branch.'
2024-07-09 08:45:10 +00:00
git_commit_sha :
type : string
2024-07-09 11:59:54 +00:00
description : 'Git commit SHA.'
2024-07-09 08:45:10 +00:00
git_full_url :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Git full URL.'
2024-07-09 08:45:10 +00:00
docker_registry_image_name :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Docker registry image name.'
2024-07-09 08:45:10 +00:00
docker_registry_image_tag :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Docker registry image tag.'
2024-07-09 08:45:10 +00:00
build_pack :
type : string
2024-07-09 11:59:54 +00:00
description : 'Build pack.'
enum :
- nixpacks
- static
- dockerfile
- dockercompose
2024-07-09 08:45:10 +00:00
static_image :
type : string
2024-07-09 11:59:54 +00:00
description : 'Static image used when static site is deployed.'
2024-07-09 08:45:10 +00:00
install_command :
type : string
2024-07-09 11:59:54 +00:00
description : 'Install command.'
2024-07-09 08:45:10 +00:00
build_command :
type : string
2024-07-09 11:59:54 +00:00
description : 'Build command.'
2024-07-09 08:45:10 +00:00
start_command :
type : string
2024-07-09 11:59:54 +00:00
description : 'Start command.'
2024-07-09 08:45:10 +00:00
ports_exposes :
type : string
2024-07-09 11:59:54 +00:00
description : 'Ports exposes.'
2024-07-09 08:45:10 +00:00
ports_mappings :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Ports mappings.'
2025-04-09 16:52:12 +00:00
custom_network_aliases :
type : string
nullable : true
description : 'Network aliases for Docker container.'
2024-07-09 08:45:10 +00:00
base_directory :
type : string
2024-07-09 11:59:54 +00:00
description : 'Base directory for all commands.'
2024-07-09 08:45:10 +00:00
publish_directory :
type : string
2024-07-09 11:59:54 +00:00
description : 'Publish directory.'
health_check_enabled :
type : boolean
description : 'Health check enabled.'
2024-07-09 08:45:10 +00:00
health_check_path :
type : string
2024-07-09 11:59:54 +00:00
description : 'Health check path.'
2024-07-09 08:45:10 +00:00
health_check_port :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Health check port.'
2024-07-09 08:45:10 +00:00
health_check_host :
type : string
2024-07-09 11:59:54 +00:00
nullable : true
description : 'Health check host.'
2024-07-09 08:45:10 +00:00
health_check_method :
type : string
2024-07-09 11:59:54 +00:00
description : 'Health check method.'
2024-07-09 08:45:10 +00:00
health_check_return_code :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Health check return code.'
2024-07-09 08:45:10 +00:00
health_check_scheme :
type : string
2024-07-09 11:59:54 +00:00
description : 'Health check scheme.'
2024-07-09 08:45:10 +00:00
health_check_response_text :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Health check response text.'
2024-07-09 08:45:10 +00:00
health_check_interval :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Health check interval in seconds.'
2024-07-09 08:45:10 +00:00
health_check_timeout :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Health check timeout in seconds.'
2024-07-09 08:45:10 +00:00
health_check_retries :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Health check retries count.'
2024-07-09 08:45:10 +00:00
health_check_start_period :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Health check start period in seconds.'
2025-12-25 07:56:19 +00:00
health_check_type :
type : string
description: 'Health check type : http or cmd.'
enum :
- http
- cmd
health_check_command :
type : string
nullable : true
description : 'Health check command for CMD type.'
2024-07-09 08:45:10 +00:00
limits_memory :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory limit.'
2024-07-09 08:45:10 +00:00
limits_memory_swap :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory swap limit.'
2024-07-09 08:45:10 +00:00
limits_memory_swappiness :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Memory swappiness.'
2024-07-09 08:45:10 +00:00
limits_memory_reservation :
type : string
2024-07-09 11:59:54 +00:00
description : 'Memory reservation.'
2024-07-09 08:45:10 +00:00
limits_cpus :
type : string
2024-07-09 11:59:54 +00:00
description : 'CPU limit.'
2024-07-09 08:45:10 +00:00
limits_cpuset :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'CPU set.'
2024-07-09 08:45:10 +00:00
limits_cpu_shares :
type : integer
2024-07-09 11:59:54 +00:00
description : 'CPU shares.'
2024-07-09 08:45:10 +00:00
status :
type : string
2024-07-09 11:59:54 +00:00
description : 'Application status.'
2024-07-09 08:45:10 +00:00
preview_url_template :
type : string
2024-07-09 11:59:54 +00:00
description : 'Preview URL template.'
2024-07-09 08:45:10 +00:00
destination_type :
type : string
2024-07-09 11:59:54 +00:00
description : 'Destination type.'
2024-07-09 08:45:10 +00:00
destination_id :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Destination identifier.'
2024-07-09 08:45:10 +00:00
source_id :
type : integer
2024-07-09 11:59:54 +00:00
nullable : true
description : 'Source identifier.'
2024-07-09 08:45:10 +00:00
private_key_id :
type : integer
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Private key identifier.'
2024-07-09 08:45:10 +00:00
environment_id :
type : integer
2024-07-09 11:59:54 +00:00
description : 'Environment identifier.'
2024-07-09 08:45:10 +00:00
dockerfile :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Dockerfile content. Used for dockerfile build pack.'
2024-07-09 08:45:10 +00:00
dockerfile_location :
type : string
2024-07-09 11:59:54 +00:00
description : 'Dockerfile location.'
2024-07-09 08:45:10 +00:00
custom_labels :
type : string
2024-07-09 11:59:54 +00:00
nullable : true
description : 'Custom labels.'
2024-07-09 08:45:10 +00:00
dockerfile_target_build :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Dockerfile target build.'
2024-07-09 08:45:10 +00:00
manual_webhook_secret_github :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Manual webhook secret for GitHub.'
2024-07-09 08:45:10 +00:00
manual_webhook_secret_gitlab :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Manual webhook secret for GitLab.'
manual_webhook_secret_bitbucket :
type : string
nullable : true
description : 'Manual webhook secret for Bitbucket.'
manual_webhook_secret_gitea :
type : string
nullable : true
description : 'Manual webhook secret for Gitea.'
2024-07-09 08:45:10 +00:00
docker_compose_location :
type : string
2024-07-09 11:59:54 +00:00
description : 'Docker compose location.'
2024-07-09 08:45:10 +00:00
docker_compose :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Docker compose content. Used for docker compose build pack.'
2024-07-09 08:45:10 +00:00
docker_compose_raw :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Docker compose raw content.'
2024-07-09 08:45:10 +00:00
docker_compose_domains :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Docker compose domains.'
2024-07-09 08:45:10 +00:00
docker_compose_custom_start_command :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Docker compose custom start command.'
2024-07-09 08:45:10 +00:00
docker_compose_custom_build_command :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Docker compose custom build command.'
2024-07-09 08:45:10 +00:00
swarm_replicas :
type : integer
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Swarm replicas. Only used for swarm deployments.'
swarm_placement_constraints :
2024-07-09 08:45:10 +00:00
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Swarm placement constraints. Only used for swarm deployments.'
2024-07-09 08:45:10 +00:00
custom_docker_run_options :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Custom docker run options.'
2024-07-09 08:45:10 +00:00
post_deployment_command :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Post deployment command.'
2024-07-09 08:45:10 +00:00
post_deployment_command_container :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Post deployment command container.'
2024-07-09 08:45:10 +00:00
pre_deployment_command :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Pre deployment command.'
2024-07-09 08:45:10 +00:00
pre_deployment_command_container :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Pre deployment command container.'
2024-07-09 08:45:10 +00:00
watch_paths :
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'Watch paths.'
2024-07-09 08:45:10 +00:00
custom_healthcheck_found :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'Custom healthcheck found.'
redirect :
2024-07-09 08:45:10 +00:00
type : string
nullable : true
2024-07-09 11:59:54 +00:00
description : 'How to set redirect with Traefik / Caddy. www<->non-www.'
enum :
- www
- non-www
- both
created_at :
type : string
format : date-time
description : 'The date and time when the application was created.'
updated_at :
2024-07-09 08:45:10 +00:00
type : string
2024-07-09 11:59:54 +00:00
format : date-time
description : 'The date and time when the application was last updated.'
deleted_at :
type : string
format : date-time
nullable : true
description : 'The date and time when the application was deleted.'
2024-07-11 10:38:54 +00:00
compose_parsing_version :
type : string
description : 'How Coolify parse the compose file.'
2024-11-12 09:27:36 +00:00
custom_nginx_configuration :
type : string
nullable : true
description : 'Custom Nginx configuration base64 encoded.'
2025-04-23 11:22:01 +00:00
is_http_basic_auth_enabled :
2025-04-23 09:59:01 +00:00
type : boolean
description : 'HTTP Basic Authentication enabled.'
http_basic_auth_username :
type : string
nullable : true
description : 'Username for HTTP Basic Authentication'
http_basic_auth_password :
type : string
nullable : true
description : 'Password for HTTP Basic Authentication'
2024-07-09 08:45:10 +00:00
type : object
ApplicationDeploymentQueue :
description : 'Project model'
properties :
id :
type : integer
application_id :
type : string
deployment_uuid :
type : string
pull_request_id :
type : integer
2026-03-30 11:10:49 +00:00
docker_registry_image_tag :
type : string
nullable : true
2024-07-09 08:45:10 +00:00
force_rebuild :
type : boolean
commit :
type : string
status :
type : string
is_webhook :
type : boolean
is_api :
type : boolean
created_at :
type : string
updated_at :
type : string
logs :
type : string
current_process_id :
type : string
restart_only :
type : boolean
git_type :
type : string
server_id :
type : integer
application_name :
type : string
server_name :
type : string
deployment_url :
type : string
destination_id :
type : string
only_this_server :
type : boolean
rollback :
type : boolean
commit_message :
type : string
type : object
Environment :
description : 'Environment model'
properties :
id :
type : integer
name :
type : string
project_id :
type : integer
created_at :
type : string
updated_at :
type : string
description :
type : string
type : object
2024-07-09 11:19:21 +00:00
EnvironmentVariable :
description : 'Environment Variable model'
properties :
id :
type : integer
uuid :
type : string
2024-12-17 12:42:16 +00:00
resourceable_type :
type : string
resourceable_id :
2024-07-09 11:19:21 +00:00
type : integer
is_literal :
type : boolean
is_multiline :
type : boolean
is_preview :
type : boolean
2025-09-18 14:51:08 +00:00
is_runtime :
type : boolean
is_buildtime :
2025-09-11 15:37:40 +00:00
type : boolean
2024-07-09 11:19:21 +00:00
is_shared :
type : boolean
is_shown_once :
type : boolean
key :
type : string
value :
type : string
real_value :
type : string
2025-11-18 09:10:29 +00:00
comment :
type : string
nullable : true
2024-07-09 11:19:21 +00:00
version :
type : string
created_at :
type : string
updated_at :
type : string
type : object
2024-07-09 08:45:10 +00:00
PrivateKey :
description : 'Private Key model'
properties :
id :
type : integer
uuid :
type : string
name :
type : string
description :
type : string
private_key :
type : string
format : private-key
2025-04-22 08:44:37 +00:00
public_key :
type : string
2025-04-23 09:59:01 +00:00
description : 'The public key of the private key.'
2025-04-22 08:44:37 +00:00
fingerprint :
type : string
2025-04-23 09:59:01 +00:00
description : 'The fingerprint of the private key.'
2024-07-09 08:45:10 +00:00
is_git_related :
type : boolean
team_id :
type : integer
created_at :
type : string
updated_at :
type : string
type : object
Project :
description : 'Project model'
properties :
id :
type : integer
uuid :
type : string
name :
type : string
2024-09-10 06:49:25 +00:00
description :
type : string
2024-07-09 08:45:10 +00:00
type : object
2026-02-18 10:53:58 +00:00
ScheduledTask :
description : 'Scheduled Task model'
properties :
id :
type : integer
description : 'The unique identifier of the scheduled task in the database.'
uuid :
type : string
description : 'The unique identifier of the scheduled task.'
enabled :
type : boolean
description : 'The flag to indicate if the scheduled task is enabled.'
name :
type : string
description : 'The name of the scheduled task.'
command :
type : string
description : 'The command to execute.'
frequency :
type : string
description : 'The frequency of the scheduled task.'
container :
type : string
nullable : true
description : 'The container where the command should be executed.'
timeout :
type : integer
description : 'The timeout of the scheduled task in seconds.'
created_at :
type : string
format : date-time
description : 'The date and time when the scheduled task was created.'
updated_at :
type : string
format : date-time
description : 'The date and time when the scheduled task was last updated.'
type : object
ScheduledTaskExecution :
description : 'Scheduled Task Execution model'
properties :
uuid :
type : string
description : 'The unique identifier of the execution.'
status :
type : string
enum :
- success
- failed
- running
description : 'The status of the execution.'
message :
type : string
nullable : true
description : 'The output message of the execution.'
retry_count :
type : integer
description : 'The number of retries.'
duration :
type : number
nullable : true
description : 'Duration in seconds.'
started_at :
type : string
format : date-time
nullable : true
description : 'When the execution started.'
finished_at :
type : string
format : date-time
nullable : true
description : 'When the execution finished.'
created_at :
type : string
format : date-time
description : 'When the record was created.'
updated_at :
type : string
format : date-time
description : 'When the record was last updated.'
2024-07-09 08:45:10 +00:00
type : object
Server :
2024-07-23 12:20:53 +00:00
description : 'Server model'
2024-07-09 08:45:10 +00:00
properties :
id :
type : integer
2024-11-12 13:30:05 +00:00
description : 'The server ID.'
2024-07-09 08:45:10 +00:00
uuid :
type : string
2024-11-12 13:30:05 +00:00
description : 'The server UUID.'
2024-07-09 08:45:10 +00:00
name :
type : string
2024-11-12 13:30:05 +00:00
description : 'The server name.'
2024-07-23 12:20:53 +00:00
description :
2024-07-09 08:45:10 +00:00
type : string
2024-11-12 13:30:05 +00:00
description : 'The server description.'
2024-07-23 12:20:53 +00:00
ip :
2024-07-09 08:45:10 +00:00
type : string
2024-11-12 13:30:05 +00:00
description : 'The IP address.'
2024-07-23 12:20:53 +00:00
user :
2024-07-09 08:45:10 +00:00
type : string
2024-11-12 13:30:05 +00:00
description : 'The user.'
2024-07-23 12:20:53 +00:00
port :
2024-07-09 08:45:10 +00:00
type : integer
2024-11-12 13:30:05 +00:00
description : 'The port number.'
2024-07-23 12:20:53 +00:00
proxy :
type : object
2024-11-12 13:30:05 +00:00
description : 'The proxy configuration.'
proxy_type :
type : string
enum :
- traefik
- caddy
- none
description : 'The proxy type.'
2024-07-23 12:20:53 +00:00
high_disk_usage_notification_sent :
2024-07-09 08:45:10 +00:00
type : boolean
2024-11-12 13:30:05 +00:00
description : 'The flag to indicate if the high disk usage notification has been sent.'
2024-07-23 12:20:53 +00:00
unreachable_notification_sent :
type : boolean
2024-11-12 13:30:05 +00:00
description : 'The flag to indicate if the unreachable notification has been sent.'
2024-07-23 12:20:53 +00:00
unreachable_count :
2024-07-09 08:45:10 +00:00
type : integer
2024-11-12 13:30:05 +00:00
description : 'The unreachable count for your server.'
2024-07-23 12:20:53 +00:00
validation_logs :
2024-07-09 08:45:10 +00:00
type : string
2024-11-12 13:30:05 +00:00
description : 'The validation logs.'
2024-07-23 12:20:53 +00:00
log_drain_notification_sent :
2024-07-09 08:45:10 +00:00
type : boolean
2024-11-12 13:30:05 +00:00
description : 'The flag to indicate if the log drain notification has been sent.'
2024-07-23 12:20:53 +00:00
swarm_cluster :
2024-07-09 08:45:10 +00:00
type : string
2024-11-12 13:30:05 +00:00
description : 'The swarm cluster configuration.'
2024-11-23 01:44:04 +00:00
settings :
$ref : '#/components/schemas/ServerSetting'
2024-07-09 08:45:10 +00:00
type : object
ServerSetting :
description : 'Server Settings model'
properties :
id :
type : integer
concurrent_builds :
type : integer
2025-12-04 12:52:27 +00:00
deployment_queue_limit :
type : integer
2024-07-09 08:45:10 +00:00
dynamic_timeout :
type : integer
force_disabled :
type : boolean
2024-08-26 10:23:03 +00:00
force_server_cleanup :
type : boolean
2024-07-09 08:45:10 +00:00
is_build_server :
type : boolean
is_cloudflare_tunnel :
type : boolean
is_jump_server :
type : boolean
is_logdrain_axiom_enabled :
type : boolean
is_logdrain_custom_enabled :
type : boolean
is_logdrain_highlight_enabled :
type : boolean
is_logdrain_newrelic_enabled :
type : boolean
is_metrics_enabled :
type : boolean
is_reachable :
type : boolean
2024-10-15 11:39:19 +00:00
is_sentinel_enabled :
2024-07-09 08:45:10 +00:00
type : boolean
is_swarm_manager :
type : boolean
is_swarm_worker :
type : boolean
2025-08-28 09:21:30 +00:00
is_terminal_enabled :
type : boolean
2024-07-09 08:45:10 +00:00
is_usable :
type : boolean
logdrain_axiom_api_key :
type : string
logdrain_axiom_dataset_name :
type : string
logdrain_custom_config :
type : string
logdrain_custom_config_parser :
type : string
logdrain_highlight_project_id :
type : string
logdrain_newrelic_base_uri :
type : string
logdrain_newrelic_license_key :
type : string
2024-10-14 10:07:37 +00:00
sentinel_metrics_history_days :
2024-07-09 08:45:10 +00:00
type : integer
2024-10-21 12:50:44 +00:00
sentinel_metrics_refresh_rate_seconds :
type : integer
2024-10-14 10:07:37 +00:00
sentinel_token :
2024-07-09 08:45:10 +00:00
type : string
2024-08-26 10:23:03 +00:00
docker_cleanup_frequency :
type : string
docker_cleanup_threshold :
type : integer
2024-07-09 08:45:10 +00:00
server_id :
type : integer
wildcard_domain :
type : string
created_at :
type : string
updated_at :
type : string
2024-11-23 02:11:48 +00:00
delete_unused_volumes :
type : boolean
description : 'The flag to indicate if the unused volumes should be deleted.'
delete_unused_networks :
type : boolean
description : 'The flag to indicate if the unused networks should be deleted.'
2024-07-09 08:45:10 +00:00
type : object
2024-07-09 11:30:13 +00:00
Service :
description : 'Service model'
properties :
id :
type : integer
2024-07-09 11:59:54 +00:00
description : 'The unique identifier of the service. Only used for database identification.'
2024-07-09 11:30:13 +00:00
uuid :
type : string
2024-07-09 11:59:54 +00:00
description : 'The unique identifier of the service.'
2024-07-09 11:30:13 +00:00
name :
type : string
2024-07-09 11:59:54 +00:00
description : 'The name of the service.'
2024-07-09 11:30:13 +00:00
environment_id :
type : integer
2024-07-09 11:59:54 +00:00
description : 'The unique identifier of the environment where the service is attached to.'
2024-07-09 11:30:13 +00:00
server_id :
type : integer
2024-07-09 11:59:54 +00:00
description : 'The unique identifier of the server where the service is running.'
2024-07-09 11:30:13 +00:00
description :
type : string
2024-07-09 11:59:54 +00:00
description : 'The description of the service.'
2024-07-09 11:30:13 +00:00
docker_compose_raw :
type : string
2024-07-09 11:59:54 +00:00
description : 'The raw docker-compose.yml file of the service.'
2024-07-09 11:30:13 +00:00
docker_compose :
type : string
2024-07-09 11:59:54 +00:00
description : 'The docker-compose.yml file that is parsed and modified by Coolify.'
2024-08-26 10:23:03 +00:00
destination_type :
type : string
description : 'Destination type.'
2024-07-09 11:30:13 +00:00
destination_id :
type : integer
2024-07-09 11:59:54 +00:00
description : 'The unique identifier of the destination where the service is running.'
2024-07-09 11:30:13 +00:00
connect_to_docker_network :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'The flag to connect the service to the predefined Docker network.'
is_container_label_escape_enabled :
type : boolean
description : 'The flag to enable the container label escape.'
2024-07-23 09:36:05 +00:00
is_container_label_readonly_enabled :
type : boolean
description : 'The flag to enable the container label readonly.'
2024-07-09 11:30:13 +00:00
config_hash :
type : string
2024-07-09 11:59:54 +00:00
description : 'The hash of the service configuration.'
2024-07-09 11:30:13 +00:00
service_type :
type : string
2024-07-09 11:59:54 +00:00
description : 'The type of the service.'
created_at :
type : string
description : 'The date and time when the service was created.'
updated_at :
type : string
description : 'The date and time when the service was last updated.'
deleted_at :
type : string
description : 'The date and time when the service was deleted.'
2024-07-09 11:30:13 +00:00
type : object
2024-07-06 12:34:15 +00:00
Team :
description : 'Team model'
properties :
id :
type : integer
description : 'The unique identifier of the team.'
name :
type : string
description : 'The name of the team.'
description :
type : string
description : 'The description of the team.'
personal_team :
type : boolean
description : 'Whether the team is personal or not.'
created_at :
type : string
description : 'The date and time the team was created.'
updated_at :
type : string
description : 'The date and time the team was last updated.'
show_boarding :
type : boolean
description : 'Whether to show the boarding screen or not.'
custom_server_limit :
type : string
description : 'The custom server limit.'
2024-07-09 08:45:10 +00:00
members :
description : 'The members of the team.'
type : array
items :
$ref : '#/components/schemas/User'
type : object
User :
description : 'User model'
properties :
id :
type : integer
2024-07-09 11:59:54 +00:00
description : 'The user identifier in the database.'
2024-07-09 08:45:10 +00:00
name :
type : string
2024-07-09 11:59:54 +00:00
description : 'The user name.'
2024-07-09 08:45:10 +00:00
email :
type : string
2024-07-09 11:59:54 +00:00
description : 'The user email.'
2024-07-09 08:45:10 +00:00
email_verified_at :
type : string
2024-07-09 11:59:54 +00:00
description : 'The date when the user email was verified.'
2024-07-09 08:45:10 +00:00
created_at :
type : string
2024-07-09 11:59:54 +00:00
description : 'The date when the user was created.'
2024-07-09 08:45:10 +00:00
updated_at :
type : string
2024-07-09 11:59:54 +00:00
description : 'The date when the user was updated.'
2024-07-09 08:45:10 +00:00
two_factor_confirmed_at :
type : string
2024-07-09 11:59:54 +00:00
description : 'The date when the user two factor was confirmed.'
2024-07-09 08:45:10 +00:00
force_password_reset :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'The flag to force the user to reset the password.'
2024-07-09 08:45:10 +00:00
marketing_emails :
type : boolean
2024-07-09 11:59:54 +00:00
description : 'The flag to receive marketing emails.'
2024-07-06 12:34:15 +00:00
type : object
responses :
2024-07-09 08:45:10 +00:00
'400' :
description : 'Invalid token.'
2024-07-06 12:34:15 +00:00
content :
application/json :
schema :
properties :
message :
type : string
2024-07-09 08:45:10 +00:00
example : 'Invalid token.'
2024-07-06 12:34:15 +00:00
type : object
2024-07-09 08:45:10 +00:00
'401' :
description : Unauthenticated.
2024-07-06 12:34:15 +00:00
content :
application/json :
schema :
properties :
message :
type : string
2024-07-09 08:45:10 +00:00
example : Unauthenticated.
2024-07-06 12:34:15 +00:00
type : object
'404' :
description : 'Resource not found.'
content :
application/json :
schema :
properties :
message :
type : string
2024-07-09 08:45:10 +00:00
example : 'Resource not found.'
2024-07-06 12:34:15 +00:00
type : object
2025-10-12 12:20:45 +00:00
'422' :
description : 'Validation error.'
content :
application/json :
schema :
properties :
message :
type : string
example : 'Validation error.'
errors :
type : object
example :
name : [ 'The name field is required.' ]
api_url : [ 'The api url field is required.' , 'The api url format is invalid.' ]
additionalProperties :
type : array
items : { type : string }
type : object
2025-12-11 11:08:12 +00:00
'429' :
description : 'Rate limit exceeded.'
headers :
Retry-After :
description : 'Number of seconds to wait before retrying.'
schema :
type : integer
example : 60
content :
application/json :
schema :
properties :
message :
type : string
example : 'Rate limit exceeded. Please try again later.'
type : object
2024-07-05 14:08:01 +00:00
securitySchemes :
bearerAuth :
type : http
2024-07-06 12:34:15 +00:00
description : 'Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token.'
2024-07-05 14:08:01 +00:00
scheme : bearer
2024-07-06 12:34:15 +00:00
tags :
2024-07-09 08:45:10 +00:00
-
name : Applications
description : Applications
2025-12-11 08:41:54 +00:00
-
name : 'Cloud Tokens'
description : 'Cloud Tokens'
2024-07-09 11:19:21 +00:00
-
name : Databases
description : Databases
2024-07-09 08:45:10 +00:00
-
name : Deployments
description : Deployments
2025-09-30 09:19:39 +00:00
-
name : 'GitHub Apps'
description : 'GitHub Apps'
2025-12-11 08:41:54 +00:00
-
name : Hetzner
description : Hetzner
2024-07-09 08:45:10 +00:00
-
name : Projects
description : Projects
-
name : Resources
description : Resources
2026-02-18 10:53:58 +00:00
-
name : 'Scheduled Tasks'
description : 'Scheduled Tasks'
2024-07-09 08:45:10 +00:00
-
name : 'Private Keys'
description : 'Private Keys'
-
name : Servers
description : Servers
2024-07-09 11:30:13 +00:00
-
name : Services
description : Services
2024-07-06 12:34:15 +00:00
-
name : Teams
description : Teams