Documentation
Documentation
https://coolify.io/docs/api-reference/authorization
Authentication
https://coolify.io/docs/api-reference/authorization
openapi: 3.1.0
info:
title: Coolify Applications Deployments API
version: '0.1'
description: Applications
servers:
- url: https://app.coolify.io/api/v1
description: Coolify Cloud API. Change the host to your own instance if you are self-hosting.
tags:
- name: Deployments
description: Deployments
paths:
/deployments:
get:
tags:
- Deployments
summary: List
description: List currently running deployments
operationId: list-deployments
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.
operationId: get-deployment-by-uuid
parameters:
- name: uuid
in: path
description: Deployment UUID
required: true
schema:
type: string
responses:
'200':
description: Get deployment by UUID.
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationDeploymentQueue'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404'
security:
- bearerAuth: []
/deployments/{uuid}/cancel:
post:
tags:
- Deployments
summary: Cancel
description: Cancel a deployment by UUID.
operationId: cancel-deployment-by-uuid
parameters:
- name: uuid
in: path
description: Deployment UUID
required: true
schema:
type: string
responses:
'200':
description: Deployment cancelled successfully.
content:
application/json:
schema:
properties:
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'
type: object
'401':
$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
'404':
$ref: '#/components/responses/404'
security:
- bearerAuth: []
/deploy:
get:
tags:
- Deployments
summary: Deploy
description: Deploy by tag or uuid. `Post` request also accepted with `uuid` and `tag` json body.
operationId: deploy-by-tag-or-uuid
parameters:
- name: tag
in: query
description: Tag name(s). Comma separated list is also accepted.
schema:
type: string
- name: uuid
in: query
description: Resource UUID(s). Comma separated list is also accepted.
schema:
type: string
- name: force
in: query
description: Force rebuild (without cache)
schema:
type: boolean
- name: pr
in: query
description: Pull Request Id for deploying specific PR builds. Cannot be used with tag parameter.
schema:
type: integer
- 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
responses:
'200':
description: Get deployment(s) UUID's
content:
application/json:
schema:
properties:
deployments:
type: array
items:
properties:
message:
type: string
resource_uuid:
type: string
deployment_uuid:
type: string
type: object
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
- bearerAuth: []
/deployments/applications/{uuid}:
get:
tags:
- Deployments
summary: List application deployments
description: List application deployments by using the app uuid
operationId: list-deployments-by-app-uuid
parameters:
- name: uuid
in: path
description: UUID of the application.
required: true
schema:
type: string
- name: skip
in: query
description: Number of records to skip.
required: false
schema:
type: integer
default: 0
minimum: 0
- name: take
in: query
description: Number of records to take.
required: false
schema:
type: integer
default: 10
minimum: 1
responses:
'200':
description: List application deployments by using the app uuid.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Application'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
- bearerAuth: []
components:
responses:
'400':
description: Invalid token.
content:
application/json:
schema:
properties:
message:
type: string
example: Invalid token.
type: object
'404':
description: Resource not found.
content:
application/json:
schema:
properties:
message:
type: string
example: Resource not found.
type: object
'401':
description: Unauthenticated.
content:
application/json:
schema:
properties:
message:
type: string
example: Unauthenticated.
type: object
schemas:
ApplicationDeploymentQueue:
description: Project model
properties:
id:
type: integer
application_id:
type: string
deployment_uuid:
type: string
pull_request_id:
type: integer
docker_registry_image_tag:
type: string
nullable: true
configuration_hash:
type: string
nullable: true
configuration_snapshot:
type: object
nullable: true
configuration_diff:
type: object
nullable: true
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
Application:
description: Application model
properties:
id:
type: integer
description: The application identifier in the database.
description:
type: string
nullable: true
description: The application description.
repository_project_id:
type: integer
nullable: true
description: The repository project identifier.
uuid:
type: string
description: The application UUID.
name:
type: string
description: The application name.
fqdn:
type: string
nullable: true
description: The application domains.
config_hash:
type: string
description: Configuration hash.
git_repository:
type: string
description: Git repository URL.
git_branch:
type: string
description: Git branch.
git_commit_sha:
type: string
description: Git commit SHA.
git_full_url:
type: string
nullable: true
description: Git full URL.
docker_registry_image_name:
type: string
nullable: true
description: Docker registry image name.
docker_registry_image_tag:
type: string
nullable: true
description: Docker registry image tag.
build_pack:
type: string
description: Build pack.
enum:
- nixpacks
- railpack
- static
- dockerfile
- dockercompose
static_image:
type: string
description: Static image used when static site is deployed.
install_command:
type: string
description: Install command.
build_command:
type: string
description: Build command.
start_command:
type: string
description: Start command.
ports_exposes:
type: string
description: Ports exposes.
ports_mappings:
type: string
nullable: true
description: Ports mappings.
custom_network_aliases:
type: string
nullable: true
description: Network aliases for Docker container.
base_directory:
type: string
description: Base directory for all commands.
publish_directory:
type: string
description: 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.
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.
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.
status:
type: string
description: Application status.
preview_url_template:
type: string
description: Preview URL template.
destination_type:
type: string
description: Destination type.
destination_id:
type: integer
description: Destination identifier.
source_id:
type: integer
nullable: true
description: Source identifier.
private_key_id:
type: integer
nullable: true
description: Private key identifier.
environment_id:
type: integer
description: Environment identifier.
dockerfile:
type: string
nullable: true
description: Dockerfile content. Used for dockerfile build pack.
dockerfile_location:
type: string
description: Dockerfile location.
custom_labels:
type: string
nullable: true
description: Custom labels.
dockerfile_target_build:
type: string
nullable: true
description: Dockerfile target build.
manual_webhook_secret_github:
type: string
nullable: true
description: Manual webhook secret for GitHub.
manual_webhook_secret_gitlab:
type: string
nullable: true
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.
docker_compose_location:
type: string
description: Docker compose location.
docker_compose:
type: string
nullable: true
description: Docker compose content. Used for docker compose build pack.
docker_compose_raw:
type: string
nullable: true
description: Docker compose raw content.
docker_compose_domains:
type: string
nullable: true
description: Docker compose domains.
docker_compose_custom_start_command:
type: string
nullable: true
description: Docker compose custom start command.
docker_compose_custom_build_command:
type: string
nullable: true
description: Docker compose custom build command.
swarm_replicas:
type: integer
nullable: true
description: Swarm replicas. Only used for swarm deployments.
swarm_placement_constraints:
type: string
nullable: true
description: Swarm placement constraints. Only used for swarm deployments.
custom_docker_run_options:
type: string
nullable: true
description: Custom docker run options.
post_deployment_command:
type: string
nullable: true
description: Post deployment command.
post_deployment_command_container:
type: string
nullable: true
description: Post deployment command container.
pre_deployment_command:
type: string
nullable: true
description: Pre deployment command.
pre_deployment_command_container:
type: string
nullable: true
description: Pre deployment command container.
watch_paths:
type: string
nullable: true
description: Watch paths.
custom_healthcheck_found:
type: boolean
description: Custom healthcheck found.
redirect:
type: string
nullable: true
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:
type: string
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.
compose_parsing_version:
type: string
description: How Coolify parse the compose file.
custom_nginx_configuration:
type: string
nullable: true
description: Custom Nginx configuration base64 encoded.
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
type: object
securitySchemes:
bearerAuth:
type: http
description: Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token.
scheme: bearer