Update
API server
https://app.coolify.io/api/v1Update application by UUID.
Authorization
bearerAuth Go to Keys & Tokens / API tokens and create a new token. Use the token as the bearer token.
In: header
Path Parameters
UUID of the application.
Request Body
application/json
Application updated.
TypeScript Definitions
Use the request body type in TypeScript.
The Github App UUID.
The git repository URL.
The git branch.
The ports to expose.
The build pack type.
"nixpacks" | "railpack" | "static" | "dockerfile" | "dockercompose"The application name.
The application description.
The application URLs in a comma-separated list.
The subset of the application domains served with an X-Robots-Tag: noindex, nofollow response header, keeping them out of search engines. Entries that are not among the application domains are ignored.
The git commit SHA.
The docker registry image name.
The docker registry image tag.
The flag to indicate if the application is static.
The flag to indicate if the application is a single-page application (SPA). Only relevant when is_static is true.
The flag to indicate if auto-deploy is enabled on git push. Defaults to true.
The flag to indicate if HTTPS is forced. Defaults to true.
Enable preview deployments for pull requests.
The install command.
The build command.
The start command.
The ports mappings.
The base directory for all commands.
The publish directory.
Health check enabled.
Health check path.
Health check port.
Health check host.
Health check method.
Health check return code.
Health check scheme.
Health check response text.
Health check interval in seconds.
Health check timeout in seconds.
Health check retries count.
Health check start period in seconds.
Memory limit.
Memory swap limit.
Memory swappiness.
Memory reservation.
CPU limit.
CPU set.
CPU shares.
Custom labels.
Custom docker run options.
Post deployment command.
Post deployment command container.
Pre deployment command.
Pre deployment command container.
Manual webhook secret for Github. Needs the deploy ability.
Manual webhook secret for Gitlab. Needs the deploy ability.
Manual webhook secret for Bitbucket. Needs the deploy ability.
Manual webhook secret for Gitea. Needs the deploy ability.
How to set redirect with Traefik / Caddy. www<->non-www.
"www" | "non-www" | "both"The flag to indicate if the application should be deployed instantly.
The Dockerfile content.
The Dockerfile location in the repository.
The Docker Compose location.
The Docker Compose custom start command.
The Docker Compose custom build command.
Array of URLs to be applied to containers of a dockercompose application.
Watch path patterns, one per line (newline-separated). Commas do not separate patterns.
Use build server.
Use Docker Build Secrets for build-time environment variables.
Clone Git submodules.
Enable Git LFS.
Use a shallow Git clone.
Disable the build cache.
Inject build arguments into the Dockerfile build.
Include the source commit in the build.
Sort environment variables.
Make pull request deployments public.
Container stop grace period in seconds.
1 <= value <= 3600Number of Docker images to retain.
0 <= value <= 100Enable gzip compression.
Enable path prefix stripping.
Use permanent redirects (301/308) instead of temporary (302/307) for the HTTP to HTTPS and www redirects. Defaults to false.
Traefik certificate resolver for this application. Null uses the server setting, "none" uses no resolver.
Deploy the raw Docker Compose definition.
Enable log drain for the application.
Enable GPU support.
GPU driver name.
Number of GPUs to allocate.
Comma-separated GPU device IDs.
Additional GPU options.
Use a consistent container name across deployments.
Custom internal container name. Turns is_consistent_container_name_enabled on when that field is not sent; sending it as false together with a name returns 422.
Prefix for generated container names (prefix-20260908T141530). Slugified and unique across the instance.
Preview URL template.
Maximum container restart count before stopping.
0 <= valueThe flag to connect the service to the predefined Docker network.
Force domain usage even if conflicts are detected. Default is false.
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.
truePreserve 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.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://app.coolify.io/api/v1/applications/string" \ -H "Content-Type: application/json" \ -d '{}'{ "uuid": "string"}{ "message": "Invalid token."}{ "message": "Unauthenticated."}{ "message": "Resource not found."}{ "message": "Domain conflicts detected. Use force_domain_override=true to proceed.", "warning": "Using the same domain for multiple resources can cause routing conflicts and unpredictable behavior.", "conflicts": [ { "domain": "example.com", "resource_name": "My Application", "resource_uuid": "abc123-def456", "resource_type": "application", "message": "Domain example.com is already in use by application 'My Application'" } ]}