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