Coolify Deployments API

Deployments

OpenAPI Specification

coolify-deployments-api-openapi.yml Raw ↑
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