Create new application based on a private repository through a Github App.
Authorization
bearerAuth Go to Keys & Tokens / API tokens and create a new token. Use the token as the bearer token.
In: header
Request Body
application/json
Application object that needs to be created.
TypeScript Definitions
Use the request body type in TypeScript.
The project UUID.
The server UUID.
The environment name. You need to provide at least one of environment_name or environment_uuid.
The environment UUID. You need to provide at least one of environment_name or environment_uuid.
The Github App UUID.
The git repository URL.
The git branch.
The ports to expose.
The destination UUID.
The build pack type.
"nixpacks" | "static" | "dockerfile" | "dockercompose"The application name.
The application description.
The application URLs in a comma-separated list.
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.
The static image.
"nginx:alpine"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.
Manual webhook secret for Gitlab.
Manual webhook secret for Bitbucket.
Manual webhook secret for Gitea.
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.
The watch paths.
Use build server.
HTTP Basic Authentication enabled.
Username for HTTP Basic Authentication
Password for HTTP Basic Authentication
The flag to connect the service to the predefined Docker network.
Force domain usage even if conflicts are detected. Default is false.
If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Default: true.
trueEscape 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.
trueResponse Body
application/json
application/json
application/json
application/json
curl -X POST "https://app.coolify.io/api/v1/applications/private-github-app" \ -H "Content-Type: application/json" \ -d '{ "project_uuid": "string", "server_uuid": "string", "environment_name": "string", "environment_uuid": "string", "github_app_uuid": "string", "git_repository": "string", "git_branch": "string", "ports_exposes": "string", "build_pack": "nixpacks" }'{ "uuid": "string"}{ "message": "Invalid token."}{ "message": "Unauthenticated."}{ "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'" } ]}